Line data Source code
1 : /**
2 : * @file
3 : *
4 : * @brief
5 : *
6 : * @copyright BSD License (see LICENSE.md or https://www.libelektra.org)
7 : */
8 :
9 : #include "kdbconfig.h"
10 :
11 : #include <kdbvalue.hpp>
12 :
13 : #include <gtest/gtest.h>
14 :
15 : const uint32_t i_value = 55;
16 : const char * s_value = "55";
17 :
18 20 : TEST (test_contextual_nocontext, integer)
19 : {
20 : using namespace kdb;
21 4 : KeySet ks;
22 : NoContext c;
23 2 : const char * name = "/%language%/%country%/%dialect%/test";
24 18 : ASSERT_TRUE (!ks.lookup (name));
25 6 : Value<int, ContextPolicyIs<NoContext>> i (ks, c, Key (name, KEY_CASCADING_NAME, KEY_META, "default", s_value, KEY_END));
26 4 : ASSERT_EQ (i, i_value);
27 16 : ASSERT_TRUE (ks.lookup (name));
28 2 : i = 5;
29 6 : ASSERT_EQ (i, 5);
30 8 : ASSERT_EQ (i.getSpec ().getName (), name);
31 2 : i.syncKeySet ();
32 18 : ASSERT_EQ (ks.lookup (name).getString (), "5");
33 2 : i = 10;
34 6 : ASSERT_EQ (i, 10);
35 18 : ASSERT_EQ (ks.lookup (name).getString (), "10");
36 6 : }
|