summaryrefslogtreecommitdiff
path: root/src/options_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/options_test.go')
-rw-r--r--src/options_test.go40
1 files changed, 35 insertions, 5 deletions
diff --git a/src/options_test.go b/src/options_test.go
index e10ec569..782ad791 100644
--- a/src/options_test.go
+++ b/src/options_test.go
@@ -21,17 +21,47 @@ func TestSplitNth(t *testing.T) {
}
}
{
- ranges := splitNth("..3,1..,2..3,4..-1,-3..-2,..,2,-2")
- if len(ranges) != 8 ||
+ ranges := splitNth("..3,1..,2..3,4..-1,-3..-2,..,2,-2,2..-2,1..-1")
+ if len(ranges) != 10 ||
ranges[0].begin != rangeEllipsis || ranges[0].end != 3 ||
- ranges[1].begin != 1 || ranges[1].end != rangeEllipsis ||
+ ranges[1].begin != rangeEllipsis || ranges[1].end != rangeEllipsis ||
ranges[2].begin != 2 || ranges[2].end != 3 ||
- ranges[3].begin != 4 || ranges[3].end != -1 ||
+ ranges[3].begin != 4 || ranges[3].end != rangeEllipsis ||
ranges[4].begin != -3 || ranges[4].end != -2 ||
ranges[5].begin != rangeEllipsis || ranges[5].end != rangeEllipsis ||
ranges[6].begin != 2 || ranges[6].end != 2 ||
- ranges[7].begin != -2 || ranges[7].end != -2 {
+ ranges[7].begin != -2 || ranges[7].end != -2 ||
+ ranges[8].begin != 2 || ranges[8].end != -2 ||
+ ranges[9].begin != rangeEllipsis || ranges[9].end != rangeEllipsis {
t.Errorf("%s", ranges)
}
}
}
+
+func TestIrrelevantNth(t *testing.T) {
+ {
+ opts := defaultOptions()
+ words := []string{"--nth", "..", "-x"}
+ parseOptions(opts, words)
+ if len(opts.Nth) != 0 {
+ t.Errorf("nth should be empty: %s", opts.Nth)
+ }
+ }
+ for _, words := range [][]string{[]string{"--nth", "..,3"}, []string{"--nth", "3,1.."}, []string{"--nth", "..-1,1"}} {
+ {
+ opts := defaultOptions()
+ parseOptions(opts, words)
+ if len(opts.Nth) != 0 {
+ t.Errorf("nth should be empty: %s", opts.Nth)
+ }
+ }
+ {
+ opts := defaultOptions()
+ words = append(words, "-x")
+ parseOptions(opts, words)
+ if len(opts.Nth) != 2 {
+ t.Errorf("nth should not be empty: %s", opts.Nth)
+ }
+ }
+ }
+}