diff options
-rw-r--r-- | _oasis | 15 | ||||
-rw-r--r-- | test/session_test.ml | 40 |
2 files changed, 55 insertions, 0 deletions
@@ -135,6 +135,14 @@ Executable "vyconf_config_test" Install: false BuildDepends: oUnit, toml, ppx_deriving.runtime, vyconf +Executable "session_test" + Path: test + MainIs: session_test.ml + Build$: flag(tests) + CompiledObject: best + Install: false + BuildDepends: oUnit, vyconf, xml-light, fileutils, pcre + Executable "vytree_load_test" Path: test MainIs: vytree_load_test.ml @@ -184,3 +192,10 @@ Test "util_test" TestTools: util_test Command: $util_test WorkingDirectory: test + +Test "session_test" + Run$: flag(tests) + TestTools: session_test + Command: $session_test + WorkingDirectory: test + 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 + |