@@ -29,6 +29,10 @@ namespace tao
2929 TEST_THROWS ( patch ( a, value::array ( { { { " op" , " test" }, { " path" , " " }, { " value" , 42 } } } ) ) );
3030 TEST_THROWS ( patch ( a, value::array ( { { { " op" , " test" }, { " path" , " /a" }, { " value" , 42 } } } ) ) );
3131
32+ TEST_ASSERT ( patch ( a, value::array ( { { { " op" , " remove" }, { " path" , " /a" } } } ) ) == value ( empty_object ) ); // TODO: allow comparison against empty_object directly
33+ TEST_ASSERT ( patch ( a, value::array ( { { { " op" , " remove" }, { " path" , " /a/foo" } } } ) ) == value ( { { " a" , empty_object } } ) );
34+ TEST_THROWS ( patch ( a, value::array ( { { { " op" , " remove" }, { " path" , " /q" } } } ) ) );
35+
3236 TEST_ASSERT ( patch ( a, value::array ( { { { " op" , " add" }, { " path" , " /b" }, { " value" , 42 } } } ) ) == value ( { { " a" , { { " foo" , 1 } } }, { " b" , 42 } } ) );
3337 TEST_ASSERT ( patch ( a, value::array ( { { { " op" , " add" }, { " path" , " /a/b" }, { " value" , 42 } } } ) ) == value ( { { " a" , { { " foo" , 1 }, { " b" , 42 } } } } ) );
3438 TEST_THROWS ( patch ( q, value::array ( { { { " op" , " add" }, { " path" , " /a/b" }, { " value" , 42 } } } ) ) );
0 commit comments