summaryrefslogtreecommitdiff
path: root/sid_test.ml
diff options
context:
space:
mode:
authorPhilipp Gesang <phg@phi-gamma.net>2018-10-30 00:50:20 +0100
committerPhilipp Gesang <phg@phi-gamma.net>2018-10-30 01:15:04 +0100
commitd7abe889accfc4a8e41d97d5f2327fde0ce9ca64 (patch)
tree3796ced04b2be2f6423b090aeb97863618503dbb /sid_test.ml
parent1d5a7501bbf2a33c60b24a71254b0c42939568aa (diff)
downloadocaml-sid-d7abe889accfc4a8e41d97d5f2327fde0ce9ca64.tar.gz
sid: fix off by one parsing bug
In the string representation, hyphen is always succeeded by a number so we need to terminate at input length minus one.
Diffstat (limited to 'sid_test.ml')
-rw-r--r--sid_test.ml5
1 files changed, 5 insertions, 0 deletions
diff --git a/sid_test.ml b/sid_test.ml
index f34e4b0..61e5366 100644
--- a/sid_test.ml
+++ b/sid_test.ml
@@ -72,6 +72,10 @@ let sf_parse_ia_junk_fail () =
assert_equal
e "Invalid SID [S-I-3-3-7]: expected ā€˜1ā€™ at position 2, found ā€˜Iā€™"
+let sf_parse_trailing_ok () =
+ let s = unwrap_of_string "S-1-0-0-" in
+ assert_equal (Sid.to_string s) "S-1-0-0"
+
let sf_parse_long_ok () =
let s = unwrap_of_string "S-1-1-0-1-2-3-4-5-6-7-8-9-10-11-12-13-14"
and l = max_sid in
@@ -274,6 +278,7 @@ let string_format_test = "string-format-syntax" >:::
; "parse-empty-fail" >:: sf_parse_empty_fail
; "parse-junk-fail" >:: sf_parse_junk_fail
; "parse-ia-junk-fail" >:: sf_parse_ia_junk_fail
+ ; "parse-trailing-ok" >:: sf_parse_trailing_ok
; "parse-long-ok" >:: sf_parse_long_ok
; "parse-too-long-ok" >:: sf_parse_too_long_ok
]