Skip to content

Commit 032e232

Browse files
committed
Simplified tests
1 parent 308ff65 commit 032e232

File tree

8 files changed

+64
-258
lines changed

8 files changed

+64
-258
lines changed

src/argument.rs

Lines changed: 8 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -68,38 +68,17 @@ mod test {
6868

6969
test!(should_parse_single_argument { "optional short a" =>
7070
"";
71-
SingleArgument {
72-
attributes => None,
73-
optional => Some(term!(optional)),
74-
type_ => Type::Single(SingleType::Integer(MayBeNull {
75-
type_: IntegerType::Short(ShortType {
76-
unsigned: None,
77-
short: term!(short)
78-
}),
79-
q_mark: None
80-
})),
81-
identifier => Identifier {
82-
name: "a".to_string()
83-
},
84-
default => None
85-
}
71+
SingleArgument;
72+
attributes.is_none();
73+
optional.is_some();
74+
identifier.name == "a";
75+
default.is_none();
8676
});
8777

8878
test!(should_parse_variadic_argument { "short... a" =>
8979
"";
90-
VariadicArgument {
91-
attributes => None,
92-
type_ => Type::Single(SingleType::Integer(MayBeNull {
93-
type_: IntegerType::Short(ShortType {
94-
unsigned: None,
95-
short: term!(short)
96-
}),
97-
q_mark: None
98-
})),
99-
ellipsis => term!(...),
100-
identifier => Identifier {
101-
name: "a".to_string()
102-
}
103-
}
80+
VariadicArgument;
81+
attributes.is_none();
82+
identifier.name == "a";
10483
});
10584
}

src/attribute.rs

Lines changed: 15 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -112,134 +112,39 @@ impl Parse for ExtendedAttributeNoArgs {
112112
#[cfg(test)]
113113
mod test {
114114
use super::*;
115-
use types::*;
116115

117116
test!(should_parse_attribute_no_args { "Replaceable" =>
118117
"";
119-
ExtendedAttributeNoArgs {
120-
identifier => Identifier {
121-
name: "Replaceable".to_string()
122-
}
123-
}
118+
ExtendedAttributeNoArgs;
119+
identifier.name == "Replaceable";
124120
});
125121

126122
test!(should_parse_attribute_arg_list { "Constructor(double x, double y)" =>
127123
"";
128-
ExtendedAttributeArgList {
129-
identifier => Identifier {
130-
name: "Constructor".to_string()
131-
},
132-
args => Braced {
133-
open_brace: term!(OpenBrace),
134-
body: Punctuated {
135-
list: vec![
136-
Argument::Single(SingleArgument {
137-
attributes: None,
138-
optional: None,
139-
type_: Type::Single(SingleType::FloatingPoint(MayBeNull {
140-
type_: FloatingPointType::Double(DoubleType {
141-
unrestricted: None,
142-
double: term!(double)
143-
}),
144-
q_mark: None
145-
})),
146-
identifier: Identifier {
147-
name: "x".to_string()
148-
},
149-
default: None
150-
}),
151-
Argument::Single(SingleArgument {
152-
attributes: None,
153-
optional: None,
154-
type_: Type::Single(SingleType::FloatingPoint(MayBeNull {
155-
type_: FloatingPointType::Double(DoubleType {
156-
unrestricted: None,
157-
double: term!(double)
158-
}),
159-
q_mark: None
160-
})),
161-
identifier: Identifier {
162-
name: "y".to_string()
163-
},
164-
default: None
165-
}),
166-
],
167-
separator: term!(,)
168-
},
169-
close_brace: term!(CloseBrace)
170-
}
171-
}
124+
ExtendedAttributeArgList;
125+
identifier.name == "Constructor";
126+
args.body.list.len() == 2;
172127
});
173128

174129
test!(should_parse_attribute_ident { "PutForwards=name" =>
175130
"";
176-
ExtendedAttributeIdent {
177-
lhs_identifier => Identifier {
178-
name: "PutForwards".to_string()
179-
},
180-
assign => term!(=),
181-
rhs_identifier => Identifier {
182-
name: "name".to_string()
183-
}
184-
}
131+
ExtendedAttributeIdent;
132+
lhs_identifier.name == "PutForwards";
133+
rhs_identifier.name == "name";
185134
});
186135

187136
test!(should_parse_ident_list { "Exposed=(Window,Worker)" =>
188137
"";
189-
ExtendedAttributeIdentList {
190-
identifier => Identifier {
191-
name: "Exposed".to_string()
192-
},
193-
assign => term!(=),
194-
list => Braced {
195-
open_brace: term!(OpenBrace),
196-
body: Punctuated {
197-
list: vec![
198-
Identifier {
199-
name: "Window".to_string()
200-
},
201-
Identifier {
202-
name: "Worker".to_string()
203-
}
204-
],
205-
separator: term!(,)
206-
},
207-
close_brace: term!(CloseBrace)
208-
}
209-
}
138+
ExtendedAttributeIdentList;
139+
identifier.name == "Exposed";
140+
list.body.list.len() == 2;
210141
});
211142

212143
test!(should_parse_named_arg_list { "NamedConstructor=Image(DOMString src)" =>
213144
"";
214-
ExtendedAttributeNamedArgList {
215-
lhs_identifier => Identifier {
216-
name: "NamedConstructor".to_string()
217-
},
218-
assign => term!(=),
219-
rhs_identifier => Identifier {
220-
name: "Image".to_string()
221-
},
222-
args => Braced {
223-
open_brace: term!(OpenBrace),
224-
body: Punctuated {
225-
list: vec![
226-
Argument::Single(SingleArgument {
227-
attributes: None,
228-
optional: None,
229-
type_: Type::Single(SingleType::DOMString(MayBeNull {
230-
type_: term!(DOMString),
231-
q_mark: None
232-
})),
233-
identifier: Identifier {
234-
name: "src".to_string()
235-
},
236-
default: None
237-
})
238-
],
239-
separator: term!(,)
240-
},
241-
close_brace: term!(CloseBrace)
242-
}
243-
}
145+
ExtendedAttributeNamedArgList;
146+
lhs_identifier.name == "NamedConstructor";
147+
rhs_identifier.name == "Image";
148+
args.body.list.len() == 1;
244149
});
245150
}

src/common.rs

Lines changed: 31 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -167,98 +167,62 @@ mod test {
167167

168168
test!(should_parse_optional_present { "one" =>
169169
"";
170-
Option<Identifier> => Some(Identifier { name: "one".to_string() })
170+
Option<Identifier>;
171+
is_some();
171172
});
172173

173174
test!(should_parse_optional_not_present { "" =>
174175
"";
175-
Option<Identifier> => None
176+
Option<Identifier>;
177+
is_none();
176178
});
177179

178180
test!(should_parse_boxed { "one" =>
179181
"";
180-
Box<Identifier> => Box::new(Identifier { name: "one".to_string() })
182+
Box<Identifier>;
181183
});
182184

183185
test!(should_parse_vec { "one two three" =>
184186
"";
185-
Vec<Identifier> => vec![
186-
Identifier {
187-
name: "one".to_string()
188-
},
189-
Identifier {
190-
name: "two".to_string()
191-
},
192-
Identifier {
193-
name: "three".to_string()
194-
}
195-
]
187+
Vec<Identifier>;
188+
len() == 3;
196189
});
197190

198191
test!(should_parse_parenthesized { "{ one }" =>
199192
"";
200-
Parenthesized {
201-
open_paren => term!(OpenParen),
202-
body => Identifier { name: "one".to_string() },
203-
close_paren => term!(CloseParen)
204-
}
193+
Parenthesized<Identifier>;
194+
body.name == "one";
205195
});
206196

207197
test!(should_parse_bracketed { "[ one ]" =>
208198
"";
209-
Bracketed {
210-
open_bracket => term!(OpenBracket),
211-
body => Identifier { name: "one".to_string() },
212-
close_bracket => term!(CloseBracket)
213-
}
199+
Bracketed<Identifier>;
200+
body.name == "one";
214201
});
215202

216203
test!(should_parse_braced { "( one )" =>
217204
"";
218-
Braced {
219-
open_brace => term!(OpenBrace),
220-
body => Identifier { name: "one".to_string() },
221-
close_brace => term!(CloseBrace)
222-
}
205+
Braced<Identifier>;
206+
body.name == "one";
223207
});
224208

225209
test!(should_parse_generics { "<one>" =>
226210
"";
227-
Generics {
228-
open_angle => term!(<),
229-
body => Identifier {
230-
name: "one".to_string()
231-
},
232-
close_angle => term!(>)
233-
}
211+
Generics<Identifier>;
212+
body.name == "one";
234213
});
235214

236215
test!(should_parse_generics_two { "<one, two>" =>
237216
"";
238217
Generics<(Identifier, term!(,), Identifier)>;
239-
body == (Identifier {
240-
name: "one".to_string()
241-
}, term!(,), Identifier {
242-
name: "two".to_string()
243-
});
218+
body.0.name == "one";
219+
body.2.name == "two";
244220
});
245221

246222
test!(should_parse_comma_separated_values { "one, two, three" =>
247223
"";
248-
Punctuated<Identifier, term!(,)> => Punctuated {
249-
list: vec![
250-
Identifier {
251-
name: "one".to_string()
252-
},
253-
Identifier {
254-
name: "two".to_string()
255-
},
256-
Identifier {
257-
name: "three".to_string()
258-
},
259-
],
260-
separator: term!(,)
261-
}
224+
Punctuated<Identifier, term!(,)>;
225+
list.len() == 3;
262226
});
263227

264228
test!(err should_not_parse_comma_separated_values_empty { "" =>
@@ -267,43 +231,37 @@ mod test {
267231

268232
test!(should_parse_identifier { "hello" =>
269233
"";
270-
Identifier {
271-
name => "hello".to_string()
272-
}
234+
Identifier;
235+
name == "hello";
273236
});
274237

275238
test!(should_parse_numbered_identifier { "hello5" =>
276239
"";
277-
Identifier {
278-
name => "hello5".to_string()
279-
}
240+
Identifier;
241+
name == "hello5";
280242
});
281243

282244
test!(should_parse_underscored_identifier { "_hello_" =>
283245
"";
284-
Identifier {
285-
name => "_hello_".to_string()
286-
}
246+
Identifier;
247+
name == "_hello_";
287248
});
288249

289250
test!(should_parse_identifier_surrounding_with_spaces { " hello " =>
290251
"";
291-
Identifier {
292-
name => "hello".to_string()
293-
}
252+
Identifier;
253+
name == "hello";
294254
});
295255

296256
test!(should_parse_identifier_preceeding_others { "hello note" =>
297257
"note";
298-
Identifier {
299-
name => "hello".to_string()
300-
}
258+
Identifier;
259+
name == "hello";
301260
});
302261

303262
test!(should_parse_identifier_attached_to_symbol { "hello=" =>
304263
"=";
305-
Identifier {
306-
name => "hello".to_string()
307-
}
264+
Identifier;
265+
name == "hello";
308266
});
309267
}

0 commit comments

Comments
 (0)