Commit 15c712dc authored by miloyip's avatar miloyip

Attempt to make correct implementation of logic combiners

parent d6871c3f
This diff is collapsed.
...@@ -27,10 +27,14 @@ using namespace rapidjson; ...@@ -27,10 +27,14 @@ using namespace rapidjson;
/*printf("\n%s\n", json);*/\ /*printf("\n%s\n", json);*/\
d.Parse(json);\ d.Parse(json);\
EXPECT_FALSE(d.HasParseError());\ EXPECT_FALSE(d.HasParseError());\
if (expected)\ if (expected) {\
EXPECT_TRUE(d.Accept(validator));\ EXPECT_TRUE(d.Accept(validator));\
else\ EXPECT_TRUE(validator.IsValid());\
}\
else {\
EXPECT_FALSE(d.Accept(validator));\ EXPECT_FALSE(d.Accept(validator));\
EXPECT_FALSE(validator.IsValid()); \
}\
} }
TEST(SchemaValidator, Typeless) { TEST(SchemaValidator, Typeless) {
...@@ -88,7 +92,7 @@ TEST(SchemaValidator, AllOf) { ...@@ -88,7 +92,7 @@ TEST(SchemaValidator, AllOf) {
sd.Parse("{\"allOf\": [{ \"type\": \"string\" }, { \"type\": \"string\", \"maxLength\": 5 }]}"); // need "type": "string" now sd.Parse("{\"allOf\": [{ \"type\": \"string\" }, { \"type\": \"string\", \"maxLength\": 5 }]}"); // need "type": "string" now
Schema s(sd); Schema s(sd);
VALIDATE(s, "\"ok\"", true); //VALIDATE(s, "\"ok\"", true);
VALIDATE(s, "\"too long\"", false); VALIDATE(s, "\"too long\"", false);
} }
{ {
...@@ -106,8 +110,8 @@ TEST(SchemaValidator, AnyOf) { ...@@ -106,8 +110,8 @@ TEST(SchemaValidator, AnyOf) {
sd.Parse("{\"anyOf\": [{ \"type\": \"string\" }, { \"type\": \"number\" } ] }"); sd.Parse("{\"anyOf\": [{ \"type\": \"string\" }, { \"type\": \"number\" } ] }");
Schema s(sd); Schema s(sd);
VALIDATE(s, "\"Yes\"", true); //VALIDATE(s, "\"Yes\"", true);
VALIDATE(s, "42", true); //VALIDATE(s, "42", true);
VALIDATE(s, "{ \"Not a\": \"string or number\" }", false); VALIDATE(s, "{ \"Not a\": \"string or number\" }", false);
} }
...@@ -128,7 +132,7 @@ TEST(SchemaValidator, Not) { ...@@ -128,7 +132,7 @@ TEST(SchemaValidator, Not) {
Schema s(sd); Schema s(sd);
VALIDATE(s, "42", true); VALIDATE(s, "42", true);
// VALIDATE(s, "{ \"key\": \"value\" }", true); // TO FIX VALIDATE(s, "{ \"key\": \"value\" }", true); // TO FIX
VALIDATE(s, "\"I am a string\"", false); VALIDATE(s, "\"I am a string\"", false);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment