diff options
author | Scott Taylor <wonderboymusic@git.wordpress.org> | 2015-10-17 18:02:16 +0000 |
---|---|---|
committer | Scott Taylor <wonderboymusic@git.wordpress.org> | 2015-10-17 18:02:16 +0000 |
commit | b757b37551f7f34de972a9ba5c27f25e9d87ee62 (patch) | |
tree | 7a03bc02da00efd126e9600d55b1edb56499a9c4 /tests/phpunit/includes | |
parent | 5a0fd03f95345837908a249725f928510c1d0b93 (diff) | |
download | wordpress-b757b37551f7f34de972a9ba5c27f25e9d87ee62.tar.gz wordpress-b757b37551f7f34de972a9ba5c27f25e9d87ee62.zip |
Unit Tests: after [35225], make `factory` a method/getter on `WP_UnitTestCase` and add magic methods for BC for every plugin that is extending `WP_UnitTestCase` and accessing the `$factory` instance prop.
Props nerrad, wonderboymusic.
See #30017, #33968.
git-svn-id: https://develop.svn.wordpress.org/trunk@35242 602fd350-edb4-49c9-b593-d223f7449a82
Diffstat (limited to 'tests/phpunit/includes')
-rw-r--r-- | tests/phpunit/includes/testcase-ajax.php | 4 | ||||
-rw-r--r-- | tests/phpunit/includes/testcase-canonical.php | 2 | ||||
-rw-r--r-- | tests/phpunit/includes/testcase-xmlrpc.php | 2 | ||||
-rw-r--r-- | tests/phpunit/includes/testcase.php | 27 |
4 files changed, 22 insertions, 13 deletions
diff --git a/tests/phpunit/includes/testcase-ajax.php b/tests/phpunit/includes/testcase-ajax.php index 6296ced04b..3227fa6460 100644 --- a/tests/phpunit/includes/testcase-ajax.php +++ b/tests/phpunit/includes/testcase-ajax.php @@ -75,7 +75,7 @@ abstract class WP_Ajax_UnitTestCase extends WP_UnitTestCase { error_reporting( $this->_error_level & ~E_WARNING ); // Make some posts - self::$factory->post->create_many( 5 ); + self::factory()->post->create_many( 5 ); } /** @@ -148,7 +148,7 @@ abstract class WP_Ajax_UnitTestCase extends WP_UnitTestCase { */ protected function _setRole( $role ) { $post = $_POST; - $user_id = self::$factory->user->create( array( 'role' => $role ) ); + $user_id = self::factory()->user->create( array( 'role' => $role ) ); wp_set_current_user( $user_id ); $_POST = array_merge($_POST, $post); } diff --git a/tests/phpunit/includes/testcase-canonical.php b/tests/phpunit/includes/testcase-canonical.php index 6470a64d3b..a82c8c5e0d 100644 --- a/tests/phpunit/includes/testcase-canonical.php +++ b/tests/phpunit/includes/testcase-canonical.php @@ -49,7 +49,7 @@ class WP_Canonical_UnitTestCase extends WP_UnitTestCase { wp_set_current_user( self::$author_id ); // Already created by install defaults: - // self::$factory->term->create( array( 'taxonomy' => 'category', 'name' => 'uncategorized' ) ); + // self::factory()->term->create( array( 'taxonomy' => 'category', 'name' => 'uncategorized' ) ); self::$post_ids[] = $factory->post->create( array( 'import_id' => 587, 'post_title' => 'post-format-test-audio', 'post_date' => '2008-06-02 00:00:00' ) ); self::$post_ids[] = $post_id = $factory->post->create( array( 'post_title' => 'post-format-test-gallery', 'post_date' => '2008-06-10 00:00:00' ) ); diff --git a/tests/phpunit/includes/testcase-xmlrpc.php b/tests/phpunit/includes/testcase-xmlrpc.php index 6f69569a80..5fefb51422 100644 --- a/tests/phpunit/includes/testcase-xmlrpc.php +++ b/tests/phpunit/includes/testcase-xmlrpc.php @@ -22,7 +22,7 @@ class WP_XMLRPC_UnitTestCase extends WP_UnitTestCase { } protected function make_user_by_role( $role ) { - return self::$factory->user->create( array( + return self::factory()->user->create( array( 'user_login' => $role, 'user_pass' => $role, 'role' => $role diff --git a/tests/phpunit/includes/testcase.php b/tests/phpunit/includes/testcase.php index e7c3308a33..b92e462e83 100644 --- a/tests/phpunit/includes/testcase.php +++ b/tests/phpunit/includes/testcase.php @@ -14,10 +14,23 @@ class WP_UnitTestCase extends PHPUnit_Framework_TestCase { protected static $hooks_saved = array(); protected static $ignore_files; - /** - * @var WP_UnitTest_Factory - */ - protected static $factory; + function __isset( $name ) { + return 'factory' === $name; + } + + function __get( $name ) { + if ( 'factory' === $name ) { + return self::factory(); + } + } + + protected static function factory() { + static $factory = null; + if ( ! $factory ) { + $factory = new WP_UnitTest_Factory(); + } + return $factory; + } public static function get_called_class() { if ( function_exists( 'get_called_class' ) ) { @@ -37,16 +50,12 @@ class WP_UnitTestCase extends PHPUnit_Framework_TestCase { public static function setUpBeforeClass() { parent::setUpBeforeClass(); - if ( ! self::$factory ) { - self::$factory = new WP_UnitTest_Factory(); - } - $c = self::get_called_class(); if ( ! method_exists( $c, 'wpSetUpBeforeClass' ) ) { return; } - call_user_func( array( $c, 'wpSetUpBeforeClass' ), self::$factory ); + call_user_func( array( $c, 'wpSetUpBeforeClass' ), self::factory() ); self::commit_transaction(); } |