| 59 | } |
| 60 | |
| 61 | static void pointer_plain_name(json_uri start, |
| 62 | const std::string &full, |
| 63 | const std::string &full_path, |
| 64 | const std::string &no_path) |
| 65 | { |
| 66 | auto a = start.derive("#/json/path"); |
| 67 | EXPECT_EQ(a, full + " # /json/path"); |
| 68 | |
| 69 | a = start.derive("#/json/special_%22"); |
| 70 | EXPECT_EQ(a, full + " # /json/special_\""); |
| 71 | |
| 72 | a = a.derive("#foo"); |
| 73 | EXPECT_EQ(a, full + " # foo"); |
| 74 | |
| 75 | a = a.derive("#foo/looks_like_json/poiner/but/isnt"); |
| 76 | EXPECT_EQ(a, full + " # foo/looks_like_json/poiner/but/isnt"); |
| 77 | EXPECT_EQ(a.identifier(), "foo/looks_like_json/poiner/but/isnt"); |
| 78 | EXPECT_EQ(a.pointer().to_string(), ""); |
| 79 | |
| 80 | a = a.derive("#/looks_like_json/poiner/and/it/is"); |
| 81 | EXPECT_EQ(a, full + " # /looks_like_json/poiner/and/it/is"); |
| 82 | EXPECT_EQ(a.pointer().to_string(), "/looks_like_json/poiner/and/it/is"); |
| 83 | EXPECT_EQ(a.identifier(), ""); |
| 84 | } |
| 85 | |
| 86 | int main(void) |
| 87 | { |