1 | "use strict";
|
---|
2 |
|
---|
3 | var _helpers = require("../util/helpers");
|
---|
4 |
|
---|
5 | (0, _helpers.test)('id selector', '#foo', function (t, tree) {
|
---|
6 | t.deepEqual(tree.nodes[0].nodes[0].value, 'foo');
|
---|
7 | });
|
---|
8 | (0, _helpers.test)('escaped special char', '#w\\+', function (t, tree) {
|
---|
9 | t.deepEqual(tree.nodes[0].nodes[0].value, 'w+');
|
---|
10 | });
|
---|
11 | (0, _helpers.test)('tailing escape', '#foo\\', function (t, tree) {
|
---|
12 | t.deepEqual(tree.nodes[0].nodes[0].value, 'foo\\');
|
---|
13 | });
|
---|
14 | (0, _helpers.test)('double escape', '#wow\\\\k', function (t, tree) {
|
---|
15 | t.deepEqual(tree.nodes[0].nodes[0].value, 'wow\\k');
|
---|
16 | });
|
---|
17 | (0, _helpers.test)('leading numeric', '.\\31 23', function (t, tree) {
|
---|
18 | t.deepEqual(tree.nodes[0].nodes[0].value, '123');
|
---|
19 | });
|
---|
20 | (0, _helpers.test)('emoji', '.\\🐐', function (t, tree) {
|
---|
21 | t.deepEqual(tree.nodes[0].nodes[0].value, '🐐');
|
---|
22 | }); // https://www.w3.org/International/questions/qa-escapes#cssescapes
|
---|
23 |
|
---|
24 | (0, _helpers.test)('hex escape', '.\\E9motion', function (t, tree) {
|
---|
25 | t.deepEqual(tree.nodes[0].nodes[0].value, 'émotion');
|
---|
26 | });
|
---|
27 | (0, _helpers.test)('hex escape with space', '.\\E9 dition', function (t, tree) {
|
---|
28 | t.deepEqual(tree.nodes[0].nodes[0].value, 'édition');
|
---|
29 | });
|
---|
30 | (0, _helpers.test)('hex escape with hex number', '.\\0000E9dition', function (t, tree) {
|
---|
31 | t.deepEqual(tree.nodes[0].nodes[0].value, 'édition');
|
---|
32 | });
|
---|
33 | (0, _helpers.test)('class selector with escaping', '.\\1D306', function (t, tree) {
|
---|
34 | t.deepEqual(tree.nodes[0].nodes[0].value, '𝌆');
|
---|
35 | });
|
---|
36 | (0, _helpers.test)('class selector with escaping with more chars', '.\\1D306k', function (t, tree) {
|
---|
37 | t.deepEqual(tree.nodes[0].nodes[0].value, '𝌆k');
|
---|
38 | });
|
---|
39 | (0, _helpers.test)('class selector with escaping with more chars with whitespace', '.wow\\1D306 k', function (t, tree) {
|
---|
40 | t.deepEqual(tree.nodes[0].nodes[0].value, 'wow𝌆k');
|
---|
41 | });
|
---|
42 | (0, _helpers.test)('handles 0 value hex', '\\0', function (t, tree) {
|
---|
43 | t.deepEqual(tree.nodes[0].nodes[0].value, String.fromCodePoint(0xFFFD));
|
---|
44 | });
|
---|
45 | (0, _helpers.test)('handles lone surrogate value hex', '\\DBFF', function (t, tree) {
|
---|
46 | t.deepEqual(tree.nodes[0].nodes[0].value, String.fromCodePoint(0xFFFD));
|
---|
47 | });
|
---|
48 | (0, _helpers.test)('handles out of bound values', '\\110000', function (t, tree) {
|
---|
49 | t.deepEqual(tree.nodes[0].nodes[0].value, String.fromCodePoint(0xFFFD));
|
---|
50 | }); |
---|