Ticket #39778: unit-tests.39778.diff
File unit-tests.39778.diff, 2.8 KB (added by , 8 years ago) |
---|
-
src/wp-includes/class-wp-customize-manager.php
diff --git src/wp-includes/class-wp-customize-manager.php src/wp-includes/class-wp-customize-manager.php index 1b2d29dc3b..d6645c6e0f 100644
final class WP_Customize_Manager { 480 480 return; 481 481 } 482 482 483 if ( ! preg_match( '/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/',$this->_changeset_uuid ) ) {483 if ( ! wp_is_valid_uuid4( $this->_changeset_uuid ) ) { 484 484 $this->wp_die( -1, __( 'Invalid changeset UUID' ) ); 485 485 } 486 486 -
src/wp-includes/functions.php
diff --git src/wp-includes/functions.php src/wp-includes/functions.php index 3923ca92ec..a1342244b6 100644
function wp_generate_uuid4() { 5610 5610 } 5611 5611 5612 5612 /** 5613 * Generate a random UUID (version 4). 5614 * 5615 * @param string $uuid 5616 * 5617 * @return bool The string is a valid UUID V4 or false on failure. 5618 */ 5619 function wp_is_valid_uuid4( $uuid ) { 5620 return (bool) preg_match( '/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/', $uuid ); 5621 } 5622 5623 /** 5613 5624 * Get last changed date for the specified cache group. 5614 5625 * 5615 5626 * @since 4.7.0 -
tests/phpunit/tests/functions.php
diff --git tests/phpunit/tests/functions.php tests/phpunit/tests/functions.php index 8932bc63f7..b794d65284 100644
class Tests_Functions extends WP_UnitTestCase { 891 891 $uuids = array(); 892 892 for ( $i = 0; $i < 20; $i += 1 ) { 893 893 $uuid = wp_generate_uuid4(); 894 $this->assert RegExp( '/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/', $uuid);894 $this->assertTrue( wp_is_valid_uuid4( $uuid ) ); 895 895 $uuids[] = $uuid; 896 896 } 897 897 898 898 $unique_uuids = array_unique( $uuids ); 899 899 $this->assertEquals( $uuids, $unique_uuids ); 900 900 } 901 902 /** 903 * Tests wp_is_valid_uuid4(). 904 * 905 * @covers ::wp_is_valid_uuid4 906 * @ticket 39778 907 */ 908 function test_wp_is_valid_uuid4() { 909 $uuids = array( 910 '27fe2421-780c-44c5-b39b-fff753092b55', 911 'b7c7713a-4ee9-45a1-87ed-944a90390fc7', 912 'fbedbe35-7bf5-49cc-a5ac-0343bd94360a', 913 '4c58e67e-123b-4290-a41c-5eeb6970fa3e', 914 'f54f5b78-e414-4637-84a9-a6cdc94a1beb', 915 'd1c533ac-abcf-44b6-9b0e-6477d2c91b09', 916 '7fcd683f-e5fd-454a-a8b9-ed15068830da', 917 '7962c750-e58c-470a-af0d-ec1eae453ff2', 918 'a59878ce-9a67-4493-8ca0-a756b52804b3', 919 '6faa519d-1e13-4415-bd6f-905ae3689d1d', 920 ); 921 922 foreach ( $uuids as $uuid ) { 923 $this->assertTrue( wp_is_valid_uuid4( $uuid ) ); 924 } 925 926 $invalid_uuids = array( 927 'a19d5192-ea41-11e6-b006-92361f002671', 928 'a19d5192-ea41-21e6-b006-92361f002671', 929 'a19d5192-ea41-31e6-b006-92361f002671', 930 'a19d5192-ea41-41e6-b006', 931 'this-is-not-valid', 932 1234, 933 ); 934 935 foreach ( $invalid_uuids as $invalid_uuid ) { 936 $this->assertFalse( wp_is_valid_uuid4( $invalid_uuid ) ); 937 } 938 } 901 939 }