Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(284)

Side by Side Diff: ash/display/json_converter_unittest.cc

Issue 1808253004: Refactor JSONValueConverter Out of DisplayLayout (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Clean up some Includes Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ash/display/json_converter.cc ('k') | chrome/browser/chromeos/display/display_preferences.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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"
6
5 #include "ash/display/display_layout.h" 7 #include "ash/display/display_layout.h"
6
7 #include "base/json/json_reader.h" 8 #include "base/json/json_reader.h"
8 #include "base/values.h" 9 #include "base/values.h"
9 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
10 11
11 namespace ash { 12 namespace ash {
12 13
13 typedef testing::Test DisplayLayoutTest; 14 TEST(JsonConverterTest, JsonFromToDisplayLayout) {
14
15 TEST_F(DisplayLayoutTest, ConvertFromToValue) {
16 DisplayLayout layout; 15 DisplayLayout layout;
17 layout.primary_id = 1; 16 layout.primary_id = 1;
18 layout.mirrored = true; 17 layout.mirrored = true;
19 layout.default_unified = false; 18 layout.default_unified = false;
20 layout.placement_list.push_back(new DisplayPlacement); 19 layout.placement_list.push_back(new DisplayPlacement);
21 layout.placement_list.push_back(new DisplayPlacement); 20 layout.placement_list.push_back(new DisplayPlacement);
22 layout.placement_list[0]->display_id = 2; 21 layout.placement_list[0]->display_id = 2;
23 layout.placement_list[0]->parent_display_id = 1; 22 layout.placement_list[0]->parent_display_id = 1;
24 layout.placement_list[0]->position = DisplayPlacement::BOTTOM; 23 layout.placement_list[0]->position = DisplayPlacement::BOTTOM;
25 24
26 layout.placement_list[1]->display_id = 3; 25 layout.placement_list[1]->display_id = 3;
27 layout.placement_list[1]->parent_display_id = 2; 26 layout.placement_list[1]->parent_display_id = 2;
28 layout.placement_list[1]->position = DisplayPlacement::LEFT; 27 layout.placement_list[1]->position = DisplayPlacement::LEFT;
29 layout.placement_list[1]->offset = 30; 28 layout.placement_list[1]->offset = 30;
30 29
31 base::DictionaryValue value; 30 base::DictionaryValue value;
32 DisplayLayout::ConvertToValue(layout, &value); 31 DisplayLayoutToJson(layout, &value);
33 32
34 const char data[] = 33 const char data[] =
35 "{\n" 34 "{\n"
36 " \"primary-id\": \"1\",\n" 35 " \"primary-id\": \"1\",\n"
37 " \"mirrored\": true,\n" 36 " \"mirrored\": true,\n"
38 " \"default_unified\": false,\n" 37 " \"default_unified\": false,\n"
39 " \"display_placement\": [{\n" 38 " \"display_placement\": [{\n"
40 " \"display_id\": \"2\",\n" 39 " \"display_id\": \"2\",\n"
41 " \"parent_display_id\": \"1\",\n" 40 " \"parent_display_id\": \"1\",\n"
42 " \"position\": \"bottom\",\n" 41 " \"position\": \"bottom\",\n"
43 " \"offset\": 0\n" 42 " \"offset\": 0\n"
44 " },{\n" 43 " },{\n"
45 " \"display_id\": \"3\",\n" 44 " \"display_id\": \"3\",\n"
46 " \"parent_display_id\": \"2\",\n" 45 " \"parent_display_id\": \"2\",\n"
47 " \"position\": \"left\",\n" 46 " \"position\": \"left\",\n"
48 " \"offset\": 30\n" 47 " \"offset\": 30\n"
49 " }]\n" 48 " }]\n"
50 "}"; 49 "}";
51 int error_code = 0, error_line, error_column; 50 int error_code = 0, error_line, error_column;
52 std::string error_msg; 51 std::string error_msg;
53 scoped_ptr<base::Value> read_value(base::JSONReader::ReadAndReturnError( 52 scoped_ptr<base::Value> read_value(base::JSONReader::ReadAndReturnError(
54 data, 0, &error_code, &error_msg, &error_line, &error_column)); 53 data, 0, &error_code, &error_msg, &error_line, &error_column));
55 ASSERT_EQ(0, error_code) << error_msg << " at " << error_line << ":" 54 ASSERT_EQ(0, error_code) << error_msg << " at " << error_line << ":"
56 << error_column; 55 << error_column;
57 EXPECT_TRUE(value.Equals(read_value.get())); 56 EXPECT_TRUE(value.Equals(read_value.get()));
58 57
59 DisplayLayout read_layout; 58 DisplayLayout read_layout;
60 EXPECT_TRUE(DisplayLayout::ConvertFromValue(*read_value, &read_layout)); 59 EXPECT_TRUE(JsonToDisplayLayout(*read_value, &read_layout));
61 EXPECT_EQ(read_layout.mirrored, layout.mirrored); 60 EXPECT_EQ(read_layout.mirrored, layout.mirrored);
62 EXPECT_EQ(read_layout.primary_id, layout.primary_id); 61 EXPECT_EQ(read_layout.primary_id, layout.primary_id);
63 EXPECT_EQ(read_layout.default_unified, layout.default_unified); 62 EXPECT_EQ(read_layout.default_unified, layout.default_unified);
64 EXPECT_TRUE(read_layout.HasSamePlacementList(layout)); 63 EXPECT_TRUE(read_layout.HasSamePlacementList(layout));
65 } 64 }
66 65
67 TEST_F(DisplayLayoutTest, ConvertFromOldJSON) { 66 TEST(JsonConverterTest, OldJsonToDisplayLayout) {
68 const char data[] = 67 const char data[] =
69 "{\n" 68 "{\n"
70 " \"primary-id\": \"1\",\n" 69 " \"primary-id\": \"1\",\n"
71 " \"mirrored\": true,\n" 70 " \"mirrored\": true,\n"
72 " \"default_unified\": false,\n" 71 " \"default_unified\": false,\n"
73 " \"position\": \"bottom\",\n" 72 " \"position\": \"bottom\",\n"
74 " \"offset\": 20\n" 73 " \"offset\": 20\n"
75 "}"; 74 "}";
76 int error_code = 0, error_line, error_column; 75 int error_code = 0, error_line, error_column;
77 std::string error_msg; 76 std::string error_msg;
78 scoped_ptr<base::Value> read_value(base::JSONReader::ReadAndReturnError( 77 scoped_ptr<base::Value> read_value(base::JSONReader::ReadAndReturnError(
79 data, 0, &error_code, &error_msg, &error_line, &error_column)); 78 data, 0, &error_code, &error_msg, &error_line, &error_column));
80 ASSERT_EQ(0, error_code) << error_msg << " at " << error_line << ":" 79 ASSERT_EQ(0, error_code) << error_msg << " at " << error_line << ":"
81 << error_column; 80 << error_column;
82 81
83 DisplayLayout read_layout; 82 DisplayLayout read_layout;
84 EXPECT_TRUE(DisplayLayout::ConvertFromValue(*read_value, &read_layout)); 83 EXPECT_TRUE(JsonToDisplayLayout(*read_value, &read_layout));
85 EXPECT_EQ(true, read_layout.mirrored); 84 EXPECT_EQ(true, read_layout.mirrored);
86 EXPECT_EQ(1, read_layout.primary_id); 85 EXPECT_EQ(1, read_layout.primary_id);
87 EXPECT_EQ(false, read_layout.default_unified); 86 EXPECT_EQ(false, read_layout.default_unified);
88 ASSERT_EQ(1u, read_layout.placement_list.size()); 87 ASSERT_EQ(1u, read_layout.placement_list.size());
89 EXPECT_EQ(DisplayPlacement::BOTTOM, read_layout.placement_list[0]->position); 88 EXPECT_EQ(DisplayPlacement::BOTTOM, read_layout.placement_list[0]->position);
90 EXPECT_EQ(20, read_layout.placement_list[0]->offset); 89 EXPECT_EQ(20, read_layout.placement_list[0]->offset);
91 } 90 }
92 91
93 } // namespace ash 92 } // namespace ash
OLDNEW
« no previous file with comments | « ash/display/json_converter.cc ('k') | chrome/browser/chromeos/display/display_preferences.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698