From a9fa58b61db7c634e2b54842c734a6a00e986c02 Mon Sep 17 00:00:00 2001 From: Daniil Baturin Date: Fri, 30 Dec 2016 22:41:58 +0700 Subject: Add some unit tests for the Session.string_of_op function. --- test/session_test.ml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 test/session_test.ml (limited to '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 + -- cgit v1.2.3