| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/chromeos/cros/network_property_ui_data.h" | 5 #include "chrome/browser/chromeos/cros/network_property_ui_data.h" |
| 6 | 6 |
| 7 #include "base/values.h" | 7 #include "base/values.h" |
| 8 #include "chromeos/network/network_ui_data.h" | 8 #include "chromeos/network/onc/onc_constants.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 | 10 |
| 11 namespace chromeos { | 11 namespace chromeos { |
| 12 | 12 |
| 13 class NetworkUIDataTest : public testing::Test { | 13 class NetworkUIDataTest : public testing::Test { |
| 14 protected: | 14 protected: |
| 15 NetworkUIDataTest() {} | 15 NetworkUIDataTest() {} |
| 16 virtual ~NetworkUIDataTest() {} | 16 virtual ~NetworkUIDataTest() {} |
| 17 | 17 |
| 18 void CheckProperty(const NetworkPropertyUIData& property, | 18 void CheckProperty(const NetworkPropertyUIData& property, |
| (...skipping 10 matching lines...) Expand all Loading... |
| 29 EXPECT_EQ(expected_managed, property.managed()); | 29 EXPECT_EQ(expected_managed, property.managed()); |
| 30 EXPECT_EQ(expected_recommended, property.recommended()); | 30 EXPECT_EQ(expected_recommended, property.recommended()); |
| 31 EXPECT_EQ(expected_editable, property.editable()); | 31 EXPECT_EQ(expected_editable, property.editable()); |
| 32 } | 32 } |
| 33 }; | 33 }; |
| 34 | 34 |
| 35 TEST_F(NetworkUIDataTest, PropertyInit) { | 35 TEST_F(NetworkUIDataTest, PropertyInit) { |
| 36 NetworkPropertyUIData empty_prop; | 36 NetworkPropertyUIData empty_prop; |
| 37 CheckProperty(empty_prop, NULL, false, false, true); | 37 CheckProperty(empty_prop, NULL, false, false, true); |
| 38 | 38 |
| 39 NetworkUIData empty_data; | 39 NetworkPropertyUIData null_prop(onc::ONC_SOURCE_NONE); |
| 40 NetworkPropertyUIData null_prop(empty_data); | |
| 41 CheckProperty(null_prop, NULL, false, false, true); | 40 CheckProperty(null_prop, NULL, false, false, true); |
| 42 | |
| 43 base::DictionaryValue empty_dict; | |
| 44 NetworkUIData empty_data_2(empty_dict); | |
| 45 NetworkPropertyUIData empty_dict_prop(empty_data_2); | |
| 46 CheckProperty(empty_dict_prop, NULL, false, false, true); | |
| 47 | |
| 48 } | 41 } |
| 49 | 42 |
| 50 TEST_F(NetworkUIDataTest, ParseOncProperty) { | 43 TEST_F(NetworkUIDataTest, ParseOncProperty) { |
| 51 base::DictionaryValue ui_data_dict; | |
| 52 NetworkUIData ui_data; | |
| 53 | |
| 54 base::DictionaryValue onc; | 44 base::DictionaryValue onc; |
| 55 | 45 |
| 56 base::StringValue val_a("a"); | 46 base::StringValue val_a("a"); |
| 57 base::StringValue val_b("b"); | 47 base::StringValue val_b("b"); |
| 58 base::StringValue val_a_a("a_a"); | 48 base::StringValue val_a_a("a_a"); |
| 59 base::StringValue val_a_b("a_b"); | 49 base::StringValue val_a_b("a_b"); |
| 60 | 50 |
| 61 onc.Set("a", val_a.DeepCopy()); | 51 onc.Set("a", val_a.DeepCopy()); |
| 62 onc.Set("b", val_b.DeepCopy()); | 52 onc.Set("b", val_b.DeepCopy()); |
| 63 onc.Set("a.a", val_a_a.DeepCopy()); | 53 onc.Set("a.a", val_a_a.DeepCopy()); |
| 64 onc.Set("a.b", val_a_b.DeepCopy()); | 54 onc.Set("a.b", val_a_b.DeepCopy()); |
| 65 base::ListValue recommended; | 55 base::ListValue recommended; |
| 66 recommended.Append(new base::StringValue("b")); | 56 recommended.AppendString("b"); |
| 67 recommended.Append(new base::StringValue("c")); | 57 recommended.AppendString("c"); |
| 68 recommended.Append(new base::StringValue("a.a")); | 58 recommended.AppendString("a.a"); |
| 69 onc.Set("Recommended", recommended.DeepCopy()); | 59 onc.Set("Recommended", recommended.DeepCopy()); |
| 70 onc.Set("a.Recommended", recommended.DeepCopy()); | 60 onc.Set("a.Recommended", recommended.DeepCopy()); |
| 71 | 61 |
| 72 NetworkPropertyUIData prop; | 62 NetworkPropertyUIData prop; |
| 73 | 63 |
| 74 ui_data.set_onc_source(onc::ONC_SOURCE_USER_IMPORT); | 64 prop.ParseOncProperty(onc::ONC_SOURCE_NONE, &onc, "a"); |
| 75 ui_data.FillDictionary(&ui_data_dict); | |
| 76 | |
| 77 NetworkUIData empty_data; | |
| 78 prop.ParseOncProperty(empty_data, &onc, "a"); | |
| 79 CheckProperty(prop, NULL, false, false, true); | 65 CheckProperty(prop, NULL, false, false, true); |
| 80 | 66 |
| 81 prop.ParseOncProperty(ui_data, &onc, "a"); | 67 onc::ONCSource source = onc::ONC_SOURCE_USER_IMPORT; |
| 68 |
| 69 prop.ParseOncProperty(source, &onc, "a"); |
| 82 CheckProperty(prop, NULL, false, false, true); | 70 CheckProperty(prop, NULL, false, false, true); |
| 83 | 71 |
| 84 prop.ParseOncProperty(ui_data, &onc, "a.b"); | 72 prop.ParseOncProperty(source, &onc, "a.b"); |
| 85 CheckProperty(prop, NULL, false, false, true); | 73 CheckProperty(prop, NULL, false, false, true); |
| 86 | 74 |
| 87 prop.ParseOncProperty(ui_data, &onc, "c"); | 75 prop.ParseOncProperty(source, &onc, "c"); |
| 88 CheckProperty(prop, NULL, false, false, true); | 76 CheckProperty(prop, NULL, false, false, true); |
| 89 | 77 |
| 90 ui_data.set_onc_source(onc::ONC_SOURCE_USER_POLICY); | 78 source = onc::ONC_SOURCE_USER_POLICY; |
| 91 ui_data.FillDictionary(&ui_data_dict); | |
| 92 | 79 |
| 93 prop.ParseOncProperty(ui_data, &onc, "a"); | 80 prop.ParseOncProperty(source, &onc, "a"); |
| 94 CheckProperty(prop, NULL, true, false, false); | 81 CheckProperty(prop, NULL, true, false, false); |
| 95 | 82 |
| 96 prop.ParseOncProperty(ui_data, &onc, "b"); | 83 prop.ParseOncProperty(source, &onc, "b"); |
| 97 CheckProperty(prop, &val_b, false, true, true); | 84 CheckProperty(prop, &val_b, false, true, true); |
| 98 | 85 |
| 99 prop.ParseOncProperty(ui_data, &onc, "c"); | 86 prop.ParseOncProperty(source, &onc, "c"); |
| 100 CheckProperty(prop, NULL, false, false, true); | 87 CheckProperty(prop, NULL, false, false, true); |
| 101 | 88 |
| 102 prop.ParseOncProperty(ui_data, &onc, "d"); | 89 prop.ParseOncProperty(source, &onc, "d"); |
| 103 CheckProperty(prop, NULL, true, false, false); | 90 CheckProperty(prop, NULL, true, false, false); |
| 104 | 91 |
| 105 prop.ParseOncProperty(ui_data, &onc, "a.a"); | 92 prop.ParseOncProperty(source, &onc, "a.a"); |
| 106 CheckProperty(prop, NULL, true, false, false); | 93 CheckProperty(prop, NULL, true, false, false); |
| 107 | 94 |
| 108 prop.ParseOncProperty(ui_data, &onc, "a.b"); | 95 prop.ParseOncProperty(source, &onc, "a.b"); |
| 109 CheckProperty(prop, &val_a_b, false, true, true); | 96 CheckProperty(prop, &val_a_b, false, true, true); |
| 110 | 97 |
| 111 prop.ParseOncProperty(ui_data, &onc, "a.c"); | 98 prop.ParseOncProperty(source, &onc, "a.c"); |
| 112 CheckProperty(prop, NULL, false, false, true); | 99 CheckProperty(prop, NULL, false, false, true); |
| 113 | 100 |
| 114 prop.ParseOncProperty(ui_data, &onc, "a.d"); | 101 prop.ParseOncProperty(source, &onc, "a.d"); |
| 115 CheckProperty(prop, NULL, true, false, false); | 102 CheckProperty(prop, NULL, true, false, false); |
| 116 | 103 |
| 117 prop.ParseOncProperty(ui_data, NULL, "a.e"); | 104 prop.ParseOncProperty(source, NULL, "a.e"); |
| 118 CheckProperty(prop, NULL, true, false, false); | 105 CheckProperty(prop, NULL, true, false, false); |
| 119 } | 106 } |
| 120 | 107 |
| 121 } // namespace chromeos | 108 } // namespace chromeos |
| OLD | NEW |