Skip to content

Commit 3127494

Browse files
zxvfcsylvestre
authored andcommitted
More tests for sdiff params parsing
1 parent 0ca597d commit 3127494

1 file changed

Lines changed: 63 additions & 9 deletions

File tree

src/sdiff.rs

Lines changed: 63 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
use regex::Regex;
77

8-
// use crate::params::parse_params;
98
use crate::side_diff;
109
use crate::utils;
1110
use std::env::ArgsOs;
@@ -227,17 +226,21 @@ mod tests {
227226
assert_eq!(
228227
Ok(Params {
229228
executable: os("sdiff"),
230-
from: os("foo"),
231-
to: os("bar"),
229+
from: os("-"),
230+
to: os("-"),
232231
..Default::default()
233232
}),
234-
parse_params(
235-
[os("sdiff"), os("foo"), os("bar")]
236-
.iter()
237-
.cloned()
238-
.peekable()
239-
)
233+
parse_params([os("sdiff"), os("-"), os("-")].iter().cloned().peekable())
240234
);
235+
236+
assert!(parse_params(
237+
[os("sdiff"), os("foo"), os("bar"), os("-"), os("-")]
238+
.iter()
239+
.cloned()
240+
.peekable()
241+
)
242+
.is_err());
243+
241244
for option in ["-t", "--expand-tabs"] {
242245
assert_eq!(
243246
Ok(Params {
@@ -255,6 +258,39 @@ mod tests {
255258
)
256259
);
257260
}
261+
262+
assert_eq!(
263+
Ok(Params {
264+
executable: os("sdiff"),
265+
from: os("foo"),
266+
to: os("bar"),
267+
width: 10,
268+
..Default::default()
269+
}),
270+
parse_params(
271+
[os("sdiff"), os("--width=10"), os("foo"), os("bar")]
272+
.iter()
273+
.cloned()
274+
.peekable()
275+
)
276+
);
277+
278+
assert!(parse_params(
279+
[os("sdiff"), os("--width=0"), os("foo"), os("bar")]
280+
.iter()
281+
.cloned()
282+
.peekable()
283+
)
284+
.is_err());
285+
286+
assert!(parse_params(
287+
[os("sdiff"), os("--width=.1"), os("foo"), os("bar")]
288+
.iter()
289+
.cloned()
290+
.peekable()
291+
)
292+
.is_err());
293+
258294
assert_eq!(
259295
Ok(Params {
260296
executable: os("sdiff"),
@@ -269,6 +305,7 @@ mod tests {
269305
.peekable()
270306
)
271307
);
308+
272309
assert_eq!(
273310
Ok(Params {
274311
executable: os("sdiff"),
@@ -284,6 +321,15 @@ mod tests {
284321
.peekable()
285322
)
286323
);
324+
325+
assert!(parse_params(
326+
[os("sdiff"), os("--tabsize=0"), os("foo"), os("bar")]
327+
.iter()
328+
.cloned()
329+
.peekable()
330+
)
331+
.is_err());
332+
287333
assert_eq!(
288334
Ok(Params {
289335
executable: os("sdiff"),
@@ -299,41 +345,49 @@ mod tests {
299345
.peekable()
300346
)
301347
);
348+
349+
assert!(parse_params([os("sdiff")].iter().cloned().peekable()).is_err());
350+
302351
assert!(parse_params(
303352
[os("sdiff"), os("--tabsize"), os("foo"), os("bar")]
304353
.iter()
305354
.cloned()
306355
.peekable()
307356
)
308357
.is_err());
358+
309359
assert!(parse_params(
310360
[os("sdiff"), os("--tabsize="), os("foo"), os("bar")]
311361
.iter()
312362
.cloned()
313363
.peekable()
314364
)
315365
.is_err());
366+
316367
assert!(parse_params(
317368
[os("sdiff"), os("--tabsize=r2"), os("foo"), os("bar")]
318369
.iter()
319370
.cloned()
320371
.peekable()
321372
)
322373
.is_err());
374+
323375
assert!(parse_params(
324376
[os("sdiff"), os("--tabsize=-1"), os("foo"), os("bar")]
325377
.iter()
326378
.cloned()
327379
.peekable()
328380
)
329381
.is_err());
382+
330383
assert!(parse_params(
331384
[os("sdiff"), os("--tabsize=r2"), os("foo"), os("bar")]
332385
.iter()
333386
.cloned()
334387
.peekable()
335388
)
336389
.is_err());
390+
337391
assert!(parse_params(
338392
[
339393
os("sdiff"),

0 commit comments

Comments
 (0)