diff options
Diffstat (limited to 'range_test.go')
| -rw-r--r-- | range_test.go | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/range_test.go b/range_test.go new file mode 100644 index 0000000..f7272ef --- /dev/null +++ b/range_test.go @@ -0,0 +1,51 @@ +package awwan + +import ( + "testing" + + "github.com/shuLhan/share/lib/test" +) + +func TestParseLineRange(t *testing.T) { + type testCase struct { + raw string + exp lineRange + } + + var cases = []testCase{{ + raw: ``, + }, { + raw: ` 1`, + exp: lineRange{ + list: []linePosition{ + {start: 1, end: 1}, + }, + }, + }, { + raw: ` ,1,`, + exp: lineRange{ + list: []linePosition{ + {start: 1, end: 1}, + }, + }, + }, { + raw: ` ,1,2-1,,-4,-4-6,4-6-,8-10,8-12,10-12,10-,16-,18-20`, + exp: lineRange{ + list: []linePosition{ + {start: 1, end: 1}, + {start: 8, end: 10}, + {start: 16, end: 0}, + }, + }, + }} + + var ( + c testCase + got lineRange + ) + for _, c = range cases { + got = parseLineRange(c.raw) + t.Logf("got.list: %+v", got.list) + test.Assert(t, c.raw, c.exp, got) + } +} |
