blob: 3a3fb72c4efb6c34751768b0064f7b08bd2d1063 [file] [log] [blame]
Václav Kubernát5395e712019-12-03 18:24:33 +01001/*
2 * Copyright (C) 2019 CESNET, https://photonics.cesnet.cz/
3 *
4 * Written by Václav Kubernát <kubervac@fit.cvut.cz>
5 *
6*/
7
Václav Kubernát26b56082020-02-03 18:28:56 +01008#include "trompeloeil_doctest.hpp"
Václav Kubernát5395e712019-12-03 18:24:33 +01009#include "ast_path.hpp"
10
11TEST_CASE("path utils")
12{
13 SECTION("pathToDataString")
14 {
15 dataPath_ path;
16 std::string expected;
17 SECTION("example-schema:twoKeyList[first='a'][second='b']")
18 {
19 SECTION("absolute")
20 {
21 path.m_scope = Scope::Absolute;
22 expected += "/";
23 }
24 SECTION("relative")
25 {
26 path.m_scope = Scope::Relative;
27 }
Václav Kubernát7707cae2020-01-16 12:04:53 +010028 path.m_nodes.push_back(dataNode_{module_{"example-schema"}, listElement_{"twoKeyList", {{"first", std::string{"a"}}, {"second", std::string{"b"}}}}});
Václav Kubernát5395e712019-12-03 18:24:33 +010029 expected += "example-schema:twoKeyList[first='a'][second='b']";
30 }
Václav Kubernátefcac932020-01-10 15:26:32 +010031 REQUIRE(pathToDataString(path, Prefixes::WhenNeeded) == expected);
Václav Kubernát5395e712019-12-03 18:24:33 +010032 }
33}