~unity-team/unity-scopes-api/vivid+overlay

« back to all changes in this revision

Viewing changes to test/gtest/scopes/internal/smartscopes/SmartScopesClient/SmartScopesClient_test.cpp

  • Committer: Bileto Bot
  • Date: 2016-06-17 07:26:56 UTC
  • mfrom: (261.1.63 staging)
  • Revision ID: ci-train-bot@canonical.com-20160617072656-77rdmip6ibxac47s
* Got rid of category header background, as per design (Bug #1446216).
* Re-enabled license/copyright test for xenial+.
* Removed libjson-cpp and replaced with json-glib based implementation (Bug #1360247).
* Fixed Yakkety build.
* No-change rebuild.
* No-change rebuild of latest xenial trunk against current archive.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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);
 
133
    {
 
134
        JsonCppNode node(*scopes[2].settings);
 
135
        Variant v = node.to_variant();
 
136
 
 
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());
 
143
 
 
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());
 
153
 
 
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());
 
160
 
 
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());
 
167
    }
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]);
393
421
 
394
422
    ASSERT_EQ(3u, widgets.size());
395
 
 
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]);
 
423
    {
 
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());
 
430
    }
 
431
    {
 
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());
 
438
    }
 
439
    {
 
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());
 
446
    }
399
447
}
400
448
 
401
449
TEST_F(SmartScopesClientTest, consecutive_searches)