Changeset 37476 for trunk/tests/phpunit/tests/customize/setting.php
- Timestamp:
- 05/20/2016 09:09:40 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/customize/setting.php
r37350 r37476 43 43 $this->assertEquals( '', $setting->sanitize_callback ); 44 44 $this->assertEquals( '', $setting->sanitize_js_callback ); 45 $this->assertFalse( has_filter( "customize_validate_{$setting->id}" ) ); 45 46 $this->assertFalse( has_filter( "customize_sanitize_{$setting->id}" ) ); 46 47 $this->assertFalse( has_filter( "customize_sanitize_js_{$setting->id}" ) ); … … 55 56 'default' => 'barbar', 56 57 'transport' => 'postMessage', 58 'validate_callback' => create_function( '$value', 'return $value . ":validate_callback";' ), 57 59 'sanitize_callback' => create_function( '$value', 'return $value . ":sanitize_callback";' ), 58 60 'sanitize_js_callback' => create_function( '$value', 'return $value . ":sanitize_js_callback";' ), … … 63 65 $this->assertEquals( $value, $setting->$key ); 64 66 } 67 $this->assertEquals( 10, has_filter( "customize_validate_{$setting->id}", $args['validate_callback'] ) ); 65 68 $this->assertEquals( 10, has_filter( "customize_sanitize_{$setting->id}", $args['sanitize_callback'] ) ); 66 69 $this->assertEquals( 10, has_filter( "customize_sanitize_js_{$setting->id}" ), $args['sanitize_js_callback'] ); … … 91 94 /** 92 95 * Run assertions on non-multidimensional standard settings. 96 * 97 * @see WP_Customize_Setting::value() 93 98 */ 94 99 function test_preview_standard_types_non_multidimensional() { … … 168 173 * 169 174 * @see WP_Customize_Setting::preview() 175 * @see WP_Customize_Setting::value() 170 176 */ 171 177 function test_preview_standard_types_multidimensional() { … … 570 576 $this->assertEquals( 'no', $autoload, 'Even though setting1 did not indicate autoload (thus normally true), since another multidimensional option setting of the base did say autoload=false, it should be autoload=no' ); 571 577 } 578 579 /** 580 * Test js_value and json methods. 581 * 582 * @see WP_Customize_Setting::js_value() 583 * @see WP_Customize_Setting::json() 584 */ 585 public function test_js_value() { 586 $default = "\x00"; 587 $args = array( 588 'type' => 'binary', 589 'default' => $default, 590 'transport' => 'postMessage', 591 'dirty' => true, 592 'sanitize_js_callback' => create_function( '$value', 'return base64_encode( $value );' ), 593 ); 594 $setting = new WP_Customize_Setting( $this->manager, 'name', $args ); 595 596 $this->assertEquals( $default, $setting->value() ); 597 $this->assertEquals( base64_encode( $default ), $setting->js_value() ); 598 599 $exported = $setting->json(); 600 $this->assertArrayHasKey( 'type', $exported ); 601 $this->assertArrayHasKey( 'value', $exported ); 602 $this->assertArrayHasKey( 'transport', $exported ); 603 $this->assertArrayHasKey( 'dirty', $exported ); 604 $this->assertEquals( $setting->js_value(), $exported['value'] ); 605 $this->assertEquals( $args['type'], $setting->type ); 606 $this->assertEquals( $args['transport'], $setting->transport ); 607 $this->assertEquals( $args['dirty'], $setting->dirty ); 608 } 609 610 /** 611 * Test validate. 612 * 613 * @see WP_Customize_Setting::validate() 614 */ 615 public function test_validate() { 616 $setting = new WP_Customize_Setting( $this->manager, 'name', array( 617 'type' => 'key', 618 'validate_callback' => array( $this, 'filter_validate_for_test_validate' ), 619 ) ); 620 $validity = $setting->validate( 'BAD!' ); 621 $this->assertInstanceOf( 'WP_Error', $validity ); 622 $this->assertEquals( 'invalid_key', $validity->get_error_code() ); 623 } 624 625 /** 626 * Validate callback. 627 * 628 * @see Tests_WP_Customize_Setting::test_validate() 629 * 630 * @param WP_Error $validity Validity. 631 * @param string $value Value. 632 * 633 * @return WP_Error 634 */ 635 public function filter_validate_for_test_validate( $validity, $value ) { 636 $this->assertInstanceOf( 'WP_Error', $validity ); 637 $this->assertInternalType( 'string', $value ); 638 if ( sanitize_key( $value ) !== $value ) { 639 $validity->add( 'invalid_key', 'Invalid key' ); 640 } 641 return $validity; 642 } 572 643 } 573 644
Note: See TracChangeset
for help on using the changeset viewer.