diff options
Diffstat (limited to 'test/session_test.ml')
-rw-r--r-- | test/session_test.ml | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/session_test.ml b/test/session_test.ml new file mode 100644 index 0000000..a3a1fb0 --- /dev/null +++ b/test/session_test.ml @@ -0,0 +1,40 @@ +open OUnit2 +open Session + +module CT = Config_tree +module RT = Reference_tree + + +(* I'm not sure if we want to account for superfluous spaces inside the strings, + but for now let's say we want strings "normalized" + + We also assume that quotes around the values are double quotes, + even though the lexer will also accept single quotes. + *) + +let test_op_string_set test_ctxt = + let op = CfgSet (["foo"; "bar"], Some "baz quux", CT.ReplaceValue) in + let str = (String.trim @@ string_of_op op) in + assert_equal str "set foo bar \"baz quux\"" + +let test_op_string_set_valueless test_ctxt = + let op = CfgSet (["foo"; "bar"], None, CT.ReplaceValue) in + let str = (String.trim @@ string_of_op op) in + assert_equal str "set foo bar" + +let test_op_string_delete test_ctxt = + let op = CfgDelete (["foo"; "bar"], Some "baz quux") in + let str = (String.trim @@ string_of_op op) in + assert_equal str "delete foo bar \"baz quux\"" + + +let suite = + "VyConf session tests" >::: [ + "test_op_string_set" >:: test_op_string_set; + "test_op_string_set_valueless" >:: test_op_string_set_valueless; + "test_op_string_delete" >:: test_op_string_delete; + ] + +let () = + run_test_tt_main suite + |