Changeset 46554
- Timestamp:
- 10/15/2019 07:34:31 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/shortcodes.php
r46465 r46554 489 489 * 490 490 * @since 2.5.0 491 * @since 5.3.0 Added support of a full shortcode input. 492 * 493 * @param string $text Any single shortcode of any format or key/value pair string. 491 * 492 * @param string $text 494 493 * @return array|string List of attribute values. 495 494 * Returns empty array if trim( $text ) == '""'. … … 500 499 $atts = array(); 501 500 $pattern = get_shortcode_atts_regex(); 502 $text = trim( preg_replace( "/[\x{00a0}\x{200b}]+/u", ' ', $text ) ); 503 504 // Remove everything but attributes from shortcode. 505 if ( preg_match( '#^\[[\w-]+([^\]]*?)\/?\]#', $text, $matches ) ) { 506 $text = $matches[1]; 507 } 508 501 $text = preg_replace( "/[\x{00a0}\x{200b}]+/u", ' ', $text ); 509 502 if ( preg_match_all( $pattern, $text, $match, PREG_SET_ORDER ) ) { 510 503 foreach ( $match as $m ) { -
trunk/tests/phpunit/tests/shortcode.php
r46465 r46554 741 741 742 742 function data_whole_posts() { 743 require_once DIR_TESTDATA . '/formatting/whole-posts.php';743 require_once( DIR_TESTDATA . '/formatting/whole-posts.php' ); 744 744 return data_whole_posts(); 745 745 } … … 973 973 $this->assertEquals( 'test-shortcode-tag', $this->tagname ); 974 974 } 975 976 /**977 * Testing the `shortcode_parse_atts()` function.978 *979 * @ticket 47863980 *981 * @covers ::shortcode_parse_atts982 * @dataProvider data_shortcode_parse_atts983 *984 * @param string $text A single shortcode format or key/value pair string.985 * @param string|array $expected Expected results.986 */987 public function test_shortcode_parse_atts( $text, $expected ) {988 $actual = shortcode_parse_atts( $text );989 $this->assertSame( $expected, $actual );990 }991 992 /**993 * Data provider for `test_shortcode_parse_atts()`.994 *995 * @return array {996 * @type array {997 * @type string $text A single shortcode format or key/value pair string.998 * @type string|array $expected The expected result.999 * }1000 * }1001 */1002 public function data_shortcode_parse_atts() {1003 1004 return array(1005 array(1006 '',1007 '',1008 ),1009 array(1010 ' ',1011 '',1012 ),1013 array(1014 '""',1015 array(),1016 ),1017 array(1018 '\'\'',1019 array(),1020 ),1021 array(1022 '[unittest]',1023 '',1024 ),1025 array(1026 '[unitest]Unit Test[/unittest]',1027 '',1028 ),1029 array(1030 '[unittest title="unittest" link="https://unit.test/"]',1031 array(1032 'title' => 'unittest',1033 'link' => 'https://unit.test/',1034 ),1035 ),1036 array(1037 '[unittest title="unittest" link="https://unit.test/"/]',1038 array(1039 'title' => 'unittest',1040 'link' => 'https://unit.test/',1041 ),1042 ),1043 array(1044 '[unit_test title="unittest" link="https://unit.test/"/]',1045 array(1046 'title' => 'unittest',1047 'link' => 'https://unit.test/',1048 ),1049 ),1050 array(1051 '[unit-test title="unittest" link="https://unit.test/"/]',1052 array(1053 'title' => 'unittest',1054 'link' => 'https://unit.test/',1055 ),1056 ),1057 array(1058 '[unittest link=https://unit.test/ /]',1059 array(1060 'link' => 'https://unit.test/',1061 ),1062 ),1063 array(1064 '[unittest link=https://unit.test/ ]',1065 array(1066 'link' => 'https://unit.test/',1067 ),1068 ),1069 array(1070 '[unittest link=https://unit.test/]',1071 array(1072 'link' => 'https://unit.test',1073 ),1074 ),1075 array(1076 '[unittest link https://unit.test/ /]',1077 array(1078 'link',1079 'https://unit.test/',1080 ),1081 ),1082 array(1083 '[unittest title="unittest" link="https://unit.test/"]Unit Test[/unittest]',1084 array(1085 'title' => 'unittest',1086 'link' => 'https://unit.test/',1087 ),1088 ),1089 array(1090 '[unittest title="unittest" link="https://unit.test/"][unit_test foo="bar" bar="foo"][/unittest]',1091 array(1092 'title' => 'unittest',1093 'link' => 'https://unit.test/',1094 ),1095 ),1096 array(1097 'title="unittest" link="https://unit.test/"',1098 array(1099 'title' => 'unittest',1100 'link' => 'https://unit.test/',1101 ),1102 ),1103 );1104 1105 }1106 1107 975 }
Note: See TracChangeset
for help on using the changeset viewer.