Merge "User: Avoid deprecated Linker::link()"
[lhc/web/wiklou.git] / tests / phpunit / includes / search / SearchEngineTest.php
index c74c893..c945d1e 100644 (file)
@@ -121,7 +121,25 @@ class SearchEngineTest extends MediaWikiLangTestCase {
                $this->assertEquals(
                        [ 'Smithee' ],
                        $this->fetchIds( $this->search->searchText( 'smithee' ) ),
-                       "Plain search failed" );
+                       "Plain search" );
+       }
+
+       public function testPhraseSearch() {
+               $res = $this->search->searchText( '"smithee is one who smiths"' );
+               $this->assertEquals(
+                       [ 'Smithee' ],
+                       $this->fetchIds( $res ),
+                       "Search a phrase" );
+               $res = $this->search->searchText( '"smithee is one who smiths"' );
+               $match = $res->next();
+               $terms = [ 'smithee', 'is', 'one', 'who', 'smiths' ];
+               $snippet = "";
+               foreach ( $terms as $term ) {
+                       $snippet .= " <span class='searchmatch'>" . $term . "</span>";
+               }
+               $this->assertRegexp( '/' . preg_quote( $snippet, '/' ) . '/',
+                       $match->getTextSnippet( $res->termMatches() ),
+                       "Highlight a phrase search" );
        }
 
        public function testTextPowerSearch() {
@@ -132,7 +150,7 @@ class SearchEngineTest extends MediaWikiLangTestCase {
                                'Talk:Not Main Page',
                        ],
                        $this->fetchIds( $this->search->searchText( 'smithee' ) ),
-                       "Power search failed" );
+                       "Power search" );
        }
 
        public function testTitleSearch() {
@@ -142,7 +160,7 @@ class SearchEngineTest extends MediaWikiLangTestCase {
                                'Smithee',
                        ],
                        $this->fetchIds( $this->search->searchTitle( 'smithee' ) ),
-                       "Title search failed" );
+                       "Title search" );
        }
 
        public function testTextTitlePowerSearch() {
@@ -154,7 +172,7 @@ class SearchEngineTest extends MediaWikiLangTestCase {
                                'Talk:Smithee',
                        ],
                        $this->fetchIds( $this->search->searchTitle( 'smithee' ) ),
-                       "Title power search failed" );
+                       "Title power search" );
        }
 
        /**