OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ash/display/json_converter.h" | 5 #include "ui/display/manager/json_converter.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
11 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
12 #include "ui/display/display_layout.h" | 12 #include "ui/display/display_layout.h" |
13 | 13 |
14 namespace ash { | 14 namespace display { |
15 | 15 |
16 TEST(JsonConverterTest, JsonFromToDisplayLayout) { | 16 TEST(JsonConverterTest, JsonFromToDisplayLayout) { |
17 display::DisplayLayout layout; | 17 DisplayLayout layout; |
18 layout.primary_id = 1; | 18 layout.primary_id = 1; |
19 layout.mirrored = true; | 19 layout.mirrored = true; |
20 layout.default_unified = false; | 20 layout.default_unified = false; |
21 layout.placement_list.push_back(display::DisplayPlacement()); | 21 layout.placement_list.push_back(DisplayPlacement()); |
22 layout.placement_list.push_back(display::DisplayPlacement()); | 22 layout.placement_list.push_back(DisplayPlacement()); |
23 layout.placement_list[0].display_id = 2; | 23 layout.placement_list[0].display_id = 2; |
24 layout.placement_list[0].parent_display_id = 1; | 24 layout.placement_list[0].parent_display_id = 1; |
25 layout.placement_list[0].position = display::DisplayPlacement::BOTTOM; | 25 layout.placement_list[0].position = DisplayPlacement::BOTTOM; |
26 | 26 |
27 layout.placement_list[1].display_id = 3; | 27 layout.placement_list[1].display_id = 3; |
28 layout.placement_list[1].parent_display_id = 2; | 28 layout.placement_list[1].parent_display_id = 2; |
29 layout.placement_list[1].position = display::DisplayPlacement::LEFT; | 29 layout.placement_list[1].position = DisplayPlacement::LEFT; |
30 layout.placement_list[1].offset = 30; | 30 layout.placement_list[1].offset = 30; |
31 | 31 |
32 base::DictionaryValue value; | 32 base::DictionaryValue value; |
33 DisplayLayoutToJson(layout, &value); | 33 DisplayLayoutToJson(layout, &value); |
34 | 34 |
35 const char data[] = | 35 const char data[] = |
36 "{\n" | 36 "{\n" |
37 " \"primary-id\": \"1\",\n" | 37 " \"primary-id\": \"1\",\n" |
38 " \"mirrored\": true,\n" | 38 " \"mirrored\": true,\n" |
39 " \"default_unified\": false,\n" | 39 " \"default_unified\": false,\n" |
(...skipping 10 matching lines...) Expand all Loading... |
50 " }]\n" | 50 " }]\n" |
51 "}"; | 51 "}"; |
52 int error_code = 0, error_line, error_column; | 52 int error_code = 0, error_line, error_column; |
53 std::string error_msg; | 53 std::string error_msg; |
54 std::unique_ptr<base::Value> read_value(base::JSONReader::ReadAndReturnError( | 54 std::unique_ptr<base::Value> read_value(base::JSONReader::ReadAndReturnError( |
55 data, 0, &error_code, &error_msg, &error_line, &error_column)); | 55 data, 0, &error_code, &error_msg, &error_line, &error_column)); |
56 ASSERT_EQ(0, error_code) << error_msg << " at " << error_line << ":" | 56 ASSERT_EQ(0, error_code) << error_msg << " at " << error_line << ":" |
57 << error_column; | 57 << error_column; |
58 EXPECT_TRUE(value.Equals(read_value.get())); | 58 EXPECT_TRUE(value.Equals(read_value.get())); |
59 | 59 |
60 display::DisplayLayout read_layout; | 60 DisplayLayout read_layout; |
61 EXPECT_TRUE(JsonToDisplayLayout(*read_value, &read_layout)); | 61 EXPECT_TRUE(JsonToDisplayLayout(*read_value, &read_layout)); |
62 EXPECT_EQ(read_layout.mirrored, layout.mirrored); | 62 EXPECT_EQ(read_layout.mirrored, layout.mirrored); |
63 EXPECT_EQ(read_layout.primary_id, layout.primary_id); | 63 EXPECT_EQ(read_layout.primary_id, layout.primary_id); |
64 EXPECT_EQ(read_layout.default_unified, layout.default_unified); | 64 EXPECT_EQ(read_layout.default_unified, layout.default_unified); |
65 EXPECT_TRUE(read_layout.HasSamePlacementList(layout)); | 65 EXPECT_TRUE(read_layout.HasSamePlacementList(layout)); |
66 } | 66 } |
67 | 67 |
68 TEST(JsonConverterTest, OldJsonToDisplayLayout) { | 68 TEST(JsonConverterTest, OldJsonToDisplayLayout) { |
69 const char data[] = | 69 const char data[] = |
70 "{\n" | 70 "{\n" |
71 " \"primary-id\": \"1\",\n" | 71 " \"primary-id\": \"1\",\n" |
72 " \"mirrored\": true,\n" | 72 " \"mirrored\": true,\n" |
73 " \"default_unified\": false,\n" | 73 " \"default_unified\": false,\n" |
74 " \"position\": \"bottom\",\n" | 74 " \"position\": \"bottom\",\n" |
75 " \"offset\": 20\n" | 75 " \"offset\": 20\n" |
76 "}"; | 76 "}"; |
77 int error_code = 0, error_line, error_column; | 77 int error_code = 0, error_line, error_column; |
78 std::string error_msg; | 78 std::string error_msg; |
79 std::unique_ptr<base::Value> read_value(base::JSONReader::ReadAndReturnError( | 79 std::unique_ptr<base::Value> read_value(base::JSONReader::ReadAndReturnError( |
80 data, 0, &error_code, &error_msg, &error_line, &error_column)); | 80 data, 0, &error_code, &error_msg, &error_line, &error_column)); |
81 ASSERT_EQ(0, error_code) << error_msg << " at " << error_line << ":" | 81 ASSERT_EQ(0, error_code) << error_msg << " at " << error_line << ":" |
82 << error_column; | 82 << error_column; |
83 | 83 |
84 display::DisplayLayout read_layout; | 84 DisplayLayout read_layout; |
85 EXPECT_TRUE(JsonToDisplayLayout(*read_value, &read_layout)); | 85 EXPECT_TRUE(JsonToDisplayLayout(*read_value, &read_layout)); |
86 EXPECT_EQ(true, read_layout.mirrored); | 86 EXPECT_EQ(true, read_layout.mirrored); |
87 EXPECT_EQ(1, read_layout.primary_id); | 87 EXPECT_EQ(1, read_layout.primary_id); |
88 EXPECT_FALSE(read_layout.default_unified); | 88 EXPECT_FALSE(read_layout.default_unified); |
89 ASSERT_EQ(1u, read_layout.placement_list.size()); | 89 ASSERT_EQ(1u, read_layout.placement_list.size()); |
90 EXPECT_EQ(display::DisplayPlacement::BOTTOM, | 90 EXPECT_EQ(DisplayPlacement::BOTTOM, read_layout.placement_list[0].position); |
91 read_layout.placement_list[0].position); | |
92 EXPECT_EQ(20, read_layout.placement_list[0].offset); | 91 EXPECT_EQ(20, read_layout.placement_list[0].offset); |
93 } | 92 } |
94 | 93 |
95 } // namespace ash | 94 } // namespace display |
OLD | NEW |