WordPress.org

Make WordPress Core

Ticket #25799: 25799.2.patch

File 25799.2.patch, 2.5 KB (added by ocean90, 8 years ago)
  • src/wp-admin/includes/screen.php

     
    611611         *
    612612         * @since 3.3.0
    613613         *
    614          * @param string $option Option ID
     614         * @param string $option Option ID.
    615615         * @param mixed $args Option-dependent arguments.
    616616         */
    617617        public function add_option( $option, $args = array() ) {
     
    619619        }
    620620
    621621        /**
     622         * Removes an option from the screen.
     623         *
     624         * @since 3.8.0
     625         *
     626         * @param string $option Option ID.
     627         */
     628        public function remove_option( $option ) {
     629                unset( $this->_options[ $option ] );
     630        }
     631
     632        /**
     633         * Removes all options from the screen.
     634         *
     635         * @since 3.8.0
     636         */
     637        public function remove_options() {
     638                $this->_options = array();
     639        }
     640
     641        /**
     642         * Gets the options registered for the screen.
     643         *
     644         * @since 3.8.0
     645         *
     646         * @return array Options with arguments.
     647         */
     648        public function get_options() {
     649                return $this->_options;
     650        }
     651
     652        /**
    622653         * Gets the arguments for an option for the screen.
    623654         *
    624655         * @since 3.3.0
  • tests/phpunit/tests/admin/includesScreen.php

     
    155155        function test_help_tabs() {
    156156                $tab = rand_str();
    157157                $tab_args = array(
    158                         'id' => $tab,
    159                         'title' => 'Help!',
    160                         'content' => 'Some content',
     158                        'id'       => $tab,
     159                        'title'    => 'Help!',
     160                        'content'  => 'Some content',
    161161                        'callback' => false,
    162162                );
    163163
    164164                $screen = get_current_screen();
     165
    165166                $screen->add_help_tab( $tab_args );
    166167                $this->assertEquals( $screen->get_help_tab( $tab ), $tab_args );
    167168
     
    175176                $this->assertEquals( $screen->get_help_tabs(), array() );
    176177        }
    177178
     179        function test_options() {
     180                $option = rand_str();
     181                $option_args = array(
     182                        'label'   => 'Option',
     183                        'default' => 10,
     184                        'option'  => $option
     185                );
     186
     187                $screen = get_current_screen();
     188
     189                $screen->add_option( $option, $option_args );
     190                $this->assertEquals( $screen->get_option( $option ), $option_args );
     191
     192                $options = $screen->get_options();
     193                $this->assertArrayHasKey( $option, $options );
     194
     195                $screen->remove_option( $option );
     196                $this->assertNull( $screen->get_option( $option ) );
     197
     198                $screen->remove_options();
     199                $this->assertEquals( $screen->get_options(), array() );
     200        }
     201
    178202        function test_in_admin() {
    179203                $screen = get_current_screen();
    180204