File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -519,12 +519,12 @@ function get_nav_items(): array {
519519
520520function get_news_changes ()
521521{
522- $ newsEntries = (new NewsHandler ())->getPregeneratedNews ();
523- if (! isset ( $ newsEntries [ 0 ]) ) {
522+ $ lastNews = (new NewsHandler ())->getLastestNews ();
523+ if ($ lastNews === null ) {
524524 return false ;
525525 }
526526
527- $ date = date_create ($ newsEntries [ 0 ] ["updated " ]);
527+ $ date = date_create ($ lastNews ["updated " ]);
528528 if (isset ($ _COOKIE ["LAST_NEWS " ]) && $ _COOKIE ["LAST_NEWS " ] >= $ date ->getTimestamp ()) {
529529 return false ;
530530 }
@@ -539,8 +539,8 @@ function get_news_changes()
539539
540540 $ date ->modify ("+1 week " );
541541 if ($ date ->getTimestamp () > $ _SERVER ["REQUEST_TIME " ]) {
542- $ link = preg_replace ('~^(http://php.net/|https://www.php.net/)~ ' , '/ ' , $ newsEntries [ 0 ] ["link " ][0 ]["href " ]);
543- $ title = $ newsEntries [ 0 ] ["title " ];
542+ $ link = preg_replace ('~^(http://php.net/|https://www.php.net/)~ ' , '/ ' , $ lastNews ["link " ][0 ]["href " ]);
543+ $ title = $ lastNews ["title " ];
544544 return "<a href=' {$ link }'> {$ title }</a> " ;
545545 }
546546 return false ;
Original file line number Diff line number Diff line change 88
99final class NewsHandler
1010{
11+ public function getLastestNews (): array |null
12+ {
13+ $ news = $ this ->getPregeneratedNews ();
14+ if (!isset ($ news [0 ])) {
15+ return null ;
16+ }
17+
18+ return $ news [0 ];
19+ }
20+
1121 public function getPregeneratedNews (): array
1222 {
1323 $ NEWS_ENTRIES = null ;
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ declare (strict_types=1 );
4+
5+ namespace News ;
6+
7+ use PHPUnit \Framework \Attributes \CoversClass ;
8+ use PHPUnit \Framework \TestCase ;
9+ use phpweb \News \NewsHandler ;
10+
11+ #[CoversClass(NewsHandler::class)]
12+ final class NewsHandlerTest extends TestCase
13+ {
14+ public function testGetLastestNews (): void
15+ {
16+ $ newsHandler = new NewsHandler ();
17+ $ news = $ newsHandler ->getPregeneratedNews ();
18+ self ::assertArrayHasKey (0 , $ news );
19+ self ::assertSame ($ news [0 ], $ newsHandler ->getLastestNews ());
20+ }
21+ }
You can’t perform that action at this time.
0 commit comments