mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-04-16 18:44:32 +00:00
This prevents standalone percent symbols from being stripped out, e.g. in a default value like `100%`. Props aristath, kuus, moonomo, westonruter, davetgreen, daviedR, katielgc, noisysocks, SergeyBiryukov. Fixes #34290. git-svn-id: https://develop.svn.wordpress.org/trunk@46395 602fd350-edb4-49c9-b593-d223f7449a82
102 lines
2.0 KiB
PHP
102 lines
2.0 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @group option
|
|
*/
|
|
class Tests_Option_Theme_Mods extends WP_UnitTestCase {
|
|
|
|
function test_theme_mod_default() {
|
|
$this->assertEquals( '', get_theme_mod( 'non_existent' ) );
|
|
}
|
|
|
|
function test_theme_mod_defined_default() {
|
|
$this->assertEquals( 'default', get_theme_mod( 'non_existent', 'default' ) );
|
|
}
|
|
|
|
function test_theme_mod_set() {
|
|
$expected = 'value';
|
|
set_theme_mod( 'test_name', $expected );
|
|
$this->assertEquals( $expected, get_theme_mod( 'test_name' ) );
|
|
}
|
|
|
|
function test_theme_mod_update() {
|
|
set_theme_mod( 'test_update', 'first_value' );
|
|
$expected = 'updated_value';
|
|
set_theme_mod( 'test_update', $expected );
|
|
$this->assertEquals( $expected, get_theme_mod( 'test_update' ) );
|
|
}
|
|
|
|
function test_theme_mod_remove() {
|
|
set_theme_mod( 'test_remove', 'value' );
|
|
remove_theme_mod( 'test_remove' );
|
|
$this->assertEquals( '', get_theme_mod( 'test_remove' ) );
|
|
}
|
|
|
|
/**
|
|
* @ticket 34290
|
|
*
|
|
* @dataProvider data_theme_mod_default_value_with_percent_symbols
|
|
*/
|
|
function test_theme_mod_default_value_with_percent_symbols( $default, $expected ) {
|
|
$this->assertEquals( $expected, get_theme_mod( 'test_name', $default ) );
|
|
}
|
|
|
|
function data_theme_mod_default_value_with_percent_symbols() {
|
|
return array(
|
|
array(
|
|
'100%',
|
|
'100%',
|
|
),
|
|
array(
|
|
'%s',
|
|
get_template_directory_uri(),
|
|
),
|
|
array(
|
|
'%s%s',
|
|
get_template_directory_uri() . get_stylesheet_directory_uri(),
|
|
),
|
|
array(
|
|
'%1$s%s',
|
|
get_template_directory_uri() . get_template_directory_uri(),
|
|
),
|
|
array(
|
|
'%2$s%s',
|
|
get_stylesheet_directory_uri() . get_template_directory_uri(),
|
|
),
|
|
array(
|
|
'%1$s%2$s',
|
|
get_template_directory_uri() . get_stylesheet_directory_uri(),
|
|
),
|
|
array(
|
|
'%40s%40s',
|
|
get_template_directory_uri() . get_stylesheet_directory_uri(),
|
|
),
|
|
array(
|
|
'%%1',
|
|
'%%1',
|
|
),
|
|
array(
|
|
'%1%',
|
|
'%1%',
|
|
),
|
|
array(
|
|
'1%%',
|
|
'1%%',
|
|
),
|
|
array(
|
|
'%%s',
|
|
'%%s',
|
|
),
|
|
array(
|
|
'%s%',
|
|
get_template_directory_uri(),
|
|
),
|
|
array(
|
|
's%%',
|
|
's%%',
|
|
),
|
|
);
|
|
}
|
|
|
|
}
|