Changeset 38667 for trunk/tests/phpunit/tests/term/query.php
- Timestamp:
- 09/28/2016 03:54:36 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/term/query.php
r38500 r38667 145 145 146 146 /** 147 * @ticket 37198 148 */ 149 public function test_order_by_term_order_should_fall_back_on_term_id_when_relationship_table_is_not_being_joined() { 150 register_taxonomy( 'wptests_tax', 'post' ); 151 $terms = self::factory()->term->create_many( 2, array( 'taxonomy' => 'wptests_tax' ) ); 152 sort( $terms ); 153 154 $q = new WP_Term_Query( array( 155 'taxonomy' => 'wptests_tax', 156 'orderby' => 'term_order', 157 'fields' => 'ids', 158 'hide_empty' => false, 159 ) ); 160 161 $this->assertSame( $terms, $q->get_terms() ); 162 } 163 164 /** 147 165 * @ticket 37591 148 166 */ … … 186 204 $this->assertEquals( array( $t1, $t2 ), $terms ); 187 205 } 206 207 /** 208 * @ticket 37198 209 */ 210 public function test_object_ids_single() { 211 register_taxonomy( 'wptests_tax_1', 'post' ); 212 213 $p = self::factory()->post->create(); 214 $t = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax_1' ) ); 215 216 wp_set_object_terms( $p, array( $t ), 'wptests_tax_1' ); 217 218 $query = new WP_Term_Query( array( 219 'taxonomy' => 'wptests_tax_1', 220 'object_ids' => $p, 221 'fields' => 'ids', 222 ) ); 223 224 $this->assertEqualSets( array( $t ), $query->terms ); 225 } 226 227 /** 228 * @ticket 37198 229 */ 230 public function test_object_ids_array() { 231 register_taxonomy( 'wptests_tax_1', 'post' ); 232 233 $p = self::factory()->post->create(); 234 $t = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax_1' ) ); 235 236 wp_set_object_terms( $p, array( $t ), 'wptests_tax_1' ); 237 238 $query = new WP_Term_Query( array( 239 'taxonomy' => 'wptests_tax_1', 240 'object_ids' => array( $p ), 241 'fields' => 'ids', 242 ) ); 243 244 $this->assertEqualSets( array( $t ), $query->terms ); 245 } 246 247 /** 248 * @ticket 37198 249 */ 250 public function test_duplicates_should_be_removed_for_fields_all() { 251 register_taxonomy( 'wptests_tax_1', 'post' ); 252 $posts = self::factory()->post->create_many( 2 ); 253 $t = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax_1' ) ); 254 255 foreach ( $posts as $p ) { 256 wp_set_object_terms( $p, array( $t ), 'wptests_tax_1' ); 257 } 258 259 $query = new WP_Term_Query( array( 260 'taxonomy' => 'wptests_tax_1', 261 'object_ids' => $posts, 262 'fields' => 'all', 263 ) ); 264 265 $this->assertSame( 1, count( $query->terms ) ); 266 $this->assertSame( $t, reset( $query->terms )->term_id ); 267 } 268 269 /** 270 * @ticket 37198 271 */ 272 public function test_duplicates_should_not_be_removed_for_fields_all_with_object_id() { 273 register_taxonomy( 'wptests_tax_1', 'post' ); 274 $posts = self::factory()->post->create_many( 2 ); 275 $t = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax_1' ) ); 276 277 foreach ( $posts as $p ) { 278 wp_set_object_terms( $p, array( $t ), 'wptests_tax_1' ); 279 } 280 281 $query = new WP_Term_Query( array( 282 'taxonomy' => 'wptests_tax_1', 283 'object_ids' => $posts, 284 'fields' => 'all_with_object_id', 285 ) ); 286 287 $this->assertSame( 2, count( $query->terms ) ); 288 foreach ( $query->terms as $term ) { 289 $this->assertSame( $t, $term->term_id ); 290 } 291 } 292 293 /** 294 * @ticket 37198 295 * @group cache 296 */ 297 public function test_object_ids_cache_should_be_invalidated_by_term_relationship_change() { 298 register_taxonomy( 'wptests_tax_1', 'post' ); 299 300 $p = self::factory()->post->create(); 301 $terms = self::factory()->term->create_many( 2, array( 'taxonomy' => 'wptests_tax_1' ) ); 302 303 wp_set_object_terms( $p, array( $terms[0] ), 'wptests_tax_1' ); 304 305 $query = new WP_Term_Query( array( 306 'taxonomy' => 'wptests_tax_1', 307 'object_ids' => $p, 308 'fields' => 'ids', 309 ) ); 310 $found = $query->get_terms(); 311 312 $this->assertEqualSets( array( $terms[0] ), $found ); 313 314 wp_set_object_terms( $p, array( $terms[1] ), 'wptests_tax_1' ); 315 316 $query = new WP_Term_Query( array( 317 'taxonomy' => 'wptests_tax_1', 318 'object_ids' => $p, 319 'fields' => 'ids', 320 ) ); 321 $found = $query->get_terms(); 322 323 $this->assertEqualSets( array( $terms[1] ), $found ); 324 } 188 325 }
Note: See TracChangeset
for help on using the changeset viewer.