Skip to content

Commit 1aaf5eb

Browse files
committed
Add failing tests
1 parent 54f71ef commit 1aaf5eb

File tree

1 file changed

+48
-6
lines changed

1 file changed

+48
-6
lines changed

src/__tests__/nonstandard.js

Lines changed: 48 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,32 @@ test('non-standard selector', '.icon.is-$(network)', (t, tree) => {
44
let class1 = tree.nodes[0].nodes[0];
55
t.deepEqual(class1.value, 'icon');
66
t.deepEqual(class1.type, 'class');
7+
t.deepEqual(class1.source.start.column, 1);
8+
t.deepEqual(class1.source.end.column, 5);
9+
t.deepEqual(class1.sourceIndex, 0);
10+
711
let class2 = tree.nodes[0].nodes[1];
812
t.deepEqual(class2.value, 'is-$(network)');
913
t.deepEqual(class2.type, 'class');
14+
t.deepEqual(class2.source.start.column, 6);
15+
// t.deepEqual(class2.source.end.column, 19); // Fail - 10
16+
t.deepEqual(class2.sourceIndex, 5);
1017
});
1118

1219
test('at word in selector', 'em@il.com', (t, tree) => {
13-
t.deepEqual(tree.nodes[0].nodes[0].value, 'em@il');
14-
t.deepEqual(tree.nodes[0].nodes[1].value, 'com');
20+
const node1 = tree.nodes[0].nodes[0];
21+
t.deepEqual(node1.value, 'em@il');
22+
t.deepEqual(node1.type, 'tag');
23+
t.deepEqual(node1.source.start.column, 1);
24+
t.deepEqual(node1.source.end.column, 5);
25+
t.deepEqual(node1.sourceIndex, 0);
26+
27+
const node2 = tree.nodes[0].nodes[1];
28+
t.deepEqual(node2.value, 'com');
29+
t.deepEqual(node2.type, 'class');
30+
t.deepEqual(node2.source.start.column, 6);
31+
t.deepEqual(node2.source.end.column, 9);
32+
t.deepEqual(node2.sourceIndex, 5);
1533
});
1634

1735
test('leading combinator', '> *', (t, tree) => {
@@ -20,8 +38,12 @@ test('leading combinator', '> *', (t, tree) => {
2038
});
2139

2240
test('sass escapes', '.#{$classname}', (t, tree) => {
23-
t.deepEqual(tree.nodes[0].nodes[0].type, "class");
24-
t.deepEqual(tree.nodes[0].nodes[0].value, "#{$classname}");
41+
const node = tree.nodes[0].nodes[0];
42+
t.deepEqual(node.type, "class");
43+
t.deepEqual(node.value, "#{$classname}");
44+
t.deepEqual(node.source.start.column, 1);
45+
t.deepEqual(node.source.end.column, 14);
46+
t.deepEqual(node.sourceIndex, 0);
2547
});
2648

2749
test('sass escapes (2)', '[lang=#{$locale}]', (t, tree) => {
@@ -31,14 +53,34 @@ test('sass escapes (2)', '[lang=#{$locale}]', (t, tree) => {
3153
t.deepEqual(tree.nodes[0].nodes[0].value, "#{$locale}");
3254
});
3355

56+
test('sass escapes (3)', '.classname1.#{$classname2}', (t, tree) => {
57+
const node1 = tree.nodes[0].nodes[0];
58+
t.deepEqual(node1.type, "class");
59+
t.deepEqual(node1.value, "classname1");
60+
t.deepEqual(node1.source.start.column, 1);
61+
t.deepEqual(node1.source.end.column, 11);
62+
t.deepEqual(node1.sourceIndex, 0);
63+
64+
const node2 = tree.nodes[0].nodes[1];
65+
t.deepEqual(node2.type, "class");
66+
t.deepEqual(node2.value, "#{$classname2}");
67+
t.deepEqual(node2.source.start.column, 12);
68+
t.deepEqual(node2.source.end.column, 26);
69+
t.deepEqual(node2.sourceIndex, 11);
70+
});
71+
3472
test('placeholder', '%foo', (t, tree) => {
3573
t.deepEqual(tree.nodes[0].nodes[0].type, "tag");
3674
t.deepEqual(tree.nodes[0].nodes[0].value, "%foo");
3775
});
3876

3977
test('styled selector', '${Step}', (t, tree) => {
40-
t.deepEqual(tree.nodes[0].nodes[0].type, "tag");
41-
t.deepEqual(tree.nodes[0].nodes[0].value, "${Step}");
78+
const node = tree.nodes[0].nodes[0];
79+
t.deepEqual(node.type, "tag");
80+
t.deepEqual(node.value, "${Step}");
81+
t.deepEqual(node.source.start.column, 1);
82+
t.deepEqual(node.source.end.column, 7);
83+
t.deepEqual(node.sourceIndex, 0);
4284
});
4385

4486
test('styled selector (2)', '${Step}:nth-child(odd)', (t, tree) => {

0 commit comments

Comments
 (0)