1<===> README.md
2`join()` is unique in that it takes multiple optional arguments that can be
3passed independently of one another. This may necessitate unusual
4implementation, so we go out of our way to verify that it disallows unusual
5invalid calls.
6
7<===>
8================================================================================
9<===> type/separator/input.scss
10a {b: join(c, d, $separator: 1)}
11
12<===> type/separator/error
13Error: $separator: 1 is not a string.
14  ,
151 | a {b: join(c, d, $separator: 1)}
16  |       ^^^^^^^^^^^^^^^^^^^^^^^^^
17  '
18  input.scss 1:7  root stylesheet
19
20<===> type/separator/error-libsass
21Error: argument `$separator` of `join($list1, $list2, $separator: auto, $bracketed: auto)` must be a string
22        on line 1:7 of input.scss, in function `join`
23        from line 1:7 of input.scss
24>> a {b: join(c, d, $separator: 1)}
25
26   ------^
27
28<===>
29================================================================================
30<===> too_many_args/input.scss
31a {b: join(c, d, comma, true, false)}
32
33<===> too_many_args/error
34Error: Only 4 arguments allowed, but 5 were passed.
35  ,--> input.scss
361 | a {b: join(c, d, comma, true, false)}
37  |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invocation
38  '
39  ,--> sass:list
401 | @function join($list1, $list2, $separator: auto, $bracketed: auto) {
41  |           ======================================================== declaration
42  '
43  input.scss 1:7  root stylesheet
44
45<===> too_many_args/error-libsass
46Error: wrong number of arguments (5 for 4) for `join'
47        on line 1:7 of input.scss
48>> a {b: join(c, d, comma, true, false)}
49
50   ------^
51
52<===>
53================================================================================
54<===> too_few_args/input.scss
55a {b: join(c)}
56
57<===> too_few_args/error
58Error: Missing argument $list2.
59  ,--> input.scss
601 | a {b: join(c)}
61  |       ^^^^^^^ invocation
62  '
63  ,--> sass:list
641 | @function join($list1, $list2, $separator: auto, $bracketed: auto) {
65  |           ======================================================== declaration
66  '
67  input.scss 1:7  root stylesheet
68
69<===> too_few_args/error-libsass
70Error: Function join is missing argument $list2.
71        on line 1 of input.scss
72>> a {b: join(c)}
73
74   ------^
75
76<===>
77================================================================================
78<===> named/input.scss
79a {b: join(c, d, $invalid: true)}
80
81<===> named/error
82Error: No argument named $invalid.
83  ,--> input.scss
841 | a {b: join(c, d, $invalid: true)}
85  |       ^^^^^^^^^^^^^^^^^^^^^^^^^^ invocation
86  '
87  ,--> sass:list
881 | @function join($list1, $list2, $separator: auto, $bracketed: auto) {
89  |           ======================================================== declaration
90  '
91  input.scss 1:7  root stylesheet
92
93<===> named/error-libsass
94Error: Function join has no parameter named $invalid
95        on line 1:18 of input.scss
96>> a {b: join(c, d, $invalid: true)}
97
98   -----------------^
99
100<===>
101================================================================================
102<===> positional_and_named/input.scss
103a {b: join(c, d, comma, true, false, $invalid: true)}
104
105<===> positional_and_named/error
106Error: Only 4 positional arguments allowed, but 5 were passed.
107  ,--> input.scss
1081 | a {b: join(c, d, comma, true, false, $invalid: true)}
109  |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invocation
110  '
111  ,--> sass:list
1121 | @function join($list1, $list2, $separator: auto, $bracketed: auto) {
113  |           ======================================================== declaration
114  '
115  input.scss 1:7  root stylesheet
116
117<===> positional_and_named/error-libsass
118Error: wrong number of arguments (6 for 4) for `join'
119        on line 1:7 of input.scss
120>> a {b: join(c, d, comma, true, false, $invalid: true)}
121
122   ------^
123
124<===>
125================================================================================
126<===> unknown_separator/input.scss
127a {b: join(c, d, $separator: e)}
128
129<===> unknown_separator/error
130Error: $separator: Must be "space", "comma", "slash", or "auto".
131  ,
1321 | a {b: join(c, d, $separator: e)}
133  |       ^^^^^^^^^^^^^^^^^^^^^^^^^
134  '
135  input.scss 1:7  root stylesheet
136
137<===> unknown_separator/error-libsass
138Error: argument `$separator` of `join($list1, $list2, $separator: auto, $bracketed: auto)` must be `space`, `comma`, or `auto`
139        on line 1:7 of input.scss, in function `join`
140        from line 1:7 of input.scss
141>> a {b: join(c, d, $separator: e)}
142
143   ------^
144