Skip to content

Commit 7df9ed9

Browse files
committed
Update attribute selector tests
1 parent 15c07b3 commit 7df9ed9

File tree

1 file changed

+45
-37
lines changed

1 file changed

+45
-37
lines changed

tests/phpunit/tests/html-api/wpCssCompoundSelectorList.php

Lines changed: 45 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -331,45 +331,53 @@ public function test_parse_attribute(
331331
*/
332332
public static function data_attribute_selectors(): array {
333333
return array(
334-
'[href]' => array( '[href]', 'href', null, null, null, '' ),
335-
'[href] type' => array( '[href] type', 'href', null, null, null, ' type' ),
336-
'[href]#id' => array( '[href]#id', 'href', null, null, null, '#id' ),
337-
'[href].class' => array( '[href].class', 'href', null, null, null, '.class' ),
338-
'[href][href2]' => array( '[href][href2]', 'href', null, null, null, '[href2]' ),
339-
'[\n href\t\r]' => array( "[\n href\t\r]", 'href', null, null, null, '' ),
340-
'[href=foo]' => array( '[href=foo]', 'href', WP_CSS_Attribute_Selector::MATCH_EXACT, 'foo', null, '' ),
341-
'[href \n = bar ]' => array( "[href \n = bar ]", 'href', WP_CSS_Attribute_Selector::MATCH_EXACT, 'bar', null, '' ),
342-
'[href \n ^= baz ]' => array( "[href \n ^= baz ]", 'href', WP_CSS_Attribute_Selector::MATCH_PREFIXED_BY, 'baz', null, '' ),
343-
344-
'[match $= insensitive i]' => array( '[match $= insensitive i]', 'match', WP_CSS_Attribute_Selector::MATCH_SUFFIXED_BY, 'insensitive', WP_CSS_Attribute_Selector::MODIFIER_CASE_INSENSITIVE, '' ),
345-
'[match|=sensitive s]' => array( '[match|=sensitive s]', 'match', WP_CSS_Attribute_Selector::MATCH_EXACT_OR_EXACT_WITH_HYPHEN, 'sensitive', WP_CSS_Attribute_Selector::MODIFIER_CASE_SENSITIVE, '' ),
346-
'[att=val I]' => array( '[att=val I]', 'att', WP_CSS_Attribute_Selector::MATCH_EXACT, 'val', WP_CSS_Attribute_Selector::MODIFIER_CASE_INSENSITIVE, '' ),
347-
'[att=val S]' => array( '[att=val S]', 'att', WP_CSS_Attribute_Selector::MATCH_EXACT, 'val', WP_CSS_Attribute_Selector::MODIFIER_CASE_SENSITIVE, '' ),
348-
349-
'[match~="quoted[][]"]' => array( '[match~="quoted[][]"]', 'match', WP_CSS_Attribute_Selector::MATCH_ONE_OF_EXACT, 'quoted[][]', null, '' ),
350-
"[match$='quoted!{}']" => array( "[match$='quoted!{}']", 'match', WP_CSS_Attribute_Selector::MATCH_SUFFIXED_BY, 'quoted!{}', null, '' ),
351-
"[match*='quoted's]" => array( "[match*='quoted's]", 'match', WP_CSS_Attribute_Selector::MATCH_CONTAINS, 'quoted', WP_CSS_Attribute_Selector::MODIFIER_CASE_SENSITIVE, '' ),
352-
353-
'[escape-nl="foo\\nbar"]' => array( "[escape-nl='foo\\\nbar']", 'escape-nl', WP_CSS_Attribute_Selector::MATCH_EXACT, 'foobar', null, '' ),
354-
'[escape-seq="\\31 23"]' => array( "[escape-seq='\\31 23']", 'escape-seq', WP_CSS_Attribute_Selector::MATCH_EXACT, '123', null, '' ),
334+
'[href]' => array( '[href]', 'href', null, null, null, '' ),
335+
'[href] type' => array( '[href] type', 'href', null, null, null, ' type' ),
336+
'[href]#id' => array( '[href]#id', 'href', null, null, null, '#id' ),
337+
'[href].class' => array( '[href].class', 'href', null, null, null, '.class' ),
338+
'[href][href2]' => array( '[href][href2]', 'href', null, null, null, '[href2]' ),
339+
'[\n href\t\r]' => array( "[\n href\t\r]", 'href', null, null, null, '' ),
340+
'[href=foo]' => array( '[href=foo]', 'href', WP_CSS_Attribute_Selector::MATCH_EXACT, 'foo', null, '' ),
341+
'[href \n = bar ]' => array( "[href \n = bar ]", 'href', WP_CSS_Attribute_Selector::MATCH_EXACT, 'bar', null, '' ),
342+
'[href \n ^= baz ]' => array( "[href \n ^= baz ]", 'href', WP_CSS_Attribute_Selector::MATCH_PREFIXED_BY, 'baz', null, '' ),
343+
344+
'[match $= insensitive i]' => array( '[match $= insensitive i]', 'match', WP_CSS_Attribute_Selector::MATCH_SUFFIXED_BY, 'insensitive', WP_CSS_Attribute_Selector::MODIFIER_CASE_INSENSITIVE, '' ),
345+
'[match|=sensitive s]' => array( '[match|=sensitive s]', 'match', WP_CSS_Attribute_Selector::MATCH_EXACT_OR_EXACT_WITH_HYPHEN, 'sensitive', WP_CSS_Attribute_Selector::MODIFIER_CASE_SENSITIVE, '' ),
346+
'[att=val I]' => array( '[att=val I]', 'att', WP_CSS_Attribute_Selector::MATCH_EXACT, 'val', WP_CSS_Attribute_Selector::MODIFIER_CASE_INSENSITIVE, '' ),
347+
'[att=val S]' => array( '[att=val S]', 'att', WP_CSS_Attribute_Selector::MATCH_EXACT, 'val', WP_CSS_Attribute_Selector::MODIFIER_CASE_SENSITIVE, '' ),
348+
349+
'[match~="quoted[][]"]' => array( '[match~="quoted[][]"]', 'match', WP_CSS_Attribute_Selector::MATCH_ONE_OF_EXACT, 'quoted[][]', null, '' ),
350+
"[match$='quoted!{}']" => array( "[match$='quoted!{}']", 'match', WP_CSS_Attribute_Selector::MATCH_SUFFIXED_BY, 'quoted!{}', null, '' ),
351+
"[match*='quoted's]" => array( "[match*='quoted's]", 'match', WP_CSS_Attribute_Selector::MATCH_CONTAINS, 'quoted', WP_CSS_Attribute_Selector::MODIFIER_CASE_SENSITIVE, '' ),
352+
353+
'[escape-nl="foo\\nbar"]' => array( "[escape-nl='foo\\\nbar']", 'escape-nl', WP_CSS_Attribute_Selector::MATCH_EXACT, 'foobar', null, '' ),
354+
'[escape-seq="\\31 23"]' => array( "[escape-seq='\\31 23']", 'escape-seq', WP_CSS_Attribute_Selector::MATCH_EXACT, '123', null, '' ),
355+
356+
'Unterminated: [att' => array( '[att', 'att', null, null, null, '' ),
357+
'Unterminated: [att="' => array( '[att="', 'att', WP_CSS_Attribute_Selector::MATCH_EXACT, '', null, '' ),
358+
'Unterminated: [att="\\"' => array( '[att="\\"', 'att', WP_CSS_Attribute_Selector::MATCH_EXACT, '"', null, '' ),
359+
'Unterminated: [att="x"' => array( '[att="x"', 'att', WP_CSS_Attribute_Selector::MATCH_EXACT, 'x', null, '' ),
360+
'Unterminated: [att="x\\"i]' => array( '[att="x\\"i]', 'att', WP_CSS_Attribute_Selector::MATCH_EXACT, 'x"i]', null, '' ),
361+
'Unterminated: [att="x" i' => array( '[att="x" i', 'att', WP_CSS_Attribute_Selector::MATCH_EXACT, 'x', WP_CSS_Attribute_Selector::MODIFIER_CASE_INSENSITIVE, '' ),
362+
'Unterminated: [att = x i' => array( '[att = x i', 'att', WP_CSS_Attribute_Selector::MATCH_EXACT, 'x', WP_CSS_Attribute_Selector::MODIFIER_CASE_INSENSITIVE, '' ),
355363

356364
// Invalid
357-
'Invalid: (empty string)' => array( '' ),
358-
'Invalid: foo' => array( 'foo' ),
359-
'Invalid: [foo' => array( '[foo' ),
360-
'Invalid: [#foo]' => array( '[#foo]' ),
361-
'Invalid: [*|*]' => array( '[*|*]' ),
362-
'Invalid: [ns|*]' => array( '[ns|*]' ),
363-
'Invalid: [* |att]' => array( '[* |att]' ),
364-
'Invalid: [*| att]' => array( '[*| att]' ),
365-
'Invalid: [att * =]' => array( '[att * =]' ),
366-
'Invalid: [att+=val]' => array( '[att+=val]' ),
367-
'Invalid: [att=val ' => array( '[att=val ' ),
368-
'Invalid: [att i]' => array( '[att i]' ),
369-
'Invalid: [att s]' => array( '[att s]' ),
370-
"Invalid: [att='val\\n']" => array( "[att='val\n']" ),
371-
'Invalid: [att=val i ' => array( '[att=val i ' ),
372-
'Invalid: [att="val"ix' => array( '[att="val"ix' ),
365+
'Invalid: (empty string)' => array( '' ),
366+
'Invalid: foo' => array( 'foo' ),
367+
'Invalid: [foo' => array( '[foo' ),
368+
'Invalid: [#foo]' => array( '[#foo]' ),
369+
'Invalid: [*|*]' => array( '[*|*]' ),
370+
'Invalid: [ns|*]' => array( '[ns|*]' ),
371+
'Invalid: [* |att]' => array( '[* |att]' ),
372+
'Invalid: [*| att]' => array( '[*| att]' ),
373+
'Invalid: [att * =]' => array( '[att * =]' ),
374+
'Invalid: [att+=val]' => array( '[att+=val]' ),
375+
'Invalid: [att=val ' => array( '[att=val ' ),
376+
'Invalid: [att i]' => array( '[att i]' ),
377+
'Invalid: [att s]' => array( '[att s]' ),
378+
"Invalid: [att='val\\n']" => array( "[att='val\n']" ),
379+
'Invalid: [att=val i ' => array( '[att=val i ' ),
380+
'Invalid: [att="val"ix' => array( '[att="val"ix' ),
373381
);
374382
}
375383

0 commit comments

Comments
 (0)