@@ -125,7 +125,7 @@ discard block |
||
125 | 125 | * Note: characters are stripped from the content; make sure that your assertions take this into account. |
126 | 126 | * |
127 | 127 | * @param string $selector A basic CSS selector, e.g. 'li.jobs h3' |
128 | - * @param array|string $expectedMatches The content of at least one of the matched tags |
|
128 | + * @param integer $index |
|
129 | 129 | * @throws PHPUnit_Framework_AssertionFailedError |
130 | 130 | * @return boolean |
131 | 131 | */ |
@@ -155,7 +155,8 @@ discard block |
||
155 | 155 | * Note: characters are stripped from the content; make sure that your assertions take this into account. |
156 | 156 | * |
157 | 157 | * @param string $selector A basic CSS selector, e.g. 'li.jobs h3' |
158 | - * @param array|string $expectedMatches The content of at least one of the matched tags |
|
158 | + * @param integer $index |
|
159 | + * @param string $expectedClause |
|
159 | 160 | * @throws PHPUnit_Framework_AssertionFailedError |
160 | 161 | * @return boolean |
161 | 162 | */ |
@@ -183,6 +184,12 @@ discard block |
||
183 | 184 | /* |
184 | 185 | Check all the nodes matching the selector for attribute name = expected value |
185 | 186 | */ |
187 | + |
|
188 | + /** |
|
189 | + * @param string $selector |
|
190 | + * @param string $attributeName |
|
191 | + * @param string $expectedValue |
|
192 | + */ |
|
186 | 193 | public function assertAttributeHasExactValue($selector, $attributeName, $expectedValue) { |
187 | 194 | $items = $this->cssParser()->getBySelector($selector); |
188 | 195 | foreach ($items as $item) { |
@@ -191,6 +198,9 @@ discard block |
||
191 | 198 | } |
192 | 199 | |
193 | 200 | |
201 | + /** |
|
202 | + * @param string $selector |
|
203 | + */ |
|
194 | 204 | public function assertAttributesHaveExactValues($selector, $expectedValues) { |
195 | 205 | $attributeNames = array_keys($expectedValues); |
196 | 206 | $items = $this->cssParser()->getBySelector($selector); |
@@ -204,6 +214,10 @@ discard block |
||
204 | 214 | } |
205 | 215 | |
206 | 216 | |
217 | + /** |
|
218 | + * @param string $selector |
|
219 | + * @param integer $expectedAmount |
|
220 | + */ |
|
207 | 221 | public function assertNumberOfNodes($selector, $expectedAmount) { |
208 | 222 | $items = $this->cssParser()->getBySelector($selector); |
209 | 223 | foreach ($items as $item) { |
@@ -150,15 +150,15 @@ |
||
150 | 150 | |
151 | 151 | |
152 | 152 | /** |
153 | - *Assert that the indexth matching css node has a prefix as expected |
|
154 | - * |
|
155 | - * Note: characters are stripped from the content; make sure that your assertions take this into account. |
|
156 | - * |
|
157 | - * @param string $selector A basic CSS selector, e.g. 'li.jobs h3' |
|
158 | - * @param array|string $expectedMatches The content of at least one of the matched tags |
|
159 | - * @throws PHPUnit_Framework_AssertionFailedError |
|
160 | - * @return boolean |
|
161 | - */ |
|
153 | + *Assert that the indexth matching css node has a prefix as expected |
|
154 | + * |
|
155 | + * Note: characters are stripped from the content; make sure that your assertions take this into account. |
|
156 | + * |
|
157 | + * @param string $selector A basic CSS selector, e.g. 'li.jobs h3' |
|
158 | + * @param array|string $expectedMatches The content of at least one of the matched tags |
|
159 | + * @throws PHPUnit_Framework_AssertionFailedError |
|
160 | + * @return boolean |
|
161 | + */ |
|
162 | 162 | public function assertSelectorContains($selector, $index, $expectedClause) { |
163 | 163 | $items = $this->cssParser()->getBySelector($selector); |
164 | 164 |
@@ -9,8 +9,8 @@ discard block |
||
9 | 9 | public static $ignoreFixtureFileFor = array(); |
10 | 10 | |
11 | 11 | protected $extraDataObjects = array( |
12 | - 'SearchableTestPage','FlickrPhotoTO','FlickrAuthorTO','FlickrSetTO','FlickrTagTO', |
|
13 | - 'SearchableTestFatherPage','SearchableTestGrandFatherPage' |
|
12 | + 'SearchableTestPage', 'FlickrPhotoTO', 'FlickrAuthorTO', 'FlickrSetTO', 'FlickrTagTO', |
|
13 | + 'SearchableTestFatherPage', 'SearchableTestGrandFatherPage' |
|
14 | 14 | ); |
15 | 15 | |
16 | 16 | |
@@ -27,7 +27,7 @@ discard block |
||
27 | 27 | |
28 | 28 | public function setUp() { |
29 | 29 | |
30 | - error_log("*************** TEST: ".$this->getName()); |
|
30 | + error_log("*************** TEST: " . $this->getName()); |
|
31 | 31 | |
32 | 32 | $cache = SS_Cache::factory('elasticsearch'); |
33 | 33 | $cache->clean(Zend_Cache::CLEANING_MODE_ALL); |
@@ -35,7 +35,7 @@ discard block |
||
35 | 35 | |
36 | 36 | // this needs to be called in order to create the list of searchable |
37 | 37 | // classes and fields that are available. Simulates part of a build |
38 | - $classes = array('SearchableTestPage','SiteTree','Page','FlickrPhotoTO','FlickrSetTO', |
|
38 | + $classes = array('SearchableTestPage', 'SiteTree', 'Page', 'FlickrPhotoTO', 'FlickrSetTO', |
|
39 | 39 | 'FlickrTagTO', 'FlickrAuthorTO'); |
40 | 40 | $this->requireDefaultRecordsFrom = $classes; |
41 | 41 | |
@@ -54,7 +54,7 @@ discard block |
||
54 | 54 | $this->service->setTestMode(true); |
55 | 55 | |
56 | 56 | // A previous test may have deleted the index and then failed, so check for this |
57 | - if (!$this->service->getIndex()->exists()) { |
|
57 | + if(!$this->service->getIndex()->exists()) { |
|
58 | 58 | $this->service->getIndex()->create(); |
59 | 59 | } |
60 | 60 | $this->service->reset(); |
@@ -65,9 +65,9 @@ discard block |
||
65 | 65 | // load fixtures |
66 | 66 | $orig_fixture_file = static::$fixture_file; |
67 | 67 | |
68 | - foreach (static::$ignoreFixtureFileFor as $testPattern) { |
|
69 | - $pattern = '/'.$testPattern.'/'; |
|
70 | - if (preg_match($pattern, $this->getName())) { |
|
68 | + foreach(static::$ignoreFixtureFileFor as $testPattern) { |
|
69 | + $pattern = '/' . $testPattern . '/'; |
|
70 | + if(preg_match($pattern, $this->getName())) { |
|
71 | 71 | static::$fixture_file = null; |
72 | 72 | } |
73 | 73 | } |
@@ -79,7 +79,7 @@ discard block |
||
79 | 79 | // this has to be executed otherwise nesting exceptions occur |
80 | 80 | parent::setUp(); |
81 | 81 | |
82 | - if ($elasticaException) { |
|
82 | + if($elasticaException) { |
|
83 | 83 | $this->fail('T1 Exception with Elasticsearch'); |
84 | 84 | } |
85 | 85 | |
@@ -101,18 +101,18 @@ discard block |
||
101 | 101 | $elasticaException = true; |
102 | 102 | } |
103 | 103 | |
104 | - if ($elasticaException) { |
|
104 | + if($elasticaException) { |
|
105 | 105 | $this->fail('T2 Exception with Elasticsearch'); |
106 | 106 | } |
107 | 107 | } |
108 | 108 | |
109 | 109 | |
110 | 110 | private function publishSiteTree() { |
111 | - foreach (SiteTree::get()->getIterator() as $page) { |
|
111 | + foreach(SiteTree::get()->getIterator() as $page) { |
|
112 | 112 | // temporarily disable Elasticsearch indexing, it will be done in a batch |
113 | 113 | $page->IndexingOff = true; |
114 | 114 | |
115 | - $page->publish('Stage','Live'); |
|
115 | + $page->publish('Stage', 'Live'); |
|
116 | 116 | } |
117 | 117 | } |
118 | 118 | |
@@ -133,7 +133,7 @@ discard block |
||
133 | 133 | $items = $this->cssParser()->getBySelector($selector); |
134 | 134 | |
135 | 135 | $ctr = 0; |
136 | - foreach ($items as $item) { |
|
136 | + foreach($items as $item) { |
|
137 | 137 | $text = strip_tags($item); |
138 | 138 | $escaped = str_replace("'", "\'", $text); |
139 | 139 | $ctr++; |
@@ -163,7 +163,7 @@ discard block |
||
163 | 163 | $items = $this->cssParser()->getBySelector($selector); |
164 | 164 | |
165 | 165 | $ctr = 0; |
166 | - foreach ($items as $item) { |
|
166 | + foreach($items as $item) { |
|
167 | 167 | $text = strip_tags($item); |
168 | 168 | $escaped = str_replace("'", "\'", $text); |
169 | 169 | $ctr++; |
@@ -185,7 +185,7 @@ discard block |
||
185 | 185 | */ |
186 | 186 | public function assertAttributeHasExactValue($selector, $attributeName, $expectedValue) { |
187 | 187 | $items = $this->cssParser()->getBySelector($selector); |
188 | - foreach ($items as $item) { |
|
188 | + foreach($items as $item) { |
|
189 | 189 | $this->assertEquals($expectedValue, $item['value']); |
190 | 190 | } |
191 | 191 | } |
@@ -194,9 +194,9 @@ discard block |
||
194 | 194 | public function assertAttributesHaveExactValues($selector, $expectedValues) { |
195 | 195 | $attributeNames = array_keys($expectedValues); |
196 | 196 | $items = $this->cssParser()->getBySelector($selector); |
197 | - foreach ($items as $item) { |
|
197 | + foreach($items as $item) { |
|
198 | 198 | $actualValues = array(); |
199 | - foreach ($attributeNames as $attributeName) { |
|
199 | + foreach($attributeNames as $attributeName) { |
|
200 | 200 | $actualValues[$attributeName] = (string)$item[$attributeName]; |
201 | 201 | } |
202 | 202 | $this->assertEquals($expectedValues, $actualValues); |
@@ -206,7 +206,7 @@ discard block |
||
206 | 206 | |
207 | 207 | public function assertNumberOfNodes($selector, $expectedAmount) { |
208 | 208 | $items = $this->cssParser()->getBySelector($selector); |
209 | - foreach ($items as $item) { |
|
209 | + foreach($items as $item) { |
|
210 | 210 | $text = strip_tags($item); |
211 | 211 | } |
212 | 212 | |
@@ -219,9 +219,9 @@ discard block |
||
219 | 219 | public function collateSearchResults() { |
220 | 220 | $items = $this->cssParser()->getBySelector('div.searchResults .searchResult'); |
221 | 221 | $result = array(); |
222 | - foreach ($items as $item) { |
|
222 | + foreach($items as $item) { |
|
223 | 223 | $attr = $item->attributes()->id; |
224 | - array_push($result, $attr.""); |
|
224 | + array_push($result, $attr . ""); |
|
225 | 225 | } |
226 | 226 | |
227 | 227 | return $result; |
@@ -74,11 +74,11 @@ discard block |
||
74 | 74 | $this->assertEquals(200, $searchPage->getStatusCode()); |
75 | 75 | $url = rtrim($url, '/'); |
76 | 76 | |
77 | - $response = $this->get($url); |
|
77 | + $response = $this->get($url); |
|
78 | 78 | |
79 | - $this->assertEquals(200, $response->getStatusCode()); |
|
79 | + $this->assertEquals(200, $response->getStatusCode()); |
|
80 | 80 | |
81 | - $this->assertSelectorStartsWithOrEquals('ul.iso span.count', 0, '(5)'); |
|
81 | + $this->assertSelectorStartsWithOrEquals('ul.iso span.count', 0, '(5)'); |
|
82 | 82 | $this->assertSelectorStartsWithOrEquals('ul.iso span.count', 1, '(11)'); |
83 | 83 | $this->assertSelectorStartsWithOrEquals('ul.iso span.count', 2, '(12)'); |
84 | 84 | $this->assertSelectorStartsWithOrEquals('ul.iso span.count', 3, '(13)'); |
@@ -128,11 +128,11 @@ discard block |
||
128 | 128 | $url = rtrim($url, '/'); |
129 | 129 | $url .= '?ISO=400'; |
130 | 130 | |
131 | - $response = $this->get($url); |
|
131 | + $response = $this->get($url); |
|
132 | 132 | |
133 | - $this->assertEquals(200, $response->getStatusCode()); |
|
133 | + $this->assertEquals(200, $response->getStatusCode()); |
|
134 | 134 | |
135 | - // These are less than in the no facets selected case, as expected |
|
135 | + // These are less than in the no facets selected case, as expected |
|
136 | 136 | $this->assertSelectorStartsWithOrEquals('ul.focal_length span.count', 0, '(2)'); |
137 | 137 | $this->assertSelectorStartsWithOrEquals('ul.focal_length span.count', 1, '(1)'); |
138 | 138 | $this->assertSelectorStartsWithOrEquals('ul.focal_length span.count', 2, '(2)'); |
@@ -176,11 +176,11 @@ discard block |
||
176 | 176 | $url = rtrim($url, '/'); |
177 | 177 | $url .= '?ISO=400&ShutterSpeed=2%2F250'; |
178 | 178 | |
179 | - $response = $this->get($url); |
|
180 | - $this->assertEquals(200, $response->getStatusCode()); |
|
179 | + $response = $this->get($url); |
|
180 | + $this->assertEquals(200, $response->getStatusCode()); |
|
181 | 181 | |
182 | - // These are less than in the one facet selected case, as expected |
|
183 | - $this->assertSelectorStartsWithOrEquals('ul.focal_length span.count', 0, '(1)'); |
|
182 | + // These are less than in the one facet selected case, as expected |
|
183 | + $this->assertSelectorStartsWithOrEquals('ul.focal_length span.count', 0, '(1)'); |
|
184 | 184 | $this->assertSelectorStartsWithOrEquals('ul.focal_length span.count', 1, '(2)'); |
185 | 185 | $this->assertSelectorStartsWithOrEquals('ul.aperture span.count', 0, '(1)'); |
186 | 186 | $this->assertSelectorStartsWithOrEquals('ul.aperture span.count', 1, '(1)'); |
@@ -207,11 +207,11 @@ discard block |
||
207 | 207 | $url = rtrim($url, '/'); |
208 | 208 | $url .= '?ISO=400&ShutterSpeed=2%2F250&Aspect=Vertical'; |
209 | 209 | |
210 | - $response = $this->get($url); |
|
211 | - $this->assertEquals(200, $response->getStatusCode()); |
|
210 | + $response = $this->get($url); |
|
211 | + $this->assertEquals(200, $response->getStatusCode()); |
|
212 | 212 | |
213 | - // These are less than in the one facet selected case, as expected |
|
214 | - $this->assertSelectorStartsWithOrEquals('span.count', 0, '(2)'); |
|
213 | + // These are less than in the one facet selected case, as expected |
|
214 | + $this->assertSelectorStartsWithOrEquals('span.count', 0, '(2)'); |
|
215 | 215 | $this->assertSelectorStartsWithOrEquals('span.count', 1, '(1)'); |
216 | 216 | $this->assertSelectorStartsWithOrEquals('span.count', 2, '(1)'); |
217 | 217 | } |
@@ -542,13 +542,13 @@ discard block |
||
542 | 542 | $searchPage = $this->get($searchPageObj->URLSegment); |
543 | 543 | $this->assertEquals(200, $searchPage->getStatusCode()); |
544 | 544 | |
545 | - $response = $this->submitForm("ElasticSearchForm_SearchForm", null, array( |
|
546 | - 'q' => 'New Zealand' |
|
547 | - )); |
|
545 | + $response = $this->submitForm("ElasticSearchForm_SearchForm", null, array( |
|
546 | + 'q' => 'New Zealand' |
|
547 | + )); |
|
548 | 548 | |
549 | 549 | $url = rtrim($url, '/'); |
550 | - $this->assertEquals(302, $response->getStatusCode()); |
|
551 | - $this->assertEquals($url . '?q=New Zealand&sfid=testwithagg', $response->getHeader('Location')); |
|
550 | + $this->assertEquals(302, $response->getStatusCode()); |
|
551 | + $this->assertEquals($url . '?q=New Zealand&sfid=testwithagg', $response->getHeader('Location')); |
|
552 | 552 | } |
553 | 553 | |
554 | 554 |
@@ -243,7 +243,7 @@ discard block |
||
243 | 243 | public function testQueryInSearchBoxForOneFormOnly() { |
244 | 244 | $searchPageObj = $this->ElasticSearchPage2; |
245 | 245 | $url = rtrim($searchPageObj->Link(), '/'); |
246 | - $url .= "?q=Auckland&sfid=".$searchPageObj->Identifier; |
|
246 | + $url .= "?q=Auckland&sfid=" . $searchPageObj->Identifier; |
|
247 | 247 | $response = $this->get($url); |
248 | 248 | $this->assertEquals(200, $response->getStatusCode()); |
249 | 249 | $this->assertAttributeHasExactValue('#ElasticSearchForm_SearchForm_q', 'q', |
@@ -378,7 +378,7 @@ discard block |
||
378 | 378 | $ctr = 0; |
379 | 379 | |
380 | 380 | // results vary slightly due to sharding, hence check for a string instead of absolute results |
381 | - while ($ctr < 18) { |
|
381 | + while($ctr < 18) { |
|
382 | 382 | $this->assertSelectorContains('div.searchResult a', $ctr, 'New Orleans, Southern Pacific'); |
383 | 383 | $ctr++; |
384 | 384 | $this->assertSelectorStartsWithOrEquals('div.searchResult a', $ctr, 'Similar'); |
@@ -397,13 +397,13 @@ discard block |
||
397 | 397 | $url = rtrim($searchPageObj->Link(), '/'); |
398 | 398 | $url .= "?q=New%20Zealind&TestMode=true"; |
399 | 399 | $response = $this->get($url); |
400 | - error_log(print_r($response,1)); |
|
400 | + error_log(print_r($response, 1)); |
|
401 | 401 | $this->assertEquals(200, $response->getStatusCode()); |
402 | 402 | |
403 | 403 | $ctr = 0; |
404 | 404 | |
405 | 405 | // results vary slightly due to sharding, hence check for a string instead of absolute results |
406 | - while ($ctr < 18) { |
|
406 | + while($ctr < 18) { |
|
407 | 407 | $this->assertSelectorContains('div.searchResult a', $ctr, 'New'); |
408 | 408 | $ctr++; |
409 | 409 | $this->assertSelectorStartsWithOrEquals('div.searchResult a', $ctr, 'Similar'); |
@@ -501,7 +501,7 @@ discard block |
||
501 | 501 | //Note pages need to be published, by default fixtures only reside in Stage |
502 | 502 | $searchPageObj = $this->ElasticSearchPage2; |
503 | 503 | $url = rtrim($searchPageObj->Link(), '/'); |
504 | - $url = $url.'?q='.$searchTerm; |
|
504 | + $url = $url . '?q=' . $searchTerm; |
|
505 | 505 | $response = $this->get($url); |
506 | 506 | $this->assertEquals(200, $response->getStatusCode()); |
507 | 507 | |
@@ -568,7 +568,7 @@ discard block |
||
568 | 568 | //Note pages need to be published, by default fixtures only reside in Stage |
569 | 569 | $searchPageObj = $this->ElasticSearchPage; |
570 | 570 | $url = rtrim($searchPageObj->Link(), '/'); |
571 | - $url = $url.'?q='.$searchTerm; |
|
571 | + $url = $url . '?q=' . $searchTerm; |
|
572 | 572 | $response = $this->get($url); |
573 | 573 | $this->assertEquals(200, $response->getStatusCode()); |
574 | 574 | |
@@ -699,18 +699,18 @@ discard block |
||
699 | 699 | //increase the number of results and assert that they are the same as per pages 1,2 joined |
700 | 700 | $searchPageObj->ResultsPerPage = 20; |
701 | 701 | $searchPageObj->write(); |
702 | - $searchPageObj->publish('Stage','Live'); |
|
702 | + $searchPageObj->publish('Stage', 'Live'); |
|
703 | 703 | $response3 = $this->get($firstPageURL); |
704 | 704 | } |
705 | 705 | |
706 | 706 | |
707 | 707 | private function enableHighlights() { |
708 | - foreach (SearchableField::get()->filter('Name', 'Title') as $sf) { |
|
708 | + foreach(SearchableField::get()->filter('Name', 'Title') as $sf) { |
|
709 | 709 | $sf->ShowHighlights = true; |
710 | 710 | $sf->write(); |
711 | 711 | } |
712 | 712 | |
713 | - foreach (SearchableField::get()->filter('Name', 'Content') as $sf) { |
|
713 | + foreach(SearchableField::get()->filter('Name', 'Content') as $sf) { |
|
714 | 714 | $sf->ShowHighlights = true; |
715 | 715 | $sf->write(); |
716 | 716 | } |