wordpress-develop/tests/phpunit/tests/dependencies.php
Tonya Mork 40ac5de838 Coding Standards: Add visibility to methods in tests/phpunit/tests/.
Adds a `public` visibility to test fixtures, tests, data providers, and callbacks methods.

Adds a `private` visibility to helper methods within test classes.

Renames callbacks and helpers that previously started with a `_` prefix. Why? For consistency and to leverage using the method visibility. Further naming standardizations is beyond the scope of this commit.

Props costdev, jrf, hellofromTonya.
Fixes #54177.

git-svn-id: https://develop.svn.wordpress.org/trunk@52010 602fd350-edb4-49c9-b593-d223f7449a82
2021-11-04 15:22:47 +00:00

140 lines
4.1 KiB
PHP

<?php
/**
* @group dependencies
* @group scripts
*/
class Tests_Dependencies extends WP_UnitTestCase {
public function test_add() {
$dep = new WP_Dependencies;
$this->assertTrue( $dep->add( 'one', '' ) );
$this->assertTrue( $dep->add( 'two', '' ) );
$this->assertInstanceOf( '_WP_Dependency', $dep->query( 'one' ) );
$this->assertInstanceOf( '_WP_Dependency', $dep->query( 'two' ) );
// Cannot reuse names.
$this->assertFalse( $dep->add( 'one', '' ) );
}
public function test_remove() {
$dep = new WP_Dependencies;
$this->assertTrue( $dep->add( 'one', '' ) );
$this->assertTrue( $dep->add( 'two', '' ) );
$dep->remove( 'one' );
$this->assertFalse( $dep->query( 'one' ) );
$this->assertInstanceOf( '_WP_Dependency', $dep->query( 'two' ) );
}
public function test_enqueue() {
$dep = new WP_Dependencies;
$this->assertTrue( $dep->add( 'one', '' ) );
$this->assertTrue( $dep->add( 'two', '' ) );
$this->assertFalse( $dep->query( 'one', 'queue' ) );
$dep->enqueue( 'one' );
$this->assertTrue( $dep->query( 'one', 'queue' ) );
$this->assertFalse( $dep->query( 'two', 'queue' ) );
$dep->enqueue( 'two' );
$this->assertTrue( $dep->query( 'one', 'queue' ) );
$this->assertTrue( $dep->query( 'two', 'queue' ) );
}
public function test_dequeue() {
$dep = new WP_Dependencies;
$this->assertTrue( $dep->add( 'one', '' ) );
$this->assertTrue( $dep->add( 'two', '' ) );
$dep->enqueue( 'one' );
$dep->enqueue( 'two' );
$this->assertTrue( $dep->query( 'one', 'queue' ) );
$this->assertTrue( $dep->query( 'two', 'queue' ) );
$dep->dequeue( 'one' );
$this->assertFalse( $dep->query( 'one', 'queue' ) );
$this->assertTrue( $dep->query( 'two', 'queue' ) );
$dep->dequeue( 'two' );
$this->assertFalse( $dep->query( 'one', 'queue' ) );
$this->assertFalse( $dep->query( 'two', 'queue' ) );
}
public function test_enqueue_args() {
$dep = new WP_Dependencies;
$this->assertTrue( $dep->add( 'one', '' ) );
$this->assertTrue( $dep->add( 'two', '' ) );
$this->assertFalse( $dep->query( 'one', 'queue' ) );
$dep->enqueue( 'one?arg' );
$this->assertTrue( $dep->query( 'one', 'queue' ) );
$this->assertFalse( $dep->query( 'two', 'queue' ) );
$this->assertSame( 'arg', $dep->args['one'] );
$dep->enqueue( 'two?arg' );
$this->assertTrue( $dep->query( 'one', 'queue' ) );
$this->assertTrue( $dep->query( 'two', 'queue' ) );
$this->assertSame( 'arg', $dep->args['two'] );
}
public function test_dequeue_args() {
$dep = new WP_Dependencies;
$this->assertTrue( $dep->add( 'one', '' ) );
$this->assertTrue( $dep->add( 'two', '' ) );
$dep->enqueue( 'one?arg' );
$dep->enqueue( 'two?arg' );
$this->assertTrue( $dep->query( 'one', 'queue' ) );
$this->assertTrue( $dep->query( 'two', 'queue' ) );
$this->assertSame( 'arg', $dep->args['one'] );
$this->assertSame( 'arg', $dep->args['two'] );
$dep->dequeue( 'one' );
$this->assertFalse( $dep->query( 'one', 'queue' ) );
$this->assertTrue( $dep->query( 'two', 'queue' ) );
$this->assertArrayNotHasKey( 'one', $dep->args );
$dep->dequeue( 'two' );
$this->assertFalse( $dep->query( 'one', 'queue' ) );
$this->assertFalse( $dep->query( 'two', 'queue' ) );
$this->assertArrayNotHasKey( 'two', $dep->args );
}
/**
* @ticket 21741
*/
public function test_query_and_registered_enqueued() {
$dep = new WP_Dependencies;
$this->assertTrue( $dep->add( 'one', '' ) );
$this->assertInstanceOf( '_WP_Dependency', $dep->query( 'one' ) );
$this->assertInstanceOf( '_WP_Dependency', $dep->query( 'one', 'registered' ) );
$this->assertInstanceOf( '_WP_Dependency', $dep->query( 'one', 'scripts' ) );
$this->assertFalse( $dep->query( 'one', 'enqueued' ) );
$this->assertFalse( $dep->query( 'one', 'queue' ) );
$dep->enqueue( 'one' );
$this->assertTrue( $dep->query( 'one', 'enqueued' ) );
$this->assertTrue( $dep->query( 'one', 'queue' ) );
$dep->dequeue( 'one' );
$this->assertFalse( $dep->query( 'one', 'queue' ) );
$this->assertInstanceOf( '_WP_Dependency', $dep->query( 'one' ) );
$dep->remove( 'one' );
$this->assertFalse( $dep->query( 'one' ) );
}
}