Skip to content

Commit 0c60825

Browse files
committed
Add some missing test cases.
1 parent 718d865 commit 0c60825

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed

src/__tests__/classes.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,13 @@ test('Less interpolation within a class', '.foo@{bar}', (t, tree) => {
3636
t.deepEqual(tree.nodes[0].nodes[0].type, 'class');
3737
t.deepEqual(tree.nodes[0].nodes[0].value, 'foo@{bar}');
3838
});
39+
40+
test('ClassName#set value', (t) => {
41+
let out = parse('.fo\\o', (selectors) => {
42+
let className = selectors.first.first;
43+
t.deepEqual(className.raws, {value: "fo\\o"});
44+
className.value = "bar";
45+
t.deepEqual(className.raws, {});
46+
});
47+
t.deepEqual(out, '.bar');
48+
});

src/__tests__/node.js

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,54 @@ test('node#replaceWith', (t) => {
2020
});
2121
t.deepEqual(out, '#test.test');
2222
});
23+
24+
test('Node#appendToPropertyAndEscape', (t) => {
25+
let out = parse('.fo\\o', (selectors) => {
26+
let className = selectors.first.first;
27+
t.deepEqual(className.raws, {value: "fo\\o"});
28+
className.appendToPropertyAndEscape("value", "bar", "ba\\r");
29+
t.deepEqual(className.raws, {value: "fo\\oba\\r"});
30+
});
31+
t.deepEqual(out, '.fo\\oba\\r');
32+
});
33+
34+
test('Node#setPropertyAndEscape with existing raws', (t) => {
35+
let out = parse('.fo\\o', (selectors) => {
36+
let className = selectors.first.first;
37+
t.deepEqual(className.raws, {value: "fo\\o"});
38+
className.setPropertyAndEscape("value", "bar", "ba\\r");
39+
t.deepEqual(className.raws, {value: "ba\\r"});
40+
});
41+
t.deepEqual(out, '.ba\\r');
42+
});
43+
44+
test('Node#setPropertyAndEscape without existing raws', (t) => {
45+
let out = parse('.foo', (selectors) => {
46+
let className = selectors.first.first;
47+
t.deepEqual(className.raws, undefined);
48+
className.setPropertyAndEscape("value", "bar", "ba\\r");
49+
t.deepEqual(className.raws, {value: "ba\\r"});
50+
});
51+
t.deepEqual(out, '.ba\\r');
52+
});
53+
54+
test('Node#setPropertyWithoutEscape with existing raws', (t) => {
55+
let out = parse('.fo\\o', (selectors) => {
56+
let className = selectors.first.first;
57+
t.deepEqual(className.raws, {value: "fo\\o"});
58+
className.setPropertyWithoutEscape("value", "w+t+f");
59+
t.deepEqual(className.raws, {});
60+
});
61+
t.deepEqual(out, '.w+t+f');
62+
});
63+
64+
test('Node#setPropertyWithoutEscape without existing raws', (t) => {
65+
let out = parse('.foo', (selectors) => {
66+
let className = selectors.first.first;
67+
t.deepEqual(className.raws, undefined);
68+
className.setPropertyWithoutEscape("value", "w+t+f");
69+
t.deepEqual(className.raws, {});
70+
t.deepEqual(className.value, "w+t+f");
71+
});
72+
t.deepEqual(out, '.w+t+f');
73+
});

0 commit comments

Comments
 (0)