aboutsummaryrefslogtreecommitdiff
path: root/snap/parsing_test.go
diff options
context:
space:
mode:
authorflu0r1ne <flu0r1ne@flu0r1ne.net>2021-07-21 23:00:00 -0500
committerflu0r1ne <flu0r1ne@flu0r1ne.net>2021-07-21 23:00:00 -0500
commitfb8aee6c5147b8751a3920f613934d90b79ef4c5 (patch)
tree46dd389d9695b3c4f9f1e65962e76b383f703863 /snap/parsing_test.go
parenta10f10119f05320fb71574ad54b3161f5a37d371 (diff)
downloadzsu-fb8aee6c5147b8751a3920f613934d90b79ef4c5.tar.xz
zsu-fb8aee6c5147b8751a3920f613934d90b79ef4c5.zip
Added parser for +- syntax for relative references to snapshots
Diffstat (limited to 'snap/parsing_test.go')
-rw-r--r--snap/parsing_test.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/snap/parsing_test.go b/snap/parsing_test.go
new file mode 100644
index 0000000..1a87723
--- /dev/null
+++ b/snap/parsing_test.go
@@ -0,0 +1,31 @@
+package snap
+
+import "testing"
+
+func TestRelativeParsing(t * testing.T) {
+ cases := []struct {
+ snapish string
+ snapshot string
+ offset int
+ } {
+ {"snapshot", "snapshot", 0},
+ {"testing--", "testing", -2},
+ {"%SNAPSHOT%^+++", "%SNAPSHOT%^", 3},
+ {"--prefixed", "--prefixed", 0},
+ {"+++", "", 3},
+ {"---", "", -3},
+ {"+5", "", 5},
+ {"-3", "", -3},
+ {"+", "", 1},
+ {"-", "", -1},
+ {`"-"`, "-", 0},
+ }
+
+ for _, c := range cases {
+ got := ToRelative(c.snapish)
+
+ if got.offset != c.offset || got.snapshot != c.snapshot {
+ t.Errorf("ToRelative(%s) == %+v, wanted %+v", c.snapish, got, c)
+ }
+ }
+} \ No newline at end of file