Wordpress/tests/phpunit/tests/option/userSettings.php
Sergey Biryukov 164b22cf6a Tests: First pass at using assertSame() instead of assertEquals() in most of the unit tests.
This ensures that not only the return values match the expected results, but also that their type is the same.

Going forward, stricter type checking by using `assertSame()` should generally be preferred to `assertEquals()` where appropriate, to make the tests more reliable.

Props johnbillion, jrf, SergeyBiryukov.
See #38266.

git-svn-id: https://develop.svn.wordpress.org/trunk@48937 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-02 00:35:36 +00:00

61 lines
1.3 KiB
PHP

<?php
class Tests_User_Settings extends WP_UnitTestCase {
protected $user_id;
function setUp() {
parent::setUp();
$this->user_id = self::factory()->user->create(
array(
'role' => 'administrator',
)
);
wp_set_current_user( $this->user_id );
}
function tearDown() {
unset( $GLOBALS['_updated_user_settings'] );
parent::tearDown();
}
function test_set_user_setting() {
$foo = get_user_setting( 'foo' );
$this->assertEmpty( $foo );
$this->set_user_setting( 'foo', 'bar' );
$this->assertSame( 'bar', get_user_setting( 'foo' ) );
}
function test_set_user_setting_dashes() {
$foo = get_user_setting( 'foo' );
$this->assertEmpty( $foo );
$this->set_user_setting( 'foo', 'foo-bar-baz' );
$this->assertSame( 'foo-bar-baz', get_user_setting( 'foo' ) );
}
function test_set_user_setting_strip_asterisks() {
$foo = get_user_setting( 'foo' );
$this->assertEmpty( $foo );
$this->set_user_setting( 'foo', 'foo*bar*baz' );
$this->assertSame( 'foobarbaz', get_user_setting( 'foo' ) );
}
// set_user_setting() bails if `headers_sent()` is true.
function set_user_setting( $name, $value ) {
$all_user_settings = get_all_user_settings();
$all_user_settings[ $name ] = $value;
return wp_set_all_user_settings( $all_user_settings );
}
}