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 <keyio.hpp>
10 :
11 : #include <tests.hpp>
12 :
13 : #include <memory>
14 : #include <stdexcept>
15 : #include <string>
16 : #include <vector>
17 :
18 20 : TEST (keyio, out)
19 : {
20 4 : Key k ("user/hello", KEY_META, "abc", "", KEY_META, "def", "", KEY_END);
21 4 : std::stringstream ss;
22 2 : ss << k;
23 8 : EXPECT_EQ (ss.str (), "user/hello");
24 2 : }
25 :
26 20 : TEST (keyio, in)
27 : {
28 4 : Key k ("user/hello", KEY_META, "abc", "", KEY_META, "def", "", KEY_END);
29 4 : Key k2;
30 10 : std::stringstream ss ("user/hello");
31 2 : ss >> k2;
32 4 : EXPECT_EQ (k, k2);
33 2 : }
34 :
35 :
36 20 : TEST (keyio, outmeta)
37 : {
38 4 : Key k ("user/hello", KEY_META, "abc", "", KEY_META, "def", "", KEY_END);
39 4 : std::stringstream ss;
40 2 : ss.setf (std::ios_base::showbase);
41 2 : ss << k;
42 8 : EXPECT_EQ (ss.str (), "user/hello abc def");
43 2 : }
44 :
45 20 : TEST (keyio, inmeta)
46 : {
47 4 : Key k ("user/hello", KEY_META, "abc", "", KEY_META, "def", "", KEY_END);
48 4 : Key k2;
49 10 : std::stringstream ss ("user/hello abc def");
50 2 : ss.setf (std::ios_base::showbase);
51 2 : ss >> k2;
52 4 : EXPECT_EQ (k, k2);
53 8 : }
|