130
130
EXPECT_EQ(nullptr, scopes[2].art);
131
131
EXPECT_FALSE(scopes[2].invisible);
132
132
EXPECT_EQ(nullptr, scopes[2].appearance);
133
EXPECT_EQ("[{\"displayName\":\"Location\",\"id\":\"location\",\"parameters\":{\"defaultValue\":"
134
"\"London\"},\"type\":\"string\"},{\"displayName\":\"Temperature Units\",\"id\":"
135
"\"unitTemp\",\"parameters\":{\"defaultValue\":1,\"values\":[\"Celsius\",\"Fahrenheit"
136
"\"]},\"type\":\"list\"},{\"displayName\":\"Age\",\"id\":\"age\",\"parameters\":{"
137
"\"defaultValue\":23},\"type\":\"number\"},{\"displayName\":\"Enabled\",\"id\":"
138
"\"enabled\",\"parameters\":{\"defaultValue\":true},\"type\":\"boolean\"}]\n",
139
*scopes[2].settings);
134
JsonCppNode node(*scopes[2].settings);
135
Variant v = node.to_variant();
137
VariantMap vm = v.get_array()[0].get_dict();
138
EXPECT_EQ("Location", vm["displayName"].get_string());
139
EXPECT_EQ("location", vm["id"].get_string());
140
EXPECT_EQ("string", vm["type"].get_string());
141
VariantMap params = vm["parameters"].get_dict();
142
EXPECT_EQ("London", params["defaultValue"].get_string());
144
vm = v.get_array()[1].get_dict();
145
EXPECT_EQ("Temperature Units", vm["displayName"].get_string());
146
EXPECT_EQ("unitTemp", vm["id"].get_string());
147
EXPECT_EQ("list", vm["type"].get_string());
148
params = vm["parameters"].get_dict();
149
EXPECT_EQ(1, params["defaultValue"].get_int());
150
VariantArray choices = params["values"].get_array();
151
EXPECT_EQ("Celsius", choices[0].get_string());
152
EXPECT_EQ("Fahrenheit", choices[1].get_string());
154
vm = v.get_array()[2].get_dict();
155
EXPECT_EQ("Age", vm["displayName"].get_string());
156
EXPECT_EQ("age", vm["id"].get_string());
157
EXPECT_EQ("number", vm["type"].get_string());
158
params = vm["parameters"].get_dict();
159
EXPECT_EQ(23, params["defaultValue"].get_int());
161
vm = v.get_array()[3].get_dict();
162
EXPECT_EQ("Enabled", vm["displayName"].get_string());
163
EXPECT_EQ("enabled", vm["id"].get_string());
164
EXPECT_EQ("boolean", vm["type"].get_string());
165
params = vm["parameters"].get_dict();
166
EXPECT_TRUE(params["defaultValue"].get_bool());
140
168
ASSERT_EQ(4, scopes[2].keywords.size());
141
169
EXPECT_NE(scopes[2].keywords.end(), scopes[2].keywords.find("music"));
142
170
EXPECT_NE(scopes[2].keywords.end(), scopes[2].keywords.find("video"));
392
420
EXPECT_EQ("widget_id_C", columns[2][2][0]);
394
422
ASSERT_EQ(3u, widgets.size());
396
EXPECT_EQ("{\"id\":\"widget_id_A\",\"text\":\"First widget.\",\"title\":\"Widget A\",\"type\":\"text\"}\n", widgets[0]);
397
EXPECT_EQ("{\"id\":\"widget_id_B\",\"text\":\"Second widget.\",\"title\":\"Widget B\",\"type\":\"text\"}\n", widgets[1]);
398
EXPECT_EQ("{\"id\":\"widget_id_C\",\"text\":\"Third widget.\",\"title\":\"Widget C\",\"type\":\"text\"}\n", widgets[2]);
424
auto json = widgets[0];
425
JsonCppNode node(json);
426
EXPECT_EQ("widget_id_A", node.get_node("id")->as_string());
427
EXPECT_EQ("First widget.", node.get_node("text")->as_string());
428
EXPECT_EQ("Widget A", node.get_node("title")->as_string());
429
EXPECT_EQ("text", node.get_node("type")->as_string());
432
auto json = widgets[1];
433
JsonCppNode node(json);
434
EXPECT_EQ("widget_id_B", node.get_node("id")->as_string());
435
EXPECT_EQ("Second widget.", node.get_node("text")->as_string());
436
EXPECT_EQ("Widget B", node.get_node("title")->as_string());
437
EXPECT_EQ("text", node.get_node("type")->as_string());
440
auto json = widgets[2];
441
JsonCppNode node(json);
442
EXPECT_EQ("widget_id_C", node.get_node("id")->as_string());
443
EXPECT_EQ("Third widget.", node.get_node("text")->as_string());
444
EXPECT_EQ("Widget C", node.get_node("title")->as_string());
445
EXPECT_EQ("text", node.get_node("type")->as_string());
401
449
TEST_F(SmartScopesClientTest, consecutive_searches)