From c7ac073e73d035a35877dd13f843cc12d10a9791 Mon Sep 17 00:00:00 2001 From: Mathias Bynens <mathias@qiwi.be> Date: Mon, 9 Jul 2018 18:26:53 +0200 Subject: [PATCH] Update tests for RegExp Unicode property escapes (#1633) https://github.com/mathiasbynens/unicode-property-escapes-tests/commit/62cbe2f1cb8d5c5ec3841242316b0014a3c82e64 --- .../binary-properties-with-value.js | 21 -------- ...y-property-with-value-ASCII_-_F-negated.js | 18 +++++++ .../binary-property-with-value-ASCII_-_F.js | 18 +++++++ ...erty-with-value-ASCII_-_Invalid-negated.js | 18 +++++++ ...ary-property-with-value-ASCII_-_Invalid.js | 18 +++++++ ...y-property-with-value-ASCII_-_N-negated.js | 18 +++++++ .../binary-property-with-value-ASCII_-_N.js | 18 +++++++ ...-property-with-value-ASCII_-_No-negated.js | 18 +++++++ .../binary-property-with-value-ASCII_-_No.js | 18 +++++++ ...y-property-with-value-ASCII_-_T-negated.js | 18 +++++++ .../binary-property-with-value-ASCII_-_T.js | 18 +++++++ ...y-property-with-value-ASCII_-_Y-negated.js | 18 +++++++ .../binary-property-with-value-ASCII_-_Y.js | 18 +++++++ ...property-with-value-ASCII_-_Yes-negated.js | 18 +++++++ .../binary-property-with-value-ASCII_-_Yes.js | 18 +++++++ .../character-class-range-end.js | 20 ++++++++ .../character-class-range-no-dash-end.js | 20 ++++++++ .../character-class-range-no-dash-start.js | 20 ++++++++ .../character-class-range-start.js | 20 ++++++++ .../property-escapes/character-class.js | 14 +----- ...ension-In-prefix-Block-implicit-negated.js | 21 ++++++++ ...mmar-extension-In-prefix-Block-implicit.js | 21 ++++++++ ...nsion-In-prefix-Script-implicit-negated.js | 21 ++++++++ ...mar-extension-In-prefix-Script-implicit.js | 21 ++++++++ ...mmar-extension-In-prefix-Script-negated.js | 21 ++++++++ .../grammar-extension-In-prefix-Script.js | 21 ++++++++ ...mmar-extension-Is-prefix-Script-negated.js | 21 ++++++++ .../grammar-extension-Is-prefix-Script.js | 21 ++++++++ ...r-extension-circumflex-negation-negated.js | 21 ++++++++ .../grammar-extension-circumflex-negation.js | 21 ++++++++ .../grammar-extension-empty-negated.js | 21 ++++++++ .../grammar-extension-empty.js | 21 ++++++++ .../grammar-extension-invalid-negated.js | 21 ++++++++ .../grammar-extension-invalid.js | 21 ++++++++ .../grammar-extension-no-braces-negated.js | 21 ++++++++ ...ammar-extension-no-braces-value-negated.js | 21 ++++++++ .../grammar-extension-no-braces-value.js | 21 ++++++++ .../grammar-extension-no-braces.js | 21 ++++++++ ...ension-separator-and-value-only-negated.js | 21 ++++++++ ...mmar-extension-separator-and-value-only.js | 21 ++++++++ .../grammar-extension-separator-negated.js | 21 ++++++++ ...rammar-extension-separator-only-negated.js | 21 ++++++++ .../grammar-extension-separator-only.js | 21 ++++++++ .../grammar-extension-separator.js | 21 ++++++++ .../grammar-extension-unclosed-negated.js | 21 ++++++++ .../grammar-extension-unclosed.js | 21 ++++++++ .../grammar-extension-unopened-negated.js | 21 ++++++++ .../grammar-extension-unopened.js | 21 ++++++++ .../property-escapes/grammar-extensions.js | 47 ----------------- .../loose-matching-01-negated.js | 18 +++++++ .../property-escapes/loose-matching-01.js | 18 +++++++ .../loose-matching-02-negated.js | 18 +++++++ .../property-escapes/loose-matching-02.js | 18 +++++++ .../loose-matching-03-negated.js | 18 +++++++ .../property-escapes/loose-matching-03.js | 18 +++++++ .../loose-matching-04-negated.js | 18 +++++++ .../property-escapes/loose-matching-04.js | 18 +++++++ .../loose-matching-05-negated.js | 18 +++++++ .../property-escapes/loose-matching-05.js | 18 +++++++ .../loose-matching-06-negated.js | 18 +++++++ .../property-escapes/loose-matching-06.js | 18 +++++++ .../loose-matching-07-negated.js | 18 +++++++ .../property-escapes/loose-matching-07.js | 18 +++++++ .../loose-matching-08-negated.js | 18 +++++++ .../property-escapes/loose-matching-08.js | 18 +++++++ .../loose-matching-09-negated.js | 18 +++++++ .../property-escapes/loose-matching-09.js | 18 +++++++ .../loose-matching-10-negated.js | 18 +++++++ .../property-escapes/loose-matching-10.js | 18 +++++++ .../loose-matching-11-negated.js | 18 +++++++ .../property-escapes/loose-matching-11.js | 18 +++++++ .../loose-matching-12-negated.js | 18 +++++++ .../property-escapes/loose-matching-12.js | 18 +++++++ .../loose-matching-13-negated.js | 18 +++++++ .../property-escapes/loose-matching-13.js | 18 +++++++ .../loose-matching-14-negated.js | 18 +++++++ .../property-escapes/loose-matching-14.js | 18 +++++++ .../RegExp/property-escapes/loose-matching.js | 36 ------------- .../non-binary-properties-without-value.js | 23 --------- ...t-value-General_Category-equals-negated.js | 17 +++++++ ...y-without-value-General_Category-equals.js | 17 +++++++ ...-without-value-General_Category-negated.js | 17 +++++++ ...property-without-value-General_Category.js | 17 +++++++ ...rty-without-value-Script-equals-negated.js | 17 +++++++ ...ry-property-without-value-Script-equals.js | 17 +++++++ ...y-property-without-value-Script-negated.js | 17 +++++++ ...on-binary-property-without-value-Script.js | 17 +++++++ ...-value-Script_Extensions-equals-negated.js | 17 +++++++ ...-without-value-Script_Extensions-equals.js | 17 +++++++ ...without-value-Script_Extensions-negated.js | 17 +++++++ ...roperty-without-value-Script_Extensions.js | 17 +++++++ .../non-existent-binary-property-negated.js | 17 +++++++ .../non-existent-binary-property.js | 17 +++++++ .../non-existent-properties.js | 16 ------ ...non-existent-property-and-value-negated.js | 18 +++++++ .../non-existent-property-and-value.js | 18 +++++++ ...xistent-property-existing-value-negated.js | 17 +++++++ .../non-existent-property-existing-value.js | 17 +++++++ ...property-value-General_Category-negated.js | 18 +++++++ ...-existent-property-value-Script-negated.js | 18 +++++++ .../non-existent-property-value-Script.js | 18 +++++++ ...roperty-value-Script_Extensions-negated.js | 18 +++++++ ...istent-property-value-Script_Extensions.js | 18 +++++++ ...xistent-property-value-general-category.js | 18 +++++++ .../non-existent-property-values.js | 20 -------- .../unsupported-binary-properties.js | 50 ------------------- ...-property-Composition_Exclusion-negated.js | 18 +++++++ ...d-binary-property-Composition_Exclusion.js | 18 +++++++ ...-binary-property-Expands_On_NFC-negated.js | 18 +++++++ ...upported-binary-property-Expands_On_NFC.js | 18 +++++++ ...-binary-property-Expands_On_NFD-negated.js | 18 +++++++ ...upported-binary-property-Expands_On_NFD.js | 18 +++++++ ...binary-property-Expands_On_NFKC-negated.js | 18 +++++++ ...pported-binary-property-Expands_On_NFKC.js | 18 +++++++ ...binary-property-Expands_On_NFKD-negated.js | 18 +++++++ ...pported-binary-property-Expands_On_NFKD.js | 18 +++++++ ...binary-property-FC_NFKC_Closure-negated.js | 18 +++++++ ...pported-binary-property-FC_NFKC_Closure.js | 18 +++++++ ...erty-Full_Composition_Exclusion-negated.js | 18 +++++++ ...ary-property-Full_Composition_Exclusion.js | 18 +++++++ ...d-binary-property-Grapheme_Link-negated.js | 18 +++++++ ...supported-binary-property-Grapheme_Link.js | 18 +++++++ ...upported-binary-property-Hyphen-negated.js | 18 +++++++ .../unsupported-binary-property-Hyphen.js | 18 +++++++ ...inary-property-Other_Alphabetic-negated.js | 18 +++++++ ...ported-binary-property-Other_Alphabetic.js | 18 +++++++ ...er_Default_Ignorable_Code_Point-negated.js | 18 +++++++ ...erty-Other_Default_Ignorable_Code_Point.js | 18 +++++++ ...-property-Other_Grapheme_Extend-negated.js | 18 +++++++ ...d-binary-property-Other_Grapheme_Extend.js | 18 +++++++ ...nary-property-Other_ID_Continue-negated.js | 18 +++++++ ...orted-binary-property-Other_ID_Continue.js | 18 +++++++ ...-binary-property-Other_ID_Start-negated.js | 18 +++++++ ...upported-binary-property-Other_ID_Start.js | 18 +++++++ ...binary-property-Other_Lowercase-negated.js | 18 +++++++ ...pported-binary-property-Other_Lowercase.js | 18 +++++++ ...rted-binary-property-Other_Math-negated.js | 18 +++++++ .../unsupported-binary-property-Other_Math.js | 18 +++++++ ...binary-property-Other_Uppercase-negated.js | 18 +++++++ ...pported-binary-property-Other_Uppercase.js | 18 +++++++ ...ty-Prepended_Concatenation_Mark-negated.js | 18 +++++++ ...y-property-Prepended_Concatenation_Mark.js | 18 +++++++ .../unsupported-properties.js | 24 --------- ...orted-property-Block-with-value-negated.js | 18 +++++++ .../unsupported-property-Block-with-value.js | 18 +++++++ ...ported-property-FC_NFKC_Closure-negated.js | 18 +++++++ .../unsupported-property-FC_NFKC_Closure.js | 18 +++++++ ...unsupported-property-Line_Break-negated.js | 18 +++++++ ...-property-Line_Break-with-value-negated.js | 18 +++++++ ...upported-property-Line_Break-with-value.js | 18 +++++++ .../unsupported-property-Line_Break.js | 18 +++++++ 151 files changed, 2634 insertions(+), 249 deletions(-) delete mode 100644 test/built-ins/RegExp/property-escapes/binary-properties-with-value.js create mode 100644 test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F.js create mode 100644 test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid.js create mode 100644 test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N.js create mode 100644 test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No.js create mode 100644 test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T.js create mode 100644 test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y.js create mode 100644 test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes.js create mode 100644 test/built-ins/RegExp/property-escapes/character-class-range-end.js create mode 100644 test/built-ins/RegExp/property-escapes/character-class-range-no-dash-end.js create mode 100644 test/built-ins/RegExp/property-escapes/character-class-range-no-dash-start.js create mode 100644 test/built-ins/RegExp/property-escapes/character-class-range-start.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-empty-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-empty.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-invalid-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-invalid.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-no-braces.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-separator-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-separator-only-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-separator-only.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-separator.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-unclosed-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-unclosed.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-unopened-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/grammar-extension-unopened.js delete mode 100644 test/built-ins/RegExp/property-escapes/grammar-extensions.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-01-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-01.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-02-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-02.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-03-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-03.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-04-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-04.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-05-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-05.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-06-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-06.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-07-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-07.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-08-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-08.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-09-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-09.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-10-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-10.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-11-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-11.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-12-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-12.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-13-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-13.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-14-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/loose-matching-14.js delete mode 100644 test/built-ins/RegExp/property-escapes/loose-matching.js delete mode 100644 test/built-ins/RegExp/property-escapes/non-binary-properties-without-value.js create mode 100644 test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals.js create mode 100644 test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category.js create mode 100644 test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals.js create mode 100644 test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script.js create mode 100644 test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals.js create mode 100644 test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions.js create mode 100644 test/built-ins/RegExp/property-escapes/non-existent-binary-property-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/non-existent-binary-property.js delete mode 100644 test/built-ins/RegExp/property-escapes/non-existent-properties.js create mode 100644 test/built-ins/RegExp/property-escapes/non-existent-property-and-value-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/non-existent-property-and-value.js create mode 100644 test/built-ins/RegExp/property-escapes/non-existent-property-existing-value-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/non-existent-property-existing-value.js create mode 100644 test/built-ins/RegExp/property-escapes/non-existent-property-value-General_Category-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/non-existent-property-value-Script-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/non-existent-property-value-Script.js create mode 100644 test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions.js create mode 100644 test/built-ins/RegExp/property-escapes/non-existent-property-value-general-category.js delete mode 100644 test/built-ins/RegExp/property-escapes/non-existent-property-values.js delete mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-properties.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark.js delete mode 100644 test/built-ins/RegExp/property-escapes/unsupported-properties.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value-negated.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value.js create mode 100644 test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break.js diff --git a/test/built-ins/RegExp/property-escapes/binary-properties-with-value.js b/test/built-ins/RegExp/property-escapes/binary-properties-with-value.js deleted file mode 100644 index 346c79c08c..0000000000 --- a/test/built-ins/RegExp/property-escapes/binary-properties-with-value.js +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2017 Mathias Bynens. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -author: Mathias Bynens -description: > - Binary properties with an explicit value must throw in Unicode property - escapes (even if the value is valid). -esid: sec-static-semantics-unicodematchproperty-p -features: [regexp-unicode-property-escapes] ----*/ - -assert.throws.early(SyntaxError, "/\\p{ASCII=Yes}/u"); -assert.throws.early(SyntaxError, "/\\p{ASCII=Y}/u"); -assert.throws.early(SyntaxError, "/\\p{ASCII=T}/u"); - -assert.throws.early(SyntaxError, "/\\P{ASCII=No}/u"); -assert.throws.early(SyntaxError, "/\\P{ASCII=N}/u"); -assert.throws.early(SyntaxError, "/\\P{ASCII=F}/u"); - -assert.throws.early(SyntaxError, "/\\p{ASCII=Invalid}/u"); diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F-negated.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F-negated.js new file mode 100644 index 0000000000..ccbfcafebb --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{ASCII=F}/u; diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F.js new file mode 100644 index 0000000000..ceb1879f70 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{ASCII=F}/u; diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid-negated.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid-negated.js new file mode 100644 index 0000000000..246350af0f --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{ASCII=Invalid}/u; diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid.js new file mode 100644 index 0000000000..fab653c849 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{ASCII=Invalid}/u; diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N-negated.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N-negated.js new file mode 100644 index 0000000000..ea73a2875e --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{ASCII=N}/u; diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N.js new file mode 100644 index 0000000000..56656dcc24 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{ASCII=N}/u; diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No-negated.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No-negated.js new file mode 100644 index 0000000000..c14bb73614 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{ASCII=No}/u; diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No.js new file mode 100644 index 0000000000..116ecd4675 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{ASCII=No}/u; diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T-negated.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T-negated.js new file mode 100644 index 0000000000..63ed9e4f0a --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{ASCII=T}/u; diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T.js new file mode 100644 index 0000000000..2889d2ae21 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{ASCII=T}/u; diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y-negated.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y-negated.js new file mode 100644 index 0000000000..a22ffb282a --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{ASCII=Y}/u; diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y.js new file mode 100644 index 0000000000..688b32f212 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{ASCII=Y}/u; diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes-negated.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes-negated.js new file mode 100644 index 0000000000..827ee53eaf --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{ASCII=Yes}/u; diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes.js new file mode 100644 index 0000000000..cce1ad1180 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Binary properties with an explicit value must throw in Unicode property + escapes (even if the value is valid). +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{ASCII=Yes}/u; diff --git a/test/built-ins/RegExp/property-escapes/character-class-range-end.js b/test/built-ins/RegExp/property-escapes/character-class-range-end.js new file mode 100644 index 0000000000..f4d48612c3 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/character-class-range-end.js @@ -0,0 +1,20 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + NonemptyClassRanges :: ClassAtom - ClassAtom ClassRanges + + It is a Syntax Error if IsCharacterClass of the first ClassAtom is + true or IsCharacterClass of the second ClassAtom is true. +esid: sec-patterns-static-semantics-early-errors +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/[--\p{Hex}]/u; diff --git a/test/built-ins/RegExp/property-escapes/character-class-range-no-dash-end.js b/test/built-ins/RegExp/property-escapes/character-class-range-no-dash-end.js new file mode 100644 index 0000000000..b3bb456b33 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/character-class-range-no-dash-end.js @@ -0,0 +1,20 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + NonemptyClassRangesNoDash :: ClassAtomNoDash - ClassAtom ClassRanges + + It is a Syntax Error if IsCharacterClass of ClassAtomNoDash is true or + IsCharacterClass of ClassAtom is true. +esid: sec-patterns-static-semantics-early-errors +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/[\uFFFF-\p{Hex}]/u; diff --git a/test/built-ins/RegExp/property-escapes/character-class-range-no-dash-start.js b/test/built-ins/RegExp/property-escapes/character-class-range-no-dash-start.js new file mode 100644 index 0000000000..ef5fd20dc5 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/character-class-range-no-dash-start.js @@ -0,0 +1,20 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + NonemptyClassRangesNoDash :: ClassAtomNoDash - ClassAtom ClassRanges + + It is a Syntax Error if IsCharacterClass of ClassAtomNoDash is true or + IsCharacterClass of ClassAtom is true. +esid: sec-patterns-static-semantics-early-errors +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/[\p{Hex}-\uFFFF]/u; diff --git a/test/built-ins/RegExp/property-escapes/character-class-range-start.js b/test/built-ins/RegExp/property-escapes/character-class-range-start.js new file mode 100644 index 0000000000..e03ee4de99 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/character-class-range-start.js @@ -0,0 +1,20 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + NonemptyClassRanges :: ClassAtom - ClassAtom ClassRanges + + It is a Syntax Error if IsCharacterClass of the first ClassAtom is + true or IsCharacterClass of the second ClassAtom is true. +esid: sec-patterns-static-semantics-early-errors +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/[\p{Hex}--]/u; diff --git a/test/built-ins/RegExp/property-escapes/character-class.js b/test/built-ins/RegExp/property-escapes/character-class.js index bb09e9c818..a1f09750fd 100644 --- a/test/built-ins/RegExp/property-escapes/character-class.js +++ b/test/built-ins/RegExp/property-escapes/character-class.js @@ -1,4 +1,4 @@ -// Copyright 2017 Mathias Bynens. All rights reserved. +// Copyright 2018 Mathias Bynens. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- @@ -10,17 +10,7 @@ features: [regexp-unicode-property-escapes] ---*/ /[\p{Hex}]/u; -assert.throws( - SyntaxError, - () => /[\p{Hex}-\uFFFF]/u, - // See step 1 of https://tc39.github.io/ecma262/#sec-runtime-semantics-characterrange-abstract-operation. - 'property escape at start of character class range should throw if it expands to multiple characters' -); -assert.throws.early(SyntaxError, "/[\\p{}]/u"); -assert.throws.early(SyntaxError, "/[\\p{invalid}]/u"); -assert.throws.early(SyntaxError, "/[\\p{]/u"); -assert.throws.early(SyntaxError, "/[\\p{]}/u"); -assert.throws.early(SyntaxError, "/[\\p}]/u"); + assert( /[\p{Hex}\P{Hex}]/u.test('\u{1D306}'), 'multiple property escapes in a single character class should be supported' diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit-negated.js new file mode 100644 index 0000000000..df640b3399 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit-negated.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{InAdlam}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit.js b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit.js new file mode 100644 index 0000000000..1eb1a9972f --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{InAdlam}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit-negated.js new file mode 100644 index 0000000000..df640b3399 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit-negated.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{InAdlam}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit.js b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit.js new file mode 100644 index 0000000000..1eb1a9972f --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{InAdlam}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-negated.js new file mode 100644 index 0000000000..59fc7cb99a --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-negated.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{InScript=Adlam}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script.js b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script.js new file mode 100644 index 0000000000..f575b01427 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{InScript=Adlam}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script-negated.js new file mode 100644 index 0000000000..48b95cba1d --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script-negated.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{IsScript=Adlam}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script.js b/test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script.js new file mode 100644 index 0000000000..3c889e9171 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{IsScript=Adlam}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation-negated.js new file mode 100644 index 0000000000..1b559675ee --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation-negated.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{^General_Category=Letter}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation.js b/test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation.js new file mode 100644 index 0000000000..b27561547b --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{^General_Category=Letter}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-empty-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-empty-negated.js new file mode 100644 index 0000000000..90d9f30c93 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-empty-negated.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/[\p{}]/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-empty.js b/test/built-ins/RegExp/property-escapes/grammar-extension-empty.js new file mode 100644 index 0000000000..cfb1547268 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-empty.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/[\P{}]/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-invalid-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-invalid-negated.js new file mode 100644 index 0000000000..ec22be97d9 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-invalid-negated.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/[\P{invalid}]/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-invalid.js b/test/built-ins/RegExp/property-escapes/grammar-extension-invalid.js new file mode 100644 index 0000000000..6f6bcfb8fe --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-invalid.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/[\p{invalid}]/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-negated.js new file mode 100644 index 0000000000..b660bdd133 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-negated.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value-negated.js new file mode 100644 index 0000000000..e66e9d00b0 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value-negated.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\PL/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value.js b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value.js new file mode 100644 index 0000000000..edaf3c3bdc --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\pL/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces.js b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces.js new file mode 100644 index 0000000000..9c287efb4a --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only-negated.js new file mode 100644 index 0000000000..c4e847dc8f --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only-negated.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{=Letter}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only.js b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only.js new file mode 100644 index 0000000000..c14455d269 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{=Letter}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-negated.js new file mode 100644 index 0000000000..0672dabf7b --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-negated.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{General_Category:Letter}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-only-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-only-negated.js new file mode 100644 index 0000000000..1a1a9db63c --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-only-negated.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{=}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-only.js b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-only.js new file mode 100644 index 0000000000..84e155f01b --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-only.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{=}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-separator.js b/test/built-ins/RegExp/property-escapes/grammar-extension-separator.js new file mode 100644 index 0000000000..1c9051852a --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-separator.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{General_Category:Letter}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-unclosed-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-unclosed-negated.js new file mode 100644 index 0000000000..7a91dca5e5 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-unclosed-negated.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-unclosed.js b/test/built-ins/RegExp/property-escapes/grammar-extension-unclosed.js new file mode 100644 index 0000000000..db72f7c015 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-unclosed.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-unopened-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-unopened-negated.js new file mode 100644 index 0000000000..46eed4d31f --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-unopened-negated.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-unopened.js b/test/built-ins/RegExp/property-escapes/grammar-extension-unopened.js new file mode 100644 index 0000000000..2791744e51 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/grammar-extension-unopened.js @@ -0,0 +1,21 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + This tests violations of the grammar starting here: + + CharacterClassEscape[U]:: + [+U] p{ UnicodePropertyValueExpression } + [+U] P{ UnicodePropertyValueExpression } +esid: prod-CharacterClassEscape +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p}/u; diff --git a/test/built-ins/RegExp/property-escapes/grammar-extensions.js b/test/built-ins/RegExp/property-escapes/grammar-extensions.js deleted file mode 100644 index 9e6c5582a8..0000000000 --- a/test/built-ins/RegExp/property-escapes/grammar-extensions.js +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2017 Mathias Bynens. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -author: Mathias Bynens -description: > - Unicode property escapes must not support non-standard grammar extensions. -esid: sec-static-semantics-unicodematchproperty-p -features: [regexp-unicode-property-escapes] ----*/ - -/\p{General_Category=Letter}/u; -/\P{General_Category=Letter}/u; -assert.throws.early(SyntaxError, "/\\p{^General_Category=Letter}/u"); -assert.throws.early(SyntaxError, "/\\p{General_Category:Letter}/u"); -assert.throws.early(SyntaxError, "/\\P{General_Category:Letter}/u"); -/\p{Letter}/u; -/\P{Letter}/u; -assert.throws.early(SyntaxError, "/\\p{=Letter}/u"); -assert.throws.early(SyntaxError, "/\\P{=Letter}/u"); -assert.throws.early(SyntaxError, "/\\p{=}/u"); -assert.throws.early(SyntaxError, "/\\P{=}/u"); -/\p{L}/u; -/\P{L}/u; -assert.throws.early(SyntaxError, "/\\pL/u"); -assert.throws.early(SyntaxError, "/\\PL/u"); - -// Note: `Adlam` is a valid property value for both `Script` and `Block`. -/\p{Script=Adlam}/u; -/\P{Script=Adlam}/u; -assert.throws.early(SyntaxError, "/\\p{IsScript=Adlam}/u"); -assert.throws.early(SyntaxError, "/\\P{IsScript=Adlam}/u"); -assert.throws.early(SyntaxError, "/\\p{isScript=Adlam}/u"); -assert.throws.early(SyntaxError, "/\\P{isScript=Adlam}/u"); -assert.throws.early(SyntaxError, "/\\p{InScript=Adlam}/u"); -assert.throws.early(SyntaxError, "/\\P{InScript=Adlam}/u"); -assert.throws.early(SyntaxError, "/\\p{inScript=Adlam}/u"); -assert.throws.early(SyntaxError, "/\\P{inScript=Adlam}/u"); -assert.throws.early(SyntaxError, "/\\p{InAdlam}/u"); -assert.throws.early(SyntaxError, "/\\P{InAdlam}/u"); - -assert.throws.early(SyntaxError, "/\\p{/u"); -assert.throws.early(SyntaxError, "/\\P{/u"); -assert.throws.early(SyntaxError, "/\\p}/u"); -assert.throws.early(SyntaxError, "/\\P}/u"); -assert.throws.early(SyntaxError, "/\\p/u"); -assert.throws.early(SyntaxError, "/\\P/u"); diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-01-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-01-negated.js new file mode 100644 index 0000000000..deb36476d4 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-01-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{ General_Category=Uppercase_Letter }/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-01.js b/test/built-ins/RegExp/property-escapes/loose-matching-01.js new file mode 100644 index 0000000000..a1a7f0a2e4 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-01.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{ General_Category=Uppercase_Letter }/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-02-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-02-negated.js new file mode 100644 index 0000000000..4ae1c47904 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-02-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{ Lowercase }/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-02.js b/test/built-ins/RegExp/property-escapes/loose-matching-02.js new file mode 100644 index 0000000000..f29b5ca717 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-02.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{ Lowercase }/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-03-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-03-negated.js new file mode 100644 index 0000000000..2565cc5b99 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-03-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{ANY}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-03.js b/test/built-ins/RegExp/property-escapes/loose-matching-03.js new file mode 100644 index 0000000000..3b1f0247f4 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-03.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{ANY}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-04-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-04-negated.js new file mode 100644 index 0000000000..ff9fb3b248 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-04-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{ASSIGNED}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-04.js b/test/built-ins/RegExp/property-escapes/loose-matching-04.js new file mode 100644 index 0000000000..2959ed27bb --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-04.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{ASSIGNED}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-05-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-05-negated.js new file mode 100644 index 0000000000..66d92c8b86 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-05-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Ascii}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-05.js b/test/built-ins/RegExp/property-escapes/loose-matching-05.js new file mode 100644 index 0000000000..bf9138e31a --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-05.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Ascii}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-06-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-06-negated.js new file mode 100644 index 0000000000..dbece88d10 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-06-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{General_Category = Uppercase_Letter}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-06.js b/test/built-ins/RegExp/property-escapes/loose-matching-06.js new file mode 100644 index 0000000000..7fd0e521dc --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-06.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{General_Category = Uppercase_Letter}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-07-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-07-negated.js new file mode 100644 index 0000000000..aee5434134 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-07-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{_-_lOwEr_C-A_S-E_-_}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-07.js b/test/built-ins/RegExp/property-escapes/loose-matching-07.js new file mode 100644 index 0000000000..abe0e9a966 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-07.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{_-_lOwEr_C-A_S-E_-_}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-08-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-08-negated.js new file mode 100644 index 0000000000..05e1890fa9 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-08-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{any}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-08.js b/test/built-ins/RegExp/property-escapes/loose-matching-08.js new file mode 100644 index 0000000000..cbcd02c624 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-08.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{any}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-09-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-09-negated.js new file mode 100644 index 0000000000..02ba194a7d --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-09-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{ascii}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-09.js b/test/built-ins/RegExp/property-escapes/loose-matching-09.js new file mode 100644 index 0000000000..3fbdaf80e2 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-09.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{ascii}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-10-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-10-negated.js new file mode 100644 index 0000000000..0083d34711 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-10-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{assigned}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-10.js b/test/built-ins/RegExp/property-escapes/loose-matching-10.js new file mode 100644 index 0000000000..1a9d18025e --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-10.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{assigned}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-11-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-11-negated.js new file mode 100644 index 0000000000..b85350d0ee --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-11-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{gC=uppercase_letter}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-11.js b/test/built-ins/RegExp/property-escapes/loose-matching-11.js new file mode 100644 index 0000000000..7da740b3c4 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-11.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{gC=uppercase_letter}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-12-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-12-negated.js new file mode 100644 index 0000000000..11741ffa19 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-12-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{gc=uppercaseletter}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-12.js b/test/built-ins/RegExp/property-escapes/loose-matching-12.js new file mode 100644 index 0000000000..15180fcdba --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-12.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{gc=uppercaseletter}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-13-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-13-negated.js new file mode 100644 index 0000000000..9f8b7da7d6 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-13-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{lowercase}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-13.js b/test/built-ins/RegExp/property-escapes/loose-matching-13.js new file mode 100644 index 0000000000..4293037c01 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-13.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{lowercase}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-14-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-14-negated.js new file mode 100644 index 0000000000..9f8b7da7d6 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-14-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{lowercase}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-14.js b/test/built-ins/RegExp/property-escapes/loose-matching-14.js new file mode 100644 index 0000000000..4293037c01 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/loose-matching-14.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Loose matching must not be applied when matching properties and values in + Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{lowercase}/u; diff --git a/test/built-ins/RegExp/property-escapes/loose-matching.js b/test/built-ins/RegExp/property-escapes/loose-matching.js deleted file mode 100644 index ebd9c4e4cb..0000000000 --- a/test/built-ins/RegExp/property-escapes/loose-matching.js +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2017 Mathias Bynens. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -author: Mathias Bynens -description: > - Loose matching must not be applied when matching properties and values in - Unicode property escapes. -esid: sec-static-semantics-unicodematchproperty-p -features: [regexp-unicode-property-escapes] ----*/ - -/\p{Any}/u; -assert.throws.early(SyntaxError, "/\\p{any}/u"); -assert.throws.early(SyntaxError, "/\\P{ANY}/u"); - -/\p{ASCII}/u; -assert.throws.early(SyntaxError, "/\\p{ascii}/u"); -assert.throws.early(SyntaxError, "/\\P{Ascii}/u"); - -/\p{Assigned}/u; -assert.throws.early(SyntaxError, "/\\p{assigned}/u"); -assert.throws.early(SyntaxError, "/\\P{ASSIGNED}/u"); - -/\p{General_Category=Uppercase_Letter}/u; -/\P{General_Category=Uppercase_Letter}/u; -assert.throws.early(SyntaxError, "/\\p{General_Category = Uppercase_Letter}/u"); -assert.throws.early(SyntaxError, "/\\P{ General_Category=Uppercase_Letter }/u"); -assert.throws.early(SyntaxError, "/\\p{gc=uppercaseletter}/u"); -assert.throws.early(SyntaxError, "/\\P{gC=uppercase_letter}/u"); - -/\p{Lowercase}/u; -/\P{Lowercase}/u; -assert.throws.early(SyntaxError, "/\\p{lowercase}/u"); -assert.throws.early(SyntaxError, "/\\p{ Lowercase }/u"); -assert.throws.early(SyntaxError, "/\\P{_-_lOwEr_C-A_S-E_-_}/u"); diff --git a/test/built-ins/RegExp/property-escapes/non-binary-properties-without-value.js b/test/built-ins/RegExp/property-escapes/non-binary-properties-without-value.js deleted file mode 100644 index 3804212eda..0000000000 --- a/test/built-ins/RegExp/property-escapes/non-binary-properties-without-value.js +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2017 Mathias Bynens. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -author: Mathias Bynens -description: > - Non-binary properties without a value must throw in Unicode property escapes. -esid: sec-static-semantics-unicodematchproperty-p -features: [regexp-unicode-property-escapes] ----*/ - -assert.throws.early(SyntaxError, "/\\p{General_Category}/u"); -assert.throws.early(SyntaxError, "/\\P{General_Category}/u"); -assert.throws.early(SyntaxError, "/\\p{General_Category=}/u"); -assert.throws.early(SyntaxError, "/\\P{General_Category=}/u"); -assert.throws.early(SyntaxError, "/\\p{Script}/u"); -assert.throws.early(SyntaxError, "/\\P{Script}/u"); -assert.throws.early(SyntaxError, "/\\p{Script=}/u"); -assert.throws.early(SyntaxError, "/\\P{Script=}/u"); -assert.throws.early(SyntaxError, "/\\p{Script_Extensions}/u"); -assert.throws.early(SyntaxError, "/\\P{Script_Extensions}/u"); -assert.throws.early(SyntaxError, "/\\p{Script_Extensions=}/u"); -assert.throws.early(SyntaxError, "/\\P{Script_Extensions=}/u"); diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals-negated.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals-negated.js new file mode 100644 index 0000000000..faa9fa8bdc --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals-negated.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{General_Category=}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals.js new file mode 100644 index 0000000000..f36fb17081 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{General_Category=}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-negated.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-negated.js new file mode 100644 index 0000000000..ad55a5dd74 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-negated.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{General_Category}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category.js new file mode 100644 index 0000000000..39a6a9109d --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{General_Category}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals-negated.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals-negated.js new file mode 100644 index 0000000000..25131898fc --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals-negated.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Script=}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals.js new file mode 100644 index 0000000000..4c21d041ee --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Script=}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-negated.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-negated.js new file mode 100644 index 0000000000..430fb14d9d --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-negated.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Script}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script.js new file mode 100644 index 0000000000..b121607fb4 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Script}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals-negated.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals-negated.js new file mode 100644 index 0000000000..7cb0a650d8 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals-negated.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Script_Extensions=}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals.js new file mode 100644 index 0000000000..76f20b1bbf --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Script_Extensions=}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-negated.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-negated.js new file mode 100644 index 0000000000..60bf6d18ee --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-negated.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Script_Extensions}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions.js new file mode 100644 index 0000000000..77200ab05b --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-binary properties without a value must throw in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Script_Extensions}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-existent-binary-property-negated.js b/test/built-ins/RegExp/property-escapes/non-existent-binary-property-negated.js new file mode 100644 index 0000000000..7ae47f4688 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-existent-binary-property-negated.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent properties must not be supported in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{UnknownBinaryProperty}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-existent-binary-property.js b/test/built-ins/RegExp/property-escapes/non-existent-binary-property.js new file mode 100644 index 0000000000..e8ca1e7b6e --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-existent-binary-property.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent properties must not be supported in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{UnknownBinaryProperty}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-existent-properties.js b/test/built-ins/RegExp/property-escapes/non-existent-properties.js deleted file mode 100644 index 86f39acb7c..0000000000 --- a/test/built-ins/RegExp/property-escapes/non-existent-properties.js +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2017 Mathias Bynens. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -author: Mathias Bynens -description: > - Non-existent properties must not be supported in Unicode property escapes. -esid: sec-static-semantics-unicodematchproperty-p -features: [regexp-unicode-property-escapes] ----*/ - -assert.throws.early(SyntaxError, "/\\p{UnknownBinaryProperty}/u"); -assert.throws.early(SyntaxError, "/\\P{UnknownBinaryProperty}/u"); - -assert.throws.early(SyntaxError, "/\\p{Line_Breakz=Alphabetic}/u"); -assert.throws.early(SyntaxError, "/\\P{Line_Breakz=Alphabetic}/u"); diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-and-value-negated.js b/test/built-ins/RegExp/property-escapes/non-existent-property-and-value-negated.js new file mode 100644 index 0000000000..063cecc368 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-existent-property-and-value-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Line_Breakz=WAT}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-and-value.js b/test/built-ins/RegExp/property-escapes/non-existent-property-and-value.js new file mode 100644 index 0000000000..036b33af8e --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-existent-property-and-value.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Line_Breakz=WAT}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-existing-value-negated.js b/test/built-ins/RegExp/property-escapes/non-existent-property-existing-value-negated.js new file mode 100644 index 0000000000..bbc5bf71fb --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-existent-property-existing-value-negated.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent properties must not be supported in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Line_Breakz=Alphabetic}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-existing-value.js b/test/built-ins/RegExp/property-escapes/non-existent-property-existing-value.js new file mode 100644 index 0000000000..275a4ad023 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-existent-property-existing-value.js @@ -0,0 +1,17 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent properties must not be supported in Unicode property escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Line_Breakz=Alphabetic}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-value-General_Category-negated.js b/test/built-ins/RegExp/property-escapes/non-existent-property-value-General_Category-negated.js new file mode 100644 index 0000000000..5dd4d1d85a --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-existent-property-value-General_Category-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\\P{General_Category=WAT}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script-negated.js b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script-negated.js new file mode 100644 index 0000000000..7c43256f95 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\\P{Script=FooBarBazInvalid}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script.js b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script.js new file mode 100644 index 0000000000..6a621cd649 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\\p{Script=FooBarBazInvalid}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions-negated.js b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions-negated.js new file mode 100644 index 0000000000..e6dfc72187 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\\P{Script_Extensions=H_e_h}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions.js b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions.js new file mode 100644 index 0000000000..48fb76d50c --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\\p{Script_Extensions=H_e_h}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-value-general-category.js b/test/built-ins/RegExp/property-escapes/non-existent-property-value-general-category.js new file mode 100644 index 0000000000..9acdfe28d2 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/non-existent-property-value-general-category.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Non-existent property values must not be supported in Unicode property + escapes. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\\p{General_Category=WAT}/u; diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-values.js b/test/built-ins/RegExp/property-escapes/non-existent-property-values.js deleted file mode 100644 index aad28546ff..0000000000 --- a/test/built-ins/RegExp/property-escapes/non-existent-property-values.js +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2017 Mathias Bynens. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -author: Mathias Bynens -description: > - Non-existent property values must not be supported in Unicode property - escapes. -esid: sec-static-semantics-unicodematchproperty-p -features: [regexp-unicode-property-escapes] ----*/ - -assert.throws.early(SyntaxError, "/\\p{General_Category=WAT}/u"); -assert.throws.early(SyntaxError, "/\\P{Line_Breakz=WAT}/u"); - -assert.throws.early(SyntaxError, "/\\p{Script=FooBarBazInvalid}/u"); -assert.throws.early(SyntaxError, "/\\P{Script=FooBarBazInvalid}/u"); - -assert.throws.early(SyntaxError, "/\\p{Script_Extensions=H_e_h}/u"); -assert.throws.early(SyntaxError, "/\\P{Script_Extensions=H_e_h}/u"); diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-properties.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-properties.js deleted file mode 100644 index 1bc42847ba..0000000000 --- a/test/built-ins/RegExp/property-escapes/unsupported-binary-properties.js +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2017 Mathias Bynens. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -author: Mathias Bynens -description: > - Some binary properties used to be part of the Unicode property escapes - proposal but were later removed. They must not be supported. -esid: sec-static-semantics-unicodematchproperty-p -features: [regexp-unicode-property-escapes] ----*/ - -assert.throws.early(SyntaxError, "/\\p{Composition_Exclusion}/u"); -assert.throws.early(SyntaxError, "/\\P{Composition_Exclusion}/u"); -assert.throws.early(SyntaxError, "/\\p{Expands_On_NFC}/u"); -assert.throws.early(SyntaxError, "/\\P{Expands_On_NFC}/u"); -assert.throws.early(SyntaxError, "/\\p{Expands_On_NFD}/u"); -assert.throws.early(SyntaxError, "/\\P{Expands_On_NFD}/u"); -assert.throws.early(SyntaxError, "/\\p{Expands_On_NFKC}/u"); -assert.throws.early(SyntaxError, "/\\P{Expands_On_NFKC}/u"); -assert.throws.early(SyntaxError, "/\\p{Expands_On_NFKD}/u"); -assert.throws.early(SyntaxError, "/\\P{Expands_On_NFKD}/u"); -assert.throws.early(SyntaxError, "/\\p{Extended_Pictographic}/u"); -assert.throws.early(SyntaxError, "/\\P{Extended_Pictographic}/u"); -assert.throws.early(SyntaxError, "/\\p{FC_NFKC_Closure}/u"); -assert.throws.early(SyntaxError, "/\\P{FC_NFKC_Closure}/u"); -assert.throws.early(SyntaxError, "/\\p{Full_Composition_Exclusion}/u"); -assert.throws.early(SyntaxError, "/\\P{Full_Composition_Exclusion}/u"); -assert.throws.early(SyntaxError, "/\\p{Grapheme_Link}/u"); -assert.throws.early(SyntaxError, "/\\P{Grapheme_Link}/u"); -assert.throws.early(SyntaxError, "/\\p{Hyphen}/u"); -assert.throws.early(SyntaxError, "/\\P{Hyphen}/u"); -assert.throws.early(SyntaxError, "/\\p{Other_Alphabetic}/u"); -assert.throws.early(SyntaxError, "/\\P{Other_Alphabetic}/u"); -assert.throws.early(SyntaxError, "/\\p{Other_Default_Ignorable_Code_Point}/u"); -assert.throws.early(SyntaxError, "/\\P{Other_Default_Ignorable_Code_Point}/u"); -assert.throws.early(SyntaxError, "/\\p{Other_Grapheme_Extend}/u"); -assert.throws.early(SyntaxError, "/\\P{Other_Grapheme_Extend}/u"); -assert.throws.early(SyntaxError, "/\\p{Other_ID_Continue}/u"); -assert.throws.early(SyntaxError, "/\\P{Other_ID_Continue}/u"); -assert.throws.early(SyntaxError, "/\\p{Other_ID_Start}/u"); -assert.throws.early(SyntaxError, "/\\P{Other_ID_Start}/u"); -assert.throws.early(SyntaxError, "/\\p{Other_Lowercase}/u"); -assert.throws.early(SyntaxError, "/\\P{Other_Lowercase}/u"); -assert.throws.early(SyntaxError, "/\\p{Other_Math}/u"); -assert.throws.early(SyntaxError, "/\\P{Other_Math}/u"); -assert.throws.early(SyntaxError, "/\\p{Other_Uppercase}/u"); -assert.throws.early(SyntaxError, "/\\P{Other_Uppercase}/u"); -assert.throws.early(SyntaxError, "/\\p{Prepended_Concatenation_Mark}/u"); -assert.throws.early(SyntaxError, "/\\P{Prepended_Concatenation_Mark}/u"); diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion-negated.js new file mode 100644 index 0000000000..99e45692d0 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Composition_Exclusion}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion.js new file mode 100644 index 0000000000..9ed3d596d1 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Composition_Exclusion}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC-negated.js new file mode 100644 index 0000000000..3f533590e1 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Expands_On_NFC}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC.js new file mode 100644 index 0000000000..c385fb52a5 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Expands_On_NFC}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD-negated.js new file mode 100644 index 0000000000..4ab48cffda --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Expands_On_NFD}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD.js new file mode 100644 index 0000000000..426e45890b --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Expands_On_NFD}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC-negated.js new file mode 100644 index 0000000000..b00dba7b88 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Expands_On_NFKC}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC.js new file mode 100644 index 0000000000..c37c246596 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Expands_On_NFKC}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD-negated.js new file mode 100644 index 0000000000..b53043a71a --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Expands_On_NFKD}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD.js new file mode 100644 index 0000000000..97d2a16c28 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Expands_On_NFKD}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure-negated.js new file mode 100644 index 0000000000..7d8545ae62 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{FC_NFKC_Closure}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure.js new file mode 100644 index 0000000000..f6eef54861 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{FC_NFKC_Closure}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion-negated.js new file mode 100644 index 0000000000..1be13eff61 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Full_Composition_Exclusion}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion.js new file mode 100644 index 0000000000..a4c0648930 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Full_Composition_Exclusion}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link-negated.js new file mode 100644 index 0000000000..70e570811d --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Grapheme_Link}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link.js new file mode 100644 index 0000000000..1699ff37bc --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Grapheme_Link}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen-negated.js new file mode 100644 index 0000000000..85af0ad93c --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Hyphen}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen.js new file mode 100644 index 0000000000..1661ff0a93 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Hyphen}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic-negated.js new file mode 100644 index 0000000000..cf5f1bfb93 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Other_Alphabetic}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic.js new file mode 100644 index 0000000000..40040e219f --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Other_Alphabetic}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point-negated.js new file mode 100644 index 0000000000..6d4f4a08ad --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Other_Default_Ignorable_Code_Point}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point.js new file mode 100644 index 0000000000..ce183da1db --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Other_Default_Ignorable_Code_Point}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend-negated.js new file mode 100644 index 0000000000..61429dfbdb --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Other_Grapheme_Extend}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend.js new file mode 100644 index 0000000000..e59fa88e84 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Other_Grapheme_Extend}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue-negated.js new file mode 100644 index 0000000000..ece245eec2 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Other_ID_Continue}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue.js new file mode 100644 index 0000000000..e6ef9f7a4d --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Other_ID_Continue}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start-negated.js new file mode 100644 index 0000000000..9d286655f3 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Other_ID_Start}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start.js new file mode 100644 index 0000000000..2a6d22d324 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Other_ID_Start}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase-negated.js new file mode 100644 index 0000000000..398316ac9f --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Other_Lowercase}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase.js new file mode 100644 index 0000000000..95d92095a6 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Other_Lowercase}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math-negated.js new file mode 100644 index 0000000000..a4cfada0fd --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Other_Math}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math.js new file mode 100644 index 0000000000..507e5f3e7d --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Other_Math}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase-negated.js new file mode 100644 index 0000000000..c9738dc055 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Other_Uppercase}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase.js new file mode 100644 index 0000000000..fa90a7e9be --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Other_Uppercase}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark-negated.js new file mode 100644 index 0000000000..c6b40da2ff --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Prepended_Concatenation_Mark}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark.js new file mode 100644 index 0000000000..23cd6a9e7a --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Some binary properties used to be part of the Unicode property escapes + proposal but were later removed. They must not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Prepended_Concatenation_Mark}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-properties.js b/test/built-ins/RegExp/property-escapes/unsupported-properties.js deleted file mode 100644 index efa85b1536..0000000000 --- a/test/built-ins/RegExp/property-escapes/unsupported-properties.js +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2017 Mathias Bynens. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -author: Mathias Bynens -description: > - Properties not explicitly listed in the Unicode property escapes spec must - not be supported. -esid: sec-static-semantics-unicodematchproperty-p -features: [regexp-unicode-property-escapes] ----*/ - -// Non-existent binary properties must not be supported. -assert.throws.early(SyntaxError, "/\\p{UnknownBinaryProperty}/u"); -assert.throws.early(SyntaxError, "/\\P{UnknownBinaryProperty}/u"); - -// Unlisted properties must not be supported. -assert.throws.early(SyntaxError, "/\\p{Line_Break}/u"); -assert.throws.early(SyntaxError, "/\\P{Line_Break}/u"); -assert.throws.early(SyntaxError, "/\\p{Line_Break=Alphabetic}/u"); -assert.throws.early(SyntaxError, "/\\P{Line_Break=Alphabetic}/u"); -assert.throws.early(SyntaxError, "/\\p{FC_NFKC_Closure}/u"); -assert.throws.early(SyntaxError, "/\\P{FC_NFKC_Closure}/u"); -assert.throws.early(SyntaxError, "/\\p{Block=Adlam}/u"); diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value-negated.js new file mode 100644 index 0000000000..b72bd13b99 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Block=Adlam}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value.js b/test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value.js new file mode 100644 index 0000000000..6eb1762355 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Block=Adlam}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure-negated.js new file mode 100644 index 0000000000..6f8cb3f861 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{FC_NFKC_Closure}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure.js b/test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure.js new file mode 100644 index 0000000000..ecec67ae58 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{FC_NFKC_Closure}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-negated.js new file mode 100644 index 0000000000..4c4edf9f26 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Line_Break=Alphabetic}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value-negated.js new file mode 100644 index 0000000000..4c4edf9f26 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value-negated.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\P{Line_Break=Alphabetic}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value.js b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value.js new file mode 100644 index 0000000000..e404917ab2 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Line_Break=Alphabetic}/u; diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break.js b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break.js new file mode 100644 index 0000000000..38d259eba5 --- /dev/null +++ b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break.js @@ -0,0 +1,18 @@ +// Copyright 2018 Mathias Bynens. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Mathias Bynens +description: > + Properties not explicitly listed in the Unicode property escapes spec must + not be supported. +esid: sec-static-semantics-unicodematchproperty-p +negative: + phase: parse + type: SyntaxError +features: [regexp-unicode-property-escapes] +---*/ + +throw "Test262: This statement should not be evaluated."; + +/\p{Line_Break}/u; -- GitLab