Upload Kmake

This commit is contained in:
Gorochu
2026-05-26 23:36:42 -07:00
parent ba051b2f74
commit 555ec72358
41615 changed files with 13344630 additions and 1 deletions

View File

@ -0,0 +1,30 @@
// Additional tests can be found in ../gb18030/gb18030-decoder.any.js
const gbkPointers = [
6432, 7533, 7536, 7672, 7673, 7674, 7675, 7676, 7677, 7678, 7679, 7680, 7681, 7682, 7683, 7684,
23766, 23770, 23771, 23772, 23773, 23774, 23776, 23777, 23778, 23779, 23780, 23781, 23782, 23784, 23785, 23786,
23787, 23790, 23791, 23792, 23793, 23796, 23797, 23798, 23799, 23800, 23801, 23802, 23803, 23805, 23806, 23807,
23808, 23809, 23810, 23811, 23813, 23814, 23815, 23816, 23817, 23818, 23819, 23820, 23821, 23822, 23823, 23824,
23825, 23826, 23827, 23828, 23831, 23832, 23833, 23834, 23835, 23836, 23837, 23838, 23839, 23840, 23841, 23842,
23843, 23844
];
const codePoints = [
0x20ac, 0x1e3f, 0x01f9, 0x303e, 0x2ff0, 0x2ff1, 0x2ff2, 0x2ff3, 0x2ff4, 0x2ff5, 0x2ff6, 0x2ff7, 0x2ff8, 0x2ff9, 0x2ffa, 0x2ffb,
0x2e81, 0x2e84, 0x3473, 0x3447, 0x2e88, 0x2e8b, 0x359e, 0x361a, 0x360e, 0x2e8c, 0x2e97, 0x396e, 0x3918, 0x39cf, 0x39df, 0x3a73,
0x39d0, 0x3b4e, 0x3c6e, 0x3ce0, 0x2ea7, 0x2eaa, 0x4056, 0x415f, 0x2eae, 0x4337, 0x2eb3, 0x2eb6, 0x2eb7, 0x43b1, 0x43ac, 0x2ebb,
0x43dd, 0x44d6, 0x4661, 0x464c, 0x4723, 0x4729, 0x477c, 0x478d, 0x2eca, 0x4947, 0x497a, 0x497d, 0x4982, 0x4983, 0x4985, 0x4986,
0x499f, 0x499b, 0x49b7, 0x49b6, 0x4ca3, 0x4c9f, 0x4ca0, 0x4ca1, 0x4c77, 0x4ca2, 0x4d13, 0x4d14, 0x4d15, 0x4d16, 0x4d17, 0x4d18,
0x4d19, 0x4dae
];
for (let i = 0; i < gbkPointers.length; i++) {
const pointer = gbkPointers[i];
test(function() {
const lead = pointer / 190 + 0x81;
const trail = pointer % 190;
const offset = trail < 0x3F ? 0x40 : 0x41;
const encoded = [lead, trail + offset];
const decoded = new TextDecoder("GBK").decode(new Uint8Array(encoded)).charCodeAt(0);
assert_equals(decoded, codePoints[i]);
}, "gbk pointer: " + pointer)
}

View File

@ -0,0 +1,65 @@
<!doctype html>
<meta charset=gbk> <!-- if the server overrides this, it is stupid, as this is a testsuite -->
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script>
function encode(input, output, desc) {
test(function() {
const a = document.createElement("a") // <a> uses document encoding for URL's query
a.href = "https://example.com/?" + input;
assert_equals(a.search.substr(1), output); // remove leading "?"
}, "gbk encoder: " + desc);
}
encode("s", "s", "very basic");
encode("\u20AC", "%80", "Euro");
encode("\u4E02", "%81@", "character");
encode("\uE4C6", "%A1@", "PUA");
encode("\uE4C5", "%FE%FE", "PUA #2");
encode("\ud83d\udca9", "%26%23128169%3B", "poo");
encode("\uE7C8", "%26%2359336%3B", "legacy ICU special case 1");
encode("\u2026", "%A1%AD", "legacy ICU special case 2");
encode("\uFF5E", "%A1%AB", "legacy ICU special case 3");
encode("\u00A5", "%26%23165%3B", "legacy WebKit case 1");
encode("\u22EF", "%26%238943%3B", "legacy WebKit case 2");
encode("\u301C", "%26%2312316%3B", "legacy WebKit case 3");
encode("\u{10FFFF}", "%26%231114111%3B", "U+10FFFF");
// GB18030-2022
encode("\uFE10", "%A6%D9", "GB18030-2022 1");
encode("\uFE12", "%A6%DA", "GB18030-2022 2");
encode("\uFE11", "%A6%DB", "GB18030-2022 3");
encode("\uFE13", "%A6%DC", "GB18030-2022 4");
encode("\uFE14", "%A6%DD", "GB18030-2022 5");
encode("\uFE15", "%A6%DE", "GB18030-2022 6");
encode("\uFE16", "%A6%DF", "GB18030-2022 7");
encode("\uFE17", "%A6%EC", "GB18030-2022 8");
encode("\uFE18", "%A6%ED", "GB18030-2022 9");
encode("\uFE19", "%A6%F3", "GB18030-2022 10");
encode("\u9FB4", "%FEY", "GB18030-2022 11");
encode("\u9FB5", "%FEa", "GB18030-2022 12");
encode("\u9FB6", "%FEf", "GB18030-2022 13");
encode("\u9FB7", "%FEg", "GB18030-2022 14");
encode("\u9FB8", "%FEm", "GB18030-2022 15");
encode("\u9FB9", "%FE~", "GB18030-2022 16");
encode("\u9FBA", "%FE%90", "GB18030-2022 17");
encode("\u9FBB", "%FE%A0", "GB18030-2022 18");
encode("\uE78D", "%A6%D9", "GB18030-2022 19");
encode("\uE78E", "%A6%DA", "GB18030-2022 20");
encode("\uE78F", "%A6%DB", "GB18030-2022 21");
encode("\uE790", "%A6%DC", "GB18030-2022 22");
encode("\uE791", "%A6%DD", "GB18030-2022 23");
encode("\uE792", "%A6%DE", "GB18030-2022 24");
encode("\uE793", "%A6%DF", "GB18030-2022 25");
encode("\uE794", "%A6%EC", "GB18030-2022 26");
encode("\uE795", "%A6%ED", "GB18030-2022 27");
encode("\uE796", "%A6%F3", "GB18030-2022 28");
encode("\uE81E", "%FEY", "GB18030-2022 29");
encode("\uE826", "%FEa", "GB18030-2022 30");
encode("\uE82B", "%FEf", "GB18030-2022 31");
encode("\uE82C", "%FEg", "GB18030-2022 32");
encode("\uE832", "%FEm", "GB18030-2022 33");
encode("\uE843", "%FE~", "GB18030-2022 34");
encode("\uE854", "%FE%90", "GB18030-2022 35");
encode("\uE864", "%FE%A0", "GB18030-2022 36");
</script>