From 6d0c15836b61afc42048bef4f7cadc8ef28f74b2 Mon Sep 17 00:00:00 2001 From: Scott Taylor Date: Tue, 8 Sep 2015 16:43:27 +0000 Subject: [PATCH] After [33840], JS regex needs the `g` modifier. Add another unit test case. Props kitchin. Fixes #22781. git-svn-id: https://develop.svn.wordpress.org/trunk@33947 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/js/utils.js | 4 ++-- tests/phpunit/tests/option/userSettings.php | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/wp-includes/js/utils.js b/src/wp-includes/js/utils.js index 3d0f8e9c94..60c2746203 100644 --- a/src/wp-includes/js/utils.js +++ b/src/wp-includes/js/utils.js @@ -161,12 +161,12 @@ function setUserSetting( name, value, _del ) { path = userSettings.url, secure = !! userSettings.secure; - name = name.toString().replace( /[^A-Za-z0-9_-]/, '' ); + name = name.toString().replace( /[^A-Za-z0-9_-]/g, '' ); if ( typeof value === 'number' ) { value = parseInt( value, 10 ); } else { - value = value.toString().replace( /[^A-Za-z0-9_-]/, '' ); + value = value.toString().replace( /[^A-Za-z0-9_-]/g, '' ); } settings = settings || {}; diff --git a/tests/phpunit/tests/option/userSettings.php b/tests/phpunit/tests/option/userSettings.php index 443d12f806..1509fe2136 100644 --- a/tests/phpunit/tests/option/userSettings.php +++ b/tests/phpunit/tests/option/userSettings.php @@ -34,9 +34,19 @@ class Tests_User_Settings extends WP_UnitTestCase { $this->assertEmpty( $foo ); - $this->set_user_setting( 'foo', 'foo-bar' ); + $this->set_user_setting( 'foo', 'foo-bar-baz' ); - $this->assertEquals( 'foo-bar', get_user_setting( 'foo' ) ); + $this->assertEquals( '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->assertEquals( 'foobarbaz', get_user_setting( 'foo' ) ); } // set_user_setting bails if `headers_sent()` is true