@@ -10,15 +10,15 @@ using kit::local_shared_ptr;
10
10
TEST_CASE (" Meta" ," [meta]" ) {
11
11
12
12
SECTION (" empty" ) {
13
- auto m = make_local_shared< Meta> ();
13
+ auto m = Meta::make ();
14
14
REQUIRE (m);
15
15
REQUIRE (!*m);
16
16
REQUIRE (m->empty ());
17
17
REQUIRE (m->size () == 0 );
18
18
}
19
19
20
20
SECTION (" set" ) {
21
- auto m = make_local_shared< Meta> ();
21
+ auto m = Meta::make ();
22
22
m->set <int >(" one" , 1 );
23
23
24
24
REQUIRE (*m);
@@ -41,16 +41,16 @@ TEST_CASE("Meta","[meta]") {
41
41
}
42
42
43
43
SECTION (" add" ) {
44
- auto m = make_local_shared< Meta> ();
44
+ auto m = Meta::make ();
45
45
46
- REQUIRE (m->add (make_local_shared< Meta> ()) == 0 );
47
- REQUIRE (m->add (make_local_shared< Meta> ()) == 1 );
46
+ REQUIRE (m->add (Meta::make ()) == 0 );
47
+ REQUIRE (m->add (Meta::make ()) == 1 );
48
48
REQUIRE (m->size () == 2 );
49
49
REQUIRE (m->key_count () == 0 );
50
50
}
51
51
52
52
SECTION (" ensure" ) {
53
- auto m = make_local_shared< Meta> ();
53
+ auto m = Meta::make ();
54
54
55
55
REQUIRE (m->ensure <int >(" a" , 1 ) == 1 );
56
56
REQUIRE (m->ensure <int >(" b" , 2 ) == 2 );
@@ -65,7 +65,7 @@ TEST_CASE("Meta","[meta]") {
65
65
SECTION (" remove" ) {
66
66
67
67
SECTION (" at index" ) {
68
- auto m = make_local_shared< Meta> ();
68
+ auto m = Meta::make ();
69
69
m->add (1 );
70
70
m->add (2 ); // index 1
71
71
m->add (3 );
@@ -85,7 +85,7 @@ TEST_CASE("Meta","[meta]") {
85
85
86
86
SECTION (" pop" ) {
87
87
SECTION (" front" ) {
88
- auto m = make_local_shared< Meta> ();
88
+ auto m = Meta::make ();
89
89
m->add <int >(1 );
90
90
m->add <int >(2 );
91
91
m->pop_front ();
@@ -96,7 +96,7 @@ TEST_CASE("Meta","[meta]") {
96
96
REQUIRE_THROWS_AS (m->pop_front (), std::out_of_range);
97
97
}
98
98
SECTION (" back" ) {
99
- auto m = make_local_shared< Meta> ();
99
+ auto m = Meta::make ();
100
100
m->add <int >(1 );
101
101
m->add <int >(2 );
102
102
m->pop_back ();
@@ -109,7 +109,7 @@ TEST_CASE("Meta","[meta]") {
109
109
}
110
110
111
111
SECTION (" by key" ) {
112
- auto m = make_local_shared< Meta> ();
112
+ auto m = Meta::make ();
113
113
m->set (" one" ,1 );
114
114
m->set (" two" , 2 );
115
115
m->set (" three" , 3 );
@@ -131,7 +131,7 @@ TEST_CASE("Meta","[meta]") {
131
131
132
132
SECTION (" types" ) {
133
133
{
134
- auto m = make_local_shared< Meta> ();
134
+ auto m = Meta::make ();
135
135
m->set (" nullptr" , nullptr );
136
136
m->set (" nullmeta" , local_shared_ptr<Meta>());
137
137
// REQUIRE(not m->at<nullptr_t>("nullptr"));
@@ -144,7 +144,7 @@ TEST_CASE("Meta","[meta]") {
144
144
// }
145
145
146
146
SECTION (" clear" ) {
147
- auto m = make_local_shared< Meta> ();
147
+ auto m = Meta::make ();
148
148
m->set <int >(" one" ,1 );
149
149
m->set <string>(" two" ," 2" );
150
150
@@ -156,10 +156,10 @@ TEST_CASE("Meta","[meta]") {
156
156
}
157
157
158
158
SECTION (" at" ) {
159
- auto m = make_local_shared< Meta> ();
159
+ auto m = Meta::make ();
160
160
m->set <int >(" one" , 1 );
161
161
m->set <string>(" two" , " 2" );
162
- m->add (make_local_shared< Meta> ());
162
+ m->add (Meta::make ());
163
163
164
164
REQUIRE (m->at <int >(" one" ) == 1 );
165
165
REQUIRE (m->at <int >(0 ) == 1 );
@@ -169,18 +169,18 @@ TEST_CASE("Meta","[meta]") {
169
169
}
170
170
171
171
SECTION (" parent" ) {
172
- auto m = make_local_shared< Meta> ();
172
+ auto m = Meta::make ();
173
173
REQUIRE (!m->parent ());
174
174
REQUIRE (m->root () == m);
175
- auto c1 = make_local_shared< Meta> ();
175
+ auto c1 = Meta::make ();
176
176
m->add (c1);
177
177
REQUIRE (c1->parent () == m);
178
178
}
179
179
180
180
SECTION (" iterate" ) {
181
181
SECTION (" map" ) {
182
182
string json = " {\" one\" :1,\" two\" :2,\" three\" : 3}" ;
183
- auto m = make_local_shared< Meta> (MetaFormat::JSON, json);
183
+ auto m = Meta::make (MetaFormat::JSON, json);
184
184
int i = 0 ;
185
185
m->each_c ([&](
186
186
local_shared_ptr<const Meta> parent,
@@ -218,14 +218,14 @@ TEST_CASE("Meta","[meta]") {
218
218
SECTION (" serialization" ) {
219
219
220
220
SECTION (" objects" ) {
221
- auto m = make_local_shared< Meta> (MetaFormat::JSON," {\" one\" :1}" );
221
+ auto m = Meta::make (MetaFormat::JSON," {\" one\" :1}" );
222
222
REQUIRE (!m->empty ());
223
223
REQUIRE (m->at <int >(" one" ) == 1 );
224
224
REQUIRE (!m->empty ());
225
225
m->clear ();
226
226
REQUIRE (m->empty ());
227
227
228
- m = make_local_shared< Meta> ();
228
+ m = Meta::make ();
229
229
m->deserialize (MetaFormat::JSON," {\" one\" :1}" );
230
230
REQUIRE (m->at <int >(" one" ) == 1 );
231
231
@@ -237,7 +237,7 @@ TEST_CASE("Meta","[meta]") {
237
237
REQUIRE (not m->empty ());
238
238
REQUIRE (m->at <int >(" one" ) == 1 );
239
239
240
- m->set (" test" , make_local_shared< Meta> ());
240
+ m->set (" test" , Meta::make ());
241
241
m->meta (" test" )->set (" two" , 2 );
242
242
data = m->serialize (MetaFormat::INI);
243
243
m->clear ();
@@ -256,7 +256,7 @@ TEST_CASE("Meta","[meta]") {
256
256
}
257
257
258
258
SECTION (" arrays" ) {
259
- auto m = make_local_shared< Meta> (MetaFormat::JSON," {\" numbers\" :[1,2,3]}" );
259
+ auto m = Meta::make (MetaFormat::JSON," {\" numbers\" :[1,2,3]}" );
260
260
auto a = m->at <local_shared_ptr<Meta>>(0 );
261
261
REQUIRE (a);
262
262
REQUIRE (a->size () == 3 );
@@ -265,15 +265,15 @@ TEST_CASE("Meta","[meta]") {
265
265
REQUIRE (a->at <int >(2 ) == 3 );
266
266
267
267
// strings
268
- m = make_local_shared< Meta> (MetaFormat::JSON," { \" a\" : [\" b\" ,\" c\" ] }" );
268
+ m = Meta::make (MetaFormat::JSON," { \" a\" : [\" b\" ,\" c\" ] }" );
269
269
a = m->at <local_shared_ptr<Meta>>(0 );
270
270
REQUIRE (a);
271
271
REQUIRE (a->size () == 2 );
272
272
REQUIRE (a->at <string>(0 ) == " b" );
273
273
REQUIRE (a->at <string>(1 ) == " c" );
274
274
275
275
// nested
276
- m = make_local_shared< Meta> (MetaFormat::JSON," {\" numbers\" :[[],[[]],[[],[]]]}" );
276
+ m = Meta::make (MetaFormat::JSON," {\" numbers\" :[[],[[]],[[],[]]]}" );
277
277
a = m->at <local_shared_ptr<Meta>>(0 );
278
278
REQUIRE (a);
279
279
REQUIRE (a->size () == 3 );
@@ -291,14 +291,14 @@ TEST_CASE("Meta","[meta]") {
291
291
292
292
{
293
293
// no deserialize flags
294
- auto m = make_local_shared< Meta> (MetaFormat::JSON," {\" one\" :1}" );
294
+ auto m = Meta::make (MetaFormat::JSON," {\" one\" :1}" );
295
295
m->deserialize (MetaFormat::JSON," {\" two\" :2}" );
296
296
REQUIRE (m->size () == 1 ); // no flags should clear prior data
297
297
}
298
298
299
299
{
300
300
// same as above, but with F_MERGE flag
301
- auto m = make_local_shared< Meta> (MetaFormat::JSON," {\" one\" :1}" );
301
+ auto m = Meta::make (MetaFormat::JSON," {\" one\" :1}" );
302
302
m->deserialize (MetaFormat::JSON," {\" two\" :2}" ,
303
303
Meta::F_MERGE // <-- new flag
304
304
);
@@ -312,7 +312,7 @@ TEST_CASE("Meta","[meta]") {
312
312
313
313
SECTION (" correct types" ) {
314
314
// make sure doubles with trailing .0 don't serialize as ints
315
- auto m = make_local_shared< Meta> (MetaFormat::JSON," {\" one\" :1.0}" );
315
+ auto m = Meta::make (MetaFormat::JSON," {\" one\" :1.0}" );
316
316
REQUIRE_THROWS_AS (m->at <int >(" one" ), boost::bad_any_cast);
317
317
REQUIRE (floatcmp (m->at <double >(" one" ), 1.0 ));
318
318
}
0 commit comments