Changeset 36604
- Timestamp:
- 02/20/2016 10:10:01 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/class.wp-dependencies.php
r36550 r36604 385 385 $group = (int) $group; 386 386 387 if ( $recursion ) 388 $group = min($this->group, $group); 389 else 390 $this->group = $group; 387 if ( $recursion ) { 388 $group = min( $this->group, $group ); 389 } 390 391 $this->group = $group; 391 392 392 393 if ( isset($this->groups[$handle]) && $this->groups[$handle] <= $group ) -
trunk/tests/phpunit/tests/dependencies/scripts.php
r36559 r36604 200 200 $this->assertContains( home_url( 'baz.js' ), $footer ); 201 201 } 202 203 /** 204 * Test mismatch of groups in dependencies outputs all scripts in right order. 205 * 206 * @ticket 35873 207 */ 208 public function test_group_mismatch_in_deps() { 209 $scripts = new WP_Scripts; 210 $scripts->add( 'one', 'one', array(), 'v1', 1 ); 211 $scripts->add( 'two', 'two', array( 'one' ) ); 212 $scripts->add( 'three', 'three', array( 'two' ), 'v1', 1 ); 213 214 $scripts->enqueue( array( 'three' ) ); 215 216 $this->expectOutputRegex( '/^(?:<script[^>]+><\/script>\\n){7}$/' ); 217 218 $scripts->do_items( false, 0 ); 219 $this->assertContains( 'one', $scripts->done ); 220 $this->assertContains( 'two', $scripts->done ); 221 $this->assertNotContains( 'three', $scripts->done ); 222 223 $scripts->do_items( false, 1 ); 224 $this->assertContains( 'one', $scripts->done ); 225 $this->assertContains( 'two', $scripts->done ); 226 $this->assertContains( 'three', $scripts->done ); 227 228 $scripts = new WP_Scripts; 229 $scripts->add( 'one', 'one', array(), 'v1', 1 ); 230 $scripts->add( 'two', 'two', array( 'one' ), 'v1', 1 ); 231 $scripts->add( 'three', 'three', array( 'one' ) ); 232 $scripts->add( 'four', 'four', array( 'two', 'three' ), 'v1', 1 ); 233 234 $scripts->enqueue( array( 'four' ) ); 235 236 $scripts->do_items( false, 0 ); 237 $this->assertContains( 'one', $scripts->done ); 238 $this->assertNotContains( 'two', $scripts->done ); 239 $this->assertContains( 'three', $scripts->done ); 240 $this->assertNotContains( 'four', $scripts->done ); 241 242 $scripts->do_items( false, 1 ); 243 $this->assertContains( 'one', $scripts->done ); 244 $this->assertContains( 'two', $scripts->done ); 245 $this->assertContains( 'three', $scripts->done ); 246 $this->assertContains( 'four', $scripts->done ); 247 } 248 249 /** 250 * @ticket 35873 251 */ 252 function test_wp_register_script_with_dependencies_in_head_and_footer() { 253 wp_register_script( 'parent', '/parent.js', array( 'child' ), '1', true ); // in footer 254 wp_register_script( 'child', '/child.js', array( 'grandchild' ), '1', false ); // in head 255 wp_register_script( 'grandchild', '/grandchild.js', array(), '1', true ); // in footer 256 257 wp_enqueue_script( 'parent' ); 258 259 $header = get_echo( 'wp_print_head_scripts' ); 260 $footer = get_echo( 'wp_print_footer_scripts' ); 261 262 $expected_header = "<script type='text/javascript' src='/grandchild.js?ver=1'></script>\n"; 263 $expected_header .= "<script type='text/javascript' src='/child.js?ver=1'></script>\n"; 264 $expected_footer = "<script type='text/javascript' src='/parent.js?ver=1'></script>\n"; 265 266 $this->assertEquals( $expected_header, $header ); 267 $this->assertEquals( $expected_footer, $footer ); 268 } 202 269 }
Note: See TracChangeset
for help on using the changeset viewer.