Changeset 36586 for trunk/tests/phpunit/tests/customize/widgets.php
- Timestamp:
- 02/19/2016 06:40:06 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/customize/widgets.php
r35754 r36586 40 40 remove_action( 'after_setup_theme', 'twentyfifteen_setup' ); 41 41 remove_action( 'after_setup_theme', 'twentysixteen_setup' ); 42 remove_action( 'customize_register', 'twentysixteen_customize_register', 11 ); 42 43 43 44 $user_id = self::factory()->user->create( array( 'role' => 'administrator' ) ); … … 122 123 'type' => 'option', 123 124 'capability' => 'edit_theme_options', 124 'transport' => ' refresh',125 'transport' => 'postMessage', 125 126 'default' => array(), 126 127 'sanitize_callback' => array( $this->manager->widgets, 'sanitize_widget_instance' ), … … 151 152 'type' => 'option', 152 153 'capability' => 'edit_theme_options', 153 'transport' => ' refresh',154 'transport' => 'postMessage', 154 155 'default' => array(), 155 156 'sanitize_callback' => array( $this->manager->widgets, 'sanitize_sidebar_widgets' ), … … 347 348 $this->assertEquals( $post_value, $this->manager->widgets->sanitize_widget_js_instance( $instance ) ); 348 349 } 350 351 /** 352 * Test WP_Customize_Widgets::customize_dynamic_partial_args(). 353 * 354 * @see WP_Customize_Widgets::customize_dynamic_partial_args() 355 */ 356 function test_customize_dynamic_partial_args() { 357 do_action( 'customize_register', $this->manager ); 358 359 $args = apply_filters( 'customize_dynamic_partial_args', false, 'widget[search-2]' ); 360 $this->assertInternalType( 'array', $args ); 361 $this->assertEquals( 'widget', $args['type'] ); 362 $this->assertEquals( array( $this->manager->widgets, 'render_widget_partial' ), $args['render_callback'] ); 363 $this->assertTrue( $args['container_inclusive'] ); 364 365 $args = apply_filters( 'customize_dynamic_partial_args', array( 'fallback_refresh' => false ), 'widget[search-2]' ); 366 $this->assertInternalType( 'array', $args ); 367 $this->assertEquals( 'widget', $args['type'] ); 368 $this->assertEquals( array( $this->manager->widgets, 'render_widget_partial' ), $args['render_callback'] ); 369 $this->assertTrue( $args['container_inclusive'] ); 370 $this->assertFalse( $args['fallback_refresh'] ); 371 } 372 373 /** 374 * Test WP_Customize_Widgets::selective_refresh_init(). 375 * 376 * @see WP_Customize_Widgets::selective_refresh_init() 377 */ 378 function test_selective_refresh_init() { 379 $this->manager->widgets->selective_refresh_init(); 380 $this->assertEquals( 10, has_action( 'wp_enqueue_scripts', array( $this->manager->widgets, 'customize_preview_enqueue_deps' ) ) ); 381 $this->assertEquals( 10, has_action( 'dynamic_sidebar_before', array( $this->manager->widgets, 'start_dynamic_sidebar' ) ) ); 382 $this->assertEquals( 10, has_action( 'dynamic_sidebar_after', array( $this->manager->widgets, 'end_dynamic_sidebar' ) ) ); 383 $this->assertEquals( 10, has_filter( 'dynamic_sidebar_params', array( $this->manager->widgets, 'filter_dynamic_sidebar_params' ) ) ); 384 $this->assertEquals( 10, has_filter( 'wp_kses_allowed_html', array( $this->manager->widgets, 'filter_wp_kses_allowed_data_attributes' ) ) ); 385 } 386 387 /** 388 * Test WP_Customize_Widgets::customize_preview_enqueue_deps(). 389 * 390 * @see WP_Customize_Widgets::customize_preview_enqueue_deps() 391 */ 392 function test_customize_preview_enqueue_deps() { 393 $this->manager->widgets->customize_preview_enqueue_deps(); 394 $this->assertTrue( wp_script_is( 'customize-preview-widgets', 'enqueued' ) ); 395 $this->assertTrue( wp_style_is( 'customize-preview', 'enqueued' ) ); 396 $script = wp_scripts()->registered['customize-preview-widgets']; 397 $this->assertContains( 'customize-selective-refresh', $script->deps ); 398 } 399 400 /** 401 * Test extensions to dynamic_sidebar(). 402 * 403 * @see WP_Customize_Widgets::filter_dynamic_sidebar_params() 404 * @see WP_Customize_Widgets::start_dynamic_sidebar() 405 * @see WP_Customize_Widgets::end_dynamic_sidebar() 406 */ 407 function test_filter_dynamic_sidebar_params() { 408 global $wp_registered_sidebars; 409 register_sidebar( array( 410 'id' => 'foo', 411 ) ); 412 413 $this->manager->widgets->selective_refresh_init(); 414 415 $params = array( 416 array_merge( 417 $wp_registered_sidebars['foo'], 418 array( 419 'widget_id' => 'search-2', 420 ) 421 ), 422 array(), 423 ); 424 $this->assertEquals( $params, $this->manager->widgets->filter_dynamic_sidebar_params( $params ), 'Expected short-circuit if not called after dynamic_sidebar_before.' ); 425 426 ob_start(); 427 do_action( 'dynamic_sidebar_before', 'foo' ); 428 $output = ob_get_clean(); 429 $this->assertEquals( '<!--dynamic_sidebar_before:foo:1-->', trim( $output ) ); 430 431 $bad_params = $params; 432 unset( $bad_params[0]['id'] ); 433 $this->assertEquals( $bad_params, $this->manager->widgets->filter_dynamic_sidebar_params( $bad_params ) ); 434 435 $bad_params = $params; 436 $bad_params[0]['id'] = 'non-existing'; 437 $this->assertEquals( $bad_params, $this->manager->widgets->filter_dynamic_sidebar_params( $bad_params ) ); 438 439 $bad_params = $params; 440 $bad_params[0]['before_widget'] = ' <oops>'; 441 $this->assertEquals( $bad_params, $this->manager->widgets->filter_dynamic_sidebar_params( $bad_params ) ); 442 443 $filtered_params = $this->manager->widgets->filter_dynamic_sidebar_params( $params ); 444 $this->assertNotEquals( $params, $filtered_params ); 445 ob_start(); 446 do_action( 'dynamic_sidebar_after', 'foo' ); 447 $output = ob_get_clean(); 448 $this->assertEquals( '<!--dynamic_sidebar_after:foo:1-->', trim( $output ) ); 449 450 $output = wp_kses_post( $filtered_params[0]['before_widget'] ); 451 $this->assertContains( 'data-customize-partial-id="widget[search-2]"', $output ); 452 $this->assertContains( 'data-customize-partial-type="widget"', $output ); 453 } 454 455 /** 456 * Test WP_Customize_Widgets::render_widget_partial() method. 457 * 458 * @see WP_Customize_Widgets::render_widget_partial() 459 */ 460 function test_render_widget_partial() { 461 $this->manager->widgets->selective_refresh_init(); 462 463 $partial_id = 'widget[search-2]'; 464 $partials = $this->manager->selective_refresh->add_dynamic_partials( array( $partial_id ) ); 465 $this->assertNotEmpty( $partials ); 466 $partial = array_shift( $partials ); 467 $this->assertEquals( $partial_id, $partial->id ); 468 469 $this->assertFalse( $this->manager->widgets->render_widget_partial( $partial, array() ) ); 470 $this->assertFalse( $this->manager->widgets->render_widget_partial( $partial, array( 'sidebar_id' => 'non-existing' ) ) ); 471 472 $output = $this->manager->widgets->render_widget_partial( $partial, array( 'sidebar_id' => 'sidebar-1' ) ); 473 474 $this->assertEquals( 1, substr_count( $output, 'data-customize-partial-id' ) ); 475 $this->assertEquals( 1, substr_count( $output, 'data-customize-partial-type="widget"' ) ); 476 $this->assertContains( ' id="search-2"', $output ); 477 } 478 479 /** 480 * Test deprecated methods. 481 */ 482 public function test_deprecated_methods() { 483 $this->setExpectedDeprecated( 'WP_Customize_Widgets::setup_widget_addition_previews' ); 484 $this->setExpectedDeprecated( 'WP_Customize_Widgets::prepreview_added_sidebars_widgets' ); 485 $this->setExpectedDeprecated( 'WP_Customize_Widgets::prepreview_added_widget_instance' ); 486 $this->setExpectedDeprecated( 'WP_Customize_Widgets::remove_prepreview_filters' ); 487 $this->manager->widgets->setup_widget_addition_previews(); 488 $this->manager->widgets->prepreview_added_sidebars_widgets(); 489 $this->manager->widgets->prepreview_added_widget_instance(); 490 $this->manager->widgets->remove_prepreview_filters(); 491 } 349 492 }
Note: See TracChangeset
for help on using the changeset viewer.