Skip to content

Commit a8100f0

Browse files
authored
Style-guide-ify specs for selector-append() (#1458)
1 parent 35c1d44 commit a8100f0

File tree

5 files changed

+240
-70
lines changed

5 files changed

+240
-70
lines changed
Lines changed: 240 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
<===> classes/single/input.scss
2+
a {b: selector-append(".c", ".d")}
3+
4+
<===> classes/single/output.css
5+
a {
6+
b: .c.d;
7+
}
8+
9+
<===>
10+
================================================================================
11+
<===> classes/double/input.scss
12+
a {b: selector-append(".c, .d", ".e, .f")}
13+
14+
<===> classes/double/output.css
15+
a {
16+
b: .c.e, .c.f, .d.e, .d.f;
17+
}
18+
19+
<===> classes/double/output-libsass.css
20+
a {
21+
b: .c.e, .d.e, .c.f, .d.f;
22+
}
23+
24+
<===>
25+
================================================================================
26+
<===> suffix/single/input.scss
27+
a {b: selector-append(".c", "d")}
28+
29+
<===> suffix/single/output.css
30+
a {
31+
b: .cd;
32+
}
33+
34+
<===>
35+
================================================================================
36+
<===> suffix/multiple/input.scss
37+
a {b: selector-append(".c, .d", "e, f")}
38+
39+
<===> suffix/multiple/output.css
40+
a {
41+
b: .ce, .cf, .de, .df;
42+
}
43+
44+
<===> suffix/multiple/output-libsass.css
45+
a {
46+
b: .ce, .de, .cf, .df;
47+
}
48+
49+
<===>
50+
================================================================================
51+
<===> suffix/descendant/input.scss
52+
a {b: selector-append("c d", "e f")}
53+
54+
<===> suffix/descendant/output.css
55+
a {
56+
b: c de f;
57+
}
58+
59+
<===>
60+
================================================================================
61+
<===> one_arg/input.scss
62+
a {b: selector-append(".c.d")}
63+
64+
<===> one_arg/output.css
65+
a {
66+
b: .c.d;
67+
}
68+
69+
<===>
70+
================================================================================
71+
<===> many_args/input.scss
72+
a {b: selector-append(".c", ".d", ".e")}
73+
74+
<===> many_args/output.css
75+
a {
76+
b: .c.d.e;
77+
}
78+
79+
<===>
80+
================================================================================
81+
<===> input/input.scss
82+
// The full set of possible input formats is tested with `selector-parse()`;
83+
// this spec just verifies one example for `selector-append()`.
84+
a {b: selector-append((c, d e), (f, g h))}
85+
86+
<===> input/output.css
87+
a {
88+
b: cf, cg h, d ef, d eg h;
89+
}
90+
91+
<===> input/output-libsass.css
92+
a {
93+
b: cf, d ef, cg h, d eg h;
94+
}
95+
96+
<===>
97+
================================================================================
98+
<===> error/universal/options.yml
99+
---
100+
:todo:
101+
- sass/libsass#2982
102+
103+
<===> error/universal/input.scss
104+
a {b: selector-append(".c", "*")}
105+
106+
<===> error/universal/error
107+
Error: Can't append * to .c.
108+
,
109+
1 | a {b: selector-append(".c", "*")}
110+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
111+
'
112+
input.scss 1:7 root stylesheet
113+
114+
<===>
115+
================================================================================
116+
<===> error/leading_combinator/input.scss
117+
a {b: selector-append(".c", "> .d")}
118+
119+
<===> error/leading_combinator/error
120+
Error: Can't append > .d to .c.
121+
,
122+
1 | a {b: selector-append(".c", "> .d")}
123+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
124+
'
125+
input.scss 1:7 root stylesheet
126+
127+
<===> error/leading_combinator/error-libsass
128+
Error: Can't append "> .d" to ".c" for `selector-append'
129+
on line 1:7 of input.scss, in function `selector-append`
130+
from line 1:7 of input.scss
131+
>> a {b: selector-append(".c", "> .d")}
132+
133+
------^
134+
135+
<===>
136+
================================================================================
137+
<===> error/namespace/options.yml
138+
---
139+
:todo:
140+
- sass/libsass#2976
141+
142+
<===> error/namespace/input.scss
143+
a {b: selector-append("c", "|d")}
144+
145+
<===> error/namespace/error
146+
Error: Can't append |d to c.
147+
,
148+
1 | a {b: selector-append("c", "|d")}
149+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
150+
'
151+
input.scss 1:7 root stylesheet
152+
153+
<===>
154+
================================================================================
155+
<===> error/parent/options.yml
156+
---
157+
:todo:
158+
- sass/libsass#2983
159+
160+
<===> error/parent/input.scss
161+
a {b: selector-append(".c", "&")}
162+
163+
<===> error/parent/error
164+
Error: Parent selectors aren't allowed here.
165+
,
166+
1 | &
167+
| ^
168+
'
169+
- 1:1 root stylesheet
170+
,
171+
1 | a {b: selector-append(".c", "&")}
172+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
173+
'
174+
input.scss 1:7 root stylesheet
175+
176+
<===>
177+
================================================================================
178+
<===> error/invalid/input.scss
179+
a {b: selector-append("[c", "d")}
180+
181+
<===> error/invalid/error
182+
Error: expected more input.
183+
,
184+
1 | [c
185+
| ^
186+
'
187+
- 1:3 root stylesheet
188+
,
189+
1 | a {b: selector-append("[c", "d")}
190+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
191+
'
192+
input.scss 1:7 root stylesheet
193+
194+
<===> error/invalid/error-libsass
195+
Error: invalid operator in attribute selector for c
196+
on line 1:24 of input.scss, in function `selector-append`
197+
from line 1:7 of input.scss
198+
>> a {b: selector-append("[c", "d")}
199+
200+
-----------------------^
201+
202+
<===>
203+
================================================================================
204+
<===> error/type/options.yml
205+
---
206+
:todo:
207+
- sass/libsass#2964
208+
209+
<===> error/type/input.scss
210+
a {b: selector-append("c", 1)}
211+
212+
<===> error/type/error
213+
Error: 1 is not a valid selector: it must be a string,
214+
a list of strings, or a list of lists of strings.
215+
,
216+
1 | a {b: selector-append("c", 1)}
217+
| ^^^^^^^^^^^^^^^^^^^^^^^
218+
'
219+
input.scss 1:7 root stylesheet
220+
221+
<===>
222+
================================================================================
223+
<===> error/too_few_args/input.scss
224+
a {b: selector-append()}
225+
226+
<===> error/too_few_args/error
227+
Error: $selectors: At least one selector must be passed.
228+
,
229+
1 | a {b: selector-append()}
230+
| ^^^^^^^^^^^^^^^^^
231+
'
232+
input.scss 1:7 root stylesheet
233+
234+
<===> error/too_few_args/error-libsass
235+
Error: $selectors: At least one selector must be passed for `selector-append'
236+
on line 1:7 of input.scss, in function `selector-append`
237+
from line 1:7 of input.scss
238+
>> a {b: selector-append()}
239+
240+
------^

spec/libsass-closed-issues/issue_1432/selector-append.hrx

Lines changed: 0 additions & 17 deletions
This file was deleted.

spec/libsass/selector-functions/selector-append-empty.hrx

Lines changed: 0 additions & 16 deletions
This file was deleted.

spec/libsass/selector-functions/selector-append-error-1.hrx

Lines changed: 0 additions & 21 deletions
This file was deleted.

spec/libsass/selector-functions/selector-append-error-2.hrx

Lines changed: 0 additions & 16 deletions
This file was deleted.

0 commit comments

Comments
 (0)