| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- var reWordChar = /\w/;
- var reNonWordChar = /\W/;
- var reWordCharI = /\w/i;
- var reNonWordCharI = /\W/i;
- var reWordCharU = /\w/u;
- var reNonWordCharU = /\W/u;
- var reWordCharIU = /\w/iu;
- var reNonWordCharIU = /\W/iu;
- var reWordCharName = "word-char";
- var reNonWordCharName = "NON-word-char";
- basic_tests = [
- 's', 'S', 'k', 'K'
- ];
- basic_tests_names = ['lowercase s', 'uppercase S', 'lowercase k', 'uppercase K'];
- u_tests = [
- '\u017F', // Sharp S
- '\u212A', // Kelvin sign
- ];
- u_tests_names = ['Sharp S', 'Kelvin sign'];
- function assert(a, msg) {
- if (!a) {
- console.log("FAIL: " + msg);
- }
- }
- function assertMatch(regex, reName, string, name) {
- var b = regex.test(string);
- var msg = "" + regex + " " + reName + " should match '" + string + "' (" + name + ")";
- assert(b, msg);
- }
- function assertNonMatch(regex, reName, string, name) {
- var b = !regex.test(string);
- var msg = "" + regex + " " + reName + " should not match '" + string + "' (" + name + ")";
- assert(b, msg);
- }
- for (i in basic_tests) {
- assertMatch(reWordChar, reWordCharName, basic_tests[i], basic_tests_names[i]);
- assertMatch(reWordCharI, reWordCharName, basic_tests[i], basic_tests_names[i]);
- assertMatch(reWordCharU, reWordCharName, basic_tests[i], basic_tests_names[i]);
- assertMatch(reWordCharIU, reWordCharName, basic_tests[i], basic_tests_names[i]);
- assertNonMatch(reNonWordChar, reNonWordCharName, basic_tests[i], basic_tests_names[i]);
- assertNonMatch(reNonWordCharI, reNonWordCharName, basic_tests[i], basic_tests_names[i]);
- assertNonMatch(reNonWordCharU, reNonWordCharName, basic_tests[i], basic_tests_names[i]);
- assertNonMatch(reNonWordCharIU, reNonWordCharName, basic_tests[i], basic_tests_names[i]);
- }
- for (i in u_tests) {
- assertNonMatch(reWordChar, reWordCharName, u_tests[i], u_tests_names[i]);
- assertNonMatch(reWordCharI, reWordCharName, u_tests[i], u_tests_names[i]);
- assertNonMatch(reWordCharU, reWordCharName, u_tests[i], u_tests_names[i]);
- assertMatch(reWordCharIU, reWordCharName, u_tests[i], u_tests_names[i]);
- assertMatch(reNonWordChar, reWordCharName, u_tests[i], u_tests_names[i]);
- assertMatch(reNonWordCharI, reNonWordCharName, u_tests[i], u_tests_names[i]);
- assertMatch(reNonWordCharU, reWordCharName, u_tests[i], u_tests_names[i]);
- assertNonMatch(reNonWordCharIU, reNonWordCharName, u_tests[i], u_tests_names[i]);
- }
- console.log("PASS");
|