| | 87 | |
| | 88 | /** |
| | 89 | * Test mismatch of groups in dependencies outputs all scripts in right order. |
| | 90 | * @ticket 25247 |
| | 91 | */ |
| | 92 | public function test_group_mismatch_in_deps() { |
| | 93 | $scripts = new WP_Scripts; |
| | 94 | $scripts->add( 'one', 'one', array(), 'v1', 1 ); |
| | 95 | $scripts->add( 'two', 'two', array( 'one' ) ); |
| | 96 | $scripts->add( 'three', 'three', array( 'two' ), 'v1', 1 ); |
| | 97 | |
| | 98 | $scripts->enqueue( array( 'three' ) ); |
| | 99 | |
| | 100 | ob_start(); |
| | 101 | |
| | 102 | $scripts->do_items( false, 0 ); |
| | 103 | $this->assertContains( 'one', $scripts->done ); |
| | 104 | $this->assertContains( 'two', $scripts->done ); |
| | 105 | $this->assertNotContains( 'three', $scripts->done ); |
| | 106 | |
| | 107 | $scripts->do_items( false, 1 ); |
| | 108 | $this->assertContains( 'one', $scripts->done ); |
| | 109 | $this->assertContains( 'two', $scripts->done ); |
| | 110 | $this->assertContains( 'three', $scripts->done ); |
| | 111 | |
| | 112 | $scripts = new WP_Scripts; |
| | 113 | $scripts->add( 'one', 'one', array(), 'v1', 1 ); |
| | 114 | $scripts->add( 'two', 'two', array( 'one' ), 'v1', 1 ); |
| | 115 | $scripts->add( 'three', 'three', array( 'one' ) ); |
| | 116 | $scripts->add( 'four', 'four', array( 'two', 'three' ), 'v1', 1 ); |
| | 117 | |
| | 118 | $scripts->enqueue( array( 'four' ) ); |
| | 119 | |
| | 120 | $scripts->do_items( false, 0 ); |
| | 121 | $this->assertContains( 'one', $scripts->done ); |
| | 122 | $this->assertNotContains( 'two', $scripts->done ); |
| | 123 | $this->assertContains( 'three', $scripts->done ); |
| | 124 | $this->assertNotContains( 'four', $scripts->done ); |
| | 125 | |
| | 126 | $scripts->do_items( false, 1 ); |
| | 127 | $this->assertContains( 'one', $scripts->done ); |
| | 128 | $this->assertContains( 'two', $scripts->done ); |
| | 129 | $this->assertContains( 'three', $scripts->done ); |
| | 130 | $this->assertContains( 'four', $scripts->done ); |
| | 131 | |
| | 132 | ob_end_clean(); |
| | 133 | } |