Files
bun.sh/test/js/bun/css/unicode.css
2025-02-10 20:56:30 -08:00

88 lines
1.8 KiB
CSS
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* Test file for Unicode edge cases - INPUT */
/* Surrogate pairs and combining characters */
.surrogate-test {
/* High surrogate followed by low surrogate */
content: "𝌆"; /* U+1D306 */
/* Unpaired surrogate */
content: "\uD800";
/* Multiple combining characters */
content: "a\u0301\u0302\u0303"; /* a + acute + circumflex + tilde */
/* Bidirectional text with combining marks */
content: "Hello\u202E\u0301World";
}
/* Invalid identifiers and class names */
.\1234 {
color: red;
}
/* Zero-width characters in identifiers */
.testtest {
/* Contains U+200B zero-width space */
color: blue;
}
/* Right-to-left override in property names */
.rtl-test {
col\u202eor: green; /* RTL override in middle of "color" */
}
/* Maximum-length Unicode escapes */
.unicode-max {
/* Maximum valid Unicode code point */
content: "\U0010FFFF";
/* Just beyond maximum valid code point */
content: "\U00110000";
}
/* Null bytes and control characters */
.control-chars {
content: "\0";
content: "\1";
content: "\31";
font-family: "\0font";
}
/* Special whitespace characters */
.whitespace-test {
margin: 1px 2px 3px 4px; /* U+3000 ideographic space */
padding: 1px2px3px4px; /* U+2423 open box */
}
/* Combining characters in custom properties */
:root {
--combining-mark: "n\u0303";
--rtl-value: "\u202Evalue\u202C";
}
/* Unicode variation selectors */
.variation-test {
content: "⌘︎";
content: "☺︎";
}
/* Mixed directional text */
.bidi-test {
content: "Hello \u202B Arabic text \u202C World";
content: "Test \u202E reversed text \u202C normal";
}
/* Invalid UTF-16 sequences */
.invalid-utf16 {
content: "\uD800A";
content: "\uDC00";
content: "\uD800\uD800";
}
/* Overlong UTF-8 sequences */
.overlong-utf8 {
content: "\xC1\x81";
content: "\xE0\x81\x81";
content: "\xF0\x80\x81\x81";
}