WeatherHelperTest.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. App::uses('WeatherHelper', 'Tools.View/Helper');
  3. App::uses('HtmlHelper', 'View/Helper');
  4. App::uses('View', 'View');
  5. App::uses('MyCakeTestCase', 'Tools.TestSuite');
  6. /**
  7. * 2010-06-24 ms
  8. */
  9. class WeatherHelperTest extends MyCakeTestCase {
  10. public function setUp() {
  11. parent::setUp();
  12. $this->Weather = new WeatherHelper(new View(null));
  13. $this->Weather->Html = new HtmlHelper(new View(null));
  14. $this->skipIf(!Configure::read('Weather.key'));
  15. }
  16. /** TODO **/
  17. public function testDisplay() {
  18. $res = $this->Weather->get('51.0872,13.8028');
  19. $res = $this->_displayForecast($res);
  20. $this->out($res);
  21. $this->assertTrue(!empty($res));
  22. $res = $this->Weather->get('Berlin, Deutschland');
  23. $res = $this->_displayForecast($res);
  24. $this->out($res);
  25. $this->assertTrue(!empty($res));
  26. $res = $this->Weather->get('Schwäbisch Hall, Deutschland');
  27. $res = $this->_displayForecast($res);
  28. $this->out($res);
  29. $this->assertTrue(!empty($res));
  30. $res = $this->Weather->get('xxxxx');
  31. $res = $this->_displayForecast($res);
  32. $this->assertTrue(empty($res));
  33. }
  34. public function _displayForecast($w) {
  35. $res = '';
  36. if (empty($w['request'])) {
  37. return $res;
  38. }
  39. $res .= '<table><tr>';
  40. for ($i = 2; $i < 5; $i++) {
  41. $weather = $w['weather'][$i];
  42. $res .= '<td>';
  43. $res .= '<h1>'.date('D', strtotime($weather['date'])).'</h1>';
  44. $res .= '<div>'.date('M d, Y', strtotime($weather['date'])).'</div>';
  45. $res .= '<h1>'.$this->Weather->Html->image($weather['weatherIconUrl']).'</h1>';
  46. $res .= '<div>'.$weather['tempMinC'].'° - '.$weather['tempMaxC'].'°</div>';
  47. $res .= '<div>'.$weather['weatherDesc'].'</div>';
  48. $res .= '</td>';
  49. }
  50. $res .= '</tr></table>';
  51. return $res;
  52. }
  53. }