]> git.lizzy.rs Git - rust.git/blob - src/test/rustdoc-js-std/parser-errors.js
Make query parser more strict and improve display of errors
[rust.git] / src / test / rustdoc-js-std / parser-errors.js
1 const QUERY = [
2     '<"P">',
3     '"P" "P"',
4     'P "P"',
5     '"p" p',
6     '"const": p',
7     "<:a>", "<::a>",
8     "((a))",
9     "->,a",
10     "(p -> p",
11     "::a::b",
12     "a::::b",
13     "a::b::",
14     ":a",
15     "a b:",
16     "a (b:",
17     "{:",
18 ];
19
20 const PARSED = [
21     {
22         args: [],
23         elems: [],
24         foundElems: 0,
25         original: "<\"P\">",
26         returned: [],
27         typeFilter: -1,
28         userQuery: "<\"p\">",
29         error: "`\"` cannot be used in generics",
30     },
31     {
32         args: [],
33         elems: [],
34         foundElems: 0,
35         original: "\"P\" \"P\"",
36         returned: [],
37         typeFilter: -1,
38         userQuery: "\"p\" \"p\"",
39         error: "Cannot have more than one literal search element",
40     },
41     {
42         args: [],
43         elems: [],
44         foundElems: 0,
45         original: "P \"P\"",
46         returned: [],
47         typeFilter: -1,
48         userQuery: "p \"p\"",
49         error: "Cannot use literal search when there is more than one element",
50     },
51     {
52         args: [],
53         elems: [],
54         foundElems: 0,
55         original: "\"p\" p",
56         returned: [],
57         typeFilter: -1,
58         userQuery: "\"p\" p",
59         error: "You cannot have more than one element if you use quotes",
60     },
61     {
62         args: [],
63         elems: [],
64         foundElems: 0,
65         original: "\"const\": p",
66         returned: [],
67         typeFilter: -1,
68         userQuery: "\"const\": p",
69         error: "You cannot use quotes on type filter",
70     },
71     {
72         args: [],
73         elems: [],
74         foundElems: 0,
75         original: "<:a>",
76         returned: [],
77         typeFilter: -1,
78         userQuery: "<:a>",
79         error: "Unexpected `:` after `<`",
80     },
81     {
82         args: [],
83         elems: [],
84         foundElems: 0,
85         original: "<::a>",
86         returned: [],
87         typeFilter: -1,
88         userQuery: "<::a>",
89         error: "Unexpected `::`: paths cannot start with `::`",
90     },
91     {
92         args: [],
93         elems: [],
94         foundElems: 0,
95         original: "((a))",
96         returned: [],
97         typeFilter: -1,
98         userQuery: "((a))",
99         error: "Unexpected `(` after `(`",
100     },
101     {
102         args: [],
103         elems: [],
104         foundElems: 0,
105         original: "->,a",
106         returned: [],
107         typeFilter: -1,
108         userQuery: "->,a",
109         error: "Unexpected `,` after `->`",
110     },
111     {
112         args: [],
113         elems: [],
114         foundElems: 0,
115         original: "(p -> p",
116         returned: [],
117         typeFilter: -1,
118         userQuery: "(p -> p",
119         error: "Unexpected `-` after `(`",
120     },
121     {
122         args: [],
123         elems: [],
124         foundElems: 0,
125         original: "::a::b",
126         returned: [],
127         typeFilter: -1,
128         userQuery: "::a::b",
129         error: "Paths cannot start with `::`",
130     },
131     {
132         args: [],
133         elems: [],
134         foundElems: 0,
135         original: "a::::b",
136         returned: [],
137         typeFilter: -1,
138         userQuery: "a::::b",
139         error: "Unexpected `::::`",
140     },
141     {
142         args: [],
143         elems: [],
144         foundElems: 0,
145         original: "a::b::",
146         returned: [],
147         typeFilter: -1,
148         userQuery: "a::b::",
149         error: "Paths cannot end with `::`",
150     },
151     {
152         args: [],
153         elems: [],
154         foundElems: 0,
155         original: ":a",
156         returned: [],
157         typeFilter: -1,
158         userQuery: ":a",
159         error: "Expected type filter before `:`",
160     },
161     {
162         args: [],
163         elems: [],
164         foundElems: 0,
165         original: "a b:",
166         returned: [],
167         typeFilter: -1,
168         userQuery: "a b:",
169         error: "Unexpected `:`",
170     },
171     {
172         args: [],
173         elems: [],
174         foundElems: 0,
175         original: "a (b:",
176         returned: [],
177         typeFilter: -1,
178         userQuery: "a (b:",
179         error: "Unexpected `:` after `(`",
180     },
181     {
182         args: [],
183         elems: [],
184         foundElems: 0,
185         original: "{:",
186         returned: [],
187         typeFilter: -1,
188         userQuery: "{:",
189         error: "Unknown type filter `{`",
190     },
191 ];