Make WordPress Core

Changeset 53948


Ignore:
Timestamp:
08/27/2022 12:30:08 PM (4 years ago)
Author:
SergeyBiryukov
Message:

Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes.

Dynamic (non-explicitly declared) properties are deprecated as of PHP 8.2 and are expected to become a fatal error in PHP 9.0.

In each of the cases included in this commit, one or more properties are dynamically created in the set_up() method of the test class. This commit explicitly declares these properties.

As these properties are being declared on test classes, they are marked as private. Even though the original dynamic property was public, this should not be considered a backward compatibility break as this only involves test classes.

Notes:

  • As these properties receive assignments during test runs or a one-time assignment, but the assignment uses a function call or variable access, these properties cannot be changed to class constants, but they should be declared explicitly as properties on the class.
  • In Tests_Theme_CustomHeader, the $customize_manager property is given a default value of null, same as it was already being reset to null in the tear_down() method.
  • In Tests_Privacy_wpPrivacyProcessPersonalDataExportPage and Tests_Privacy_wpPrivacyGeneratePersonalDataExportFile classes, the property name had a leading _ underscore. This is an outdated PHP 4 practice to indicate a private property. As PHP 4 is no longer supported, the property has been renamed to $orig_error_level.
  • Along the same lines, in Tests_Menu_Walker_Nav_Menu, the property name also had a leading _ underscore. The property has been renamed to $orig_wp_nav_menu_max_depth.
  • In the Tests_Shortcode class, three properties were already being (re)set in the set_up() method, while three others were being set for most tests via the shortcode_test_shortcode_tag() method or in the tests themselves. It is ensured now that all six properties are given their initial null value in the set_up() method and are explicitly declared.

Additionally:

  • In the Tests_User_Session class, the set_up() method is incorrect. No assertions should be executed in fixture methods, but the set_up() method contains two assertions. This has not been addressed yet as it is outside the scope of this commit, but should be addressed at a later point in time.

Follow-up to [12/tests], [218/tests], [374/tests], [384/tests], [986/tests], [1106/tests], [1239/tests], [28704], [29221], [29347], [32648], [36519], [37953], [38832], [40142], [40825], [43584], [43768], [44786], [45141], [53557], [53558], [53850], [53851], [53852], [53853], [53854], [53856], [53916], [53935], [53936], [53937], [53938], [53942], [53945].

Props jrf.
See #56033.

Location:
trunk/tests/phpunit/tests
Files:
22 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/canonical/https.php

    r52010 r53948  
    77 */
    88class Tests_Canonical_HTTPS extends WP_Canonical_UnitTestCase {
     9
     10        /**
     11         * Dummy HTTP URL.
     12         *
     13         * @var string
     14         */
     15        private $http = '';
     16
     17        /**
     18         * Dummy HTTPS URL.
     19         *
     20         * @var string
     21         */
     22        private $https = '';
     23
    924        public function set_up() {
    1025                parent::set_up();
  • trunk/tests/phpunit/tests/customize/manager.php

    r53855 r53948  
    3333         */
    3434        protected static $subscriber_user_id;
     35
     36        /**
     37         * Path to test file 1.
     38         *
     39         * @var string
     40         */
     41        private $test_file;
     42
     43        /**
     44         * Path to test file 2.
     45         *
     46         * @var string
     47         */
     48        private $test_file2;
    3549
    3650        /**
  • trunk/tests/phpunit/tests/feed/atom.php

    r53815 r53948  
    1414        public static $category;
    1515
     16        private $post_count;
     17        private $excerpt_only;
     18
    1619        /**
    1720         * Setup a new user and attribute some posts.
  • trunk/tests/phpunit/tests/feed/rss2.php

    r53815 r53948  
    1515        public static $post_date;
    1616
     17        private $post_count;
     18        private $excerpt_only;
     19
    1720        /**
    1821         * Setup a new user and attribute some posts.
  • trunk/tests/phpunit/tests/includes/factory.php

    r52654 r53948  
    22
    33class TestFactoryFor extends WP_UnitTestCase {
     4
     5        /**
     6         * @var WP_UnitTest_Factory_For_Term
     7         */
     8        private $category_factory;
     9
    410        public function set_up() {
    511                parent::set_up();
  • trunk/tests/phpunit/tests/menu/walker-nav-menu-edit.php

    r52010 r53948  
    66 */
    77class Tests_Menu_Walker_Nav_Menu_Edit extends WP_UnitTestCase {
     8
     9        /**
     10         * @var \Walker_Nav_Menu_Edit
     11         */
     12        private $walker;
     13
    814        protected $_wp_nav_menu_max_depth;
    915
  • trunk/tests/phpunit/tests/menu/walker-nav-menu.php

    r52248 r53948  
    1212
    1313        /**
     14         * Original nav menu max depth.
     15         *
     16         * @var int
     17         */
     18        private $orig_wp_nav_menu_max_depth;
     19
     20        /**
    1421         * Setup.
    1522         */
     
    2330                $this->walker = new Walker_Nav_Menu();
    2431
    25                 $this->_wp_nav_menu_max_depth = $_wp_nav_menu_max_depth;
     32                $this->orig_wp_nav_menu_max_depth = $_wp_nav_menu_max_depth;
    2633        }
    2734
     
    3239                global $_wp_nav_menu_max_depth;
    3340
    34                 $_wp_nav_menu_max_depth = $this->_wp_nav_menu_max_depth;
     41                $_wp_nav_menu_max_depth = $this->orig_wp_nav_menu_max_depth;
    3542                parent::tear_down();
    3643        }
  • trunk/tests/phpunit/tests/meta.php

    r52010 r53948  
    66class Tests_Meta extends WP_UnitTestCase {
    77        protected $updated_mids = array();
     8
     9        /**
     10         * @var \WP_User
     11         */
     12        private $author;
     13
     14        private $meta_id;
     15        private $delete_meta_id;
    816
    917        public function set_up() {
  • trunk/tests/phpunit/tests/pomo/noopTranslations.php

    r52010 r53948  
    55 */
    66class Tests_POMO_NOOPTranslations extends WP_UnitTestCase {
     7
     8        /**
     9         * NOOP translations object.
     10         *
     11         * @var NOOP_Translations
     12         */
     13        private $noop;
     14
     15        /**
     16         * Single translation entry object.
     17         *
     18         * @var Translation_Entry
     19         */
     20        private $entry;
     21
     22        /**
     23         * Multi translation entries object.
     24         *
     25         * @var Translation_Entry
     26         */
     27        private $plural_entry;
     28
    729        public function set_up() {
    830                parent::set_up();
  • trunk/tests/phpunit/tests/post.php

    r53787 r53948  
    1010        protected static $grammarian_id;
    1111
     12        private $post_ids = array();
     13
    1214        public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) {
    1315                self::$editor_id = $factory->user->create( array( 'role' => 'editor' ) );
  • trunk/tests/phpunit/tests/privacy/wpPrivacyGeneratePersonalDataExportFile.php

    r53454 r53948  
    4646
    4747        /**
     48         * Original error level.
     49         *
     50         * @var int
     51         */
     52        private $orig_error_level;
     53
     54        /**
    4855         * Create fixtures that are shared by multiple test cases.
    4956         *
     
    8087
    8188                // Suppress warnings from "Cannot modify header information - headers already sent by".
    82                 $this->_error_level = error_reporting();
    83                 error_reporting( $this->_error_level & ~E_WARNING );
     89                $this->orig_error_level = error_reporting();
     90                error_reporting( $this->orig_error_level & ~E_WARNING );
    8491        }
    8592
     
    93100        public function tear_down() {
    94101                $this->remove_exports_dir();
    95                 error_reporting( $this->_error_level );
     102                error_reporting( $this->orig_error_level );
    96103                parent::tear_down();
    97104        }
  • trunk/tests/phpunit/tests/privacy/wpPrivacyProcessPersonalDataExportPage.php

    r51568 r53948  
    140140         */
    141141        public $_export_data_grouped_fetched_within_callback;
     142
     143        /**
     144         * Original error level.
     145         *
     146         * @var int
     147         */
     148        private $orig_error_level;
    142149
    143150        /**
     
    210217
    211218                // Suppress warnings from "Cannot modify header information - headers already sent by".
    212                 $this->_error_level = error_reporting();
    213                 error_reporting( $this->_error_level & ~E_WARNING );
     219                $this->orig_error_level = error_reporting();
     220                error_reporting( $this->orig_error_level & ~E_WARNING );
    214221        }
    215222
     
    220227         */
    221228        public function tear_down() {
    222                 error_reporting( $this->_error_level );
     229                error_reporting( $this->orig_error_level );
    223230
    224231                parent::tear_down();
  • trunk/tests/phpunit/tests/rest-api/rest-autosaves-controller.php

    r53921 r53948  
    2525        protected static $child_page_id;
    2626        protected static $child_draft_page_id;
     27
     28        private $post_autosave;
    2729
    2830        protected function set_post_data( $args = array() ) {
  • trunk/tests/phpunit/tests/rest-api/rest-controller.php

    r53760 r53948  
    1111 */
    1212class WP_Test_REST_Controller extends WP_Test_REST_TestCase {
     13
     14        /**
     15         * @var WP_REST_Request
     16         */
     17        private $request;
    1318
    1419        public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) {
  • trunk/tests/phpunit/tests/rest-api/rest-revisions-controller.php

    r51568 r53948  
    1616        protected static $editor_id;
    1717        protected static $contributor_id;
     18
     19        private $total_revisions;
     20        private $revisions;
     21        private $revision_1;
     22        private $revision_id1;
     23        private $revision_2;
     24        private $revision_id2;
     25        private $revision_3;
     26        private $revision_id3;
    1827
    1928        public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) {
  • trunk/tests/phpunit/tests/rest-api/rest-settings-controller.php

    r53921 r53948  
    1414        protected static $administrator;
    1515        protected static $author;
     16
     17        /**
     18         * @var WP_REST_Settings_Controller
     19         */
     20        private $endpoint;
    1621
    1722        public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) {
  • trunk/tests/phpunit/tests/rest-api/rest-users-controller.php

    r53936 r53948  
    2525
    2626        protected static $site;
     27
     28        /**
     29         * @var WP_REST_Users_Controller
     30         */
     31        private $endpoint;
    2732
    2833        public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) {
  • trunk/tests/phpunit/tests/rewrite/numericSlugs.php

    r52389 r53948  
    77class Tests_Rewrite_NumericSlugs extends WP_UnitTestCase {
    88        private $old_current_user;
     9        private $author_id;
    910
    1011        public function set_up() {
  • trunk/tests/phpunit/tests/shortcode.php

    r52010 r53948  
    77        protected $shortcodes = array( 'test-shortcode-tag', 'footag', 'bartag', 'baztag', 'dumptag', 'hyphen', 'hyphen-foo', 'hyphen-foo-bar', 'url', 'img' );
    88
     9        private $atts    = null;
     10        private $content = null;
     11        private $tagname = null;
     12
     13        private $filter_atts_out   = null;
     14        private $filter_atts_pairs = null;
     15        private $filter_atts_atts  = null;
     16
    917        public function set_up() {
    1018                parent::set_up();
     
    1422                }
    1523
    16                 $this->atts    = null;
    17                 $this->content = null;
    18                 $this->tagname = null;
    19 
     24                $this->atts              = null;
     25                $this->content           = null;
     26                $this->tagname           = null;
     27                $this->filter_atts_out   = null;
     28                $this->filter_atts_pairs = null;
     29                $this->filter_atts_atts  = null;
    2030        }
    2131
  • trunk/tests/phpunit/tests/theme/customHeader.php

    r53741 r53948  
    88
    99        protected static $header_video_id;
     10
     11        private $customize_manager = null;
    1012
    1113        public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) {
  • trunk/tests/phpunit/tests/user/session.php

    r52010 r53948  
    77 */
    88class Tests_User_Session extends WP_UnitTestCase {
     9
     10        /**
     11         * @var WP_User_Meta_Session_Tokens
     12         */
     13        private $manager;
    914
    1015        public function set_up() {
  • trunk/tests/phpunit/tests/walker.php

    r52010 r53948  
    99class Tests_Walker extends WP_UnitTestCase {
    1010
     11        /**
     12         * @var Walker
     13         */
     14        private $walker;
     15
    1116        public function set_up() {
    1217                parent::set_up();
Note: See TracChangeset for help on using the changeset viewer.