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 <algorithm> | 5 #include <algorithm> |
6 #include <map> | 6 #include <map> |
7 #include <sstream> | 7 #include <sstream> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 const base::ListValue* indicators = NULL; | 375 const base::ListValue* indicators = NULL; |
376 ASSERT_TRUE(value_ptr.get()); | 376 ASSERT_TRUE(value_ptr.get()); |
377 ASSERT_TRUE(value_ptr->GetAsList(&indicators)); | 377 ASSERT_TRUE(value_ptr->GetAsList(&indicators)); |
378 // Verify that controlled setting indicators representing |value| are visible | 378 // Verify that controlled setting indicators representing |value| are visible |
379 // and have the correct state while those not representing |value| are | 379 // and have the correct state while those not representing |value| are |
380 // invisible. | 380 // invisible. |
381 if (!controlled_by.empty()) { | 381 if (!controlled_by.empty()) { |
382 EXPECT_GT(indicators->GetSize(), 0u) | 382 EXPECT_GT(indicators->GetSize(), 0u) |
383 << "Expected to find at least one controlled setting indicator."; | 383 << "Expected to find at least one controlled setting indicator."; |
384 } | 384 } |
| 385 bool have_visible_indicators = false; |
385 for (base::ListValue::const_iterator indicator = indicators->begin(); | 386 for (base::ListValue::const_iterator indicator = indicators->begin(); |
386 indicator != indicators->end(); ++indicator) { | 387 indicator != indicators->end(); ++indicator) { |
387 const base::DictionaryValue* properties = NULL; | 388 const base::DictionaryValue* properties = NULL; |
388 ASSERT_TRUE((*indicator)->GetAsDictionary(&properties)); | 389 ASSERT_TRUE((*indicator)->GetAsDictionary(&properties)); |
389 std::string indicator_value; | 390 std::string indicator_value; |
390 std::string indicator_controlled_by; | 391 std::string indicator_controlled_by; |
391 bool indicator_readonly; | 392 bool indicator_readonly; |
392 bool indicator_visible; | 393 bool indicator_visible; |
393 EXPECT_TRUE(properties->GetString("value", &indicator_value)); | 394 EXPECT_TRUE(properties->GetString("value", &indicator_value)); |
394 EXPECT_TRUE(properties->GetString("controlledBy", | 395 EXPECT_TRUE(properties->GetString("controlledBy", |
395 &indicator_controlled_by)); | 396 &indicator_controlled_by)); |
396 EXPECT_TRUE(properties->GetBoolean("readOnly", &indicator_readonly)); | 397 EXPECT_TRUE(properties->GetBoolean("readOnly", &indicator_readonly)); |
397 EXPECT_TRUE(properties->GetBoolean("visible", &indicator_visible)); | 398 EXPECT_TRUE(properties->GetBoolean("visible", &indicator_visible)); |
398 if (!controlled_by.empty() && (indicator_value == value)) { | 399 if (!controlled_by.empty() && (indicator_value == value)) { |
399 EXPECT_EQ(controlled_by, indicator_controlled_by); | 400 EXPECT_EQ(controlled_by, indicator_controlled_by); |
400 EXPECT_EQ(readonly, indicator_readonly); | 401 EXPECT_EQ(readonly, indicator_readonly); |
401 EXPECT_TRUE(indicator_visible); | 402 EXPECT_TRUE(indicator_visible); |
| 403 have_visible_indicators = true; |
402 } else { | 404 } else { |
403 EXPECT_FALSE(indicator_visible); | 405 EXPECT_FALSE(indicator_visible); |
404 } | 406 } |
405 } | 407 } |
| 408 if (!controlled_by.empty()) { |
| 409 EXPECT_TRUE(have_visible_indicators) |
| 410 << "Expected to find at least one visible controlled setting " |
| 411 << "indicator."; |
| 412 } |
406 } | 413 } |
407 | 414 |
408 } // namespace | 415 } // namespace |
409 | 416 |
410 // A class of tests parameterized by a settings page URL. | 417 // A class of tests parameterized by a settings page URL. |
411 class PolicyPrefsSettingsBannerTest | 418 class PolicyPrefsSettingsBannerTest |
412 : public InProcessBrowserTest, | 419 : public InProcessBrowserTest, |
413 public testing::WithParamInterface<const char*> {}; | 420 public testing::WithParamInterface<const char*> {}; |
414 | 421 |
415 // Base class for tests that change policies. | 422 // Base class for tests that change policies. |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
635 } | 642 } |
636 } | 643 } |
637 | 644 |
638 INSTANTIATE_TEST_CASE_P( | 645 INSTANTIATE_TEST_CASE_P( |
639 PolicyPrefsTestInstance, | 646 PolicyPrefsTestInstance, |
640 PolicyPrefsTest, | 647 PolicyPrefsTest, |
641 testing::ValuesIn(GetChromePolicyDefinitionList()->begin, | 648 testing::ValuesIn(GetChromePolicyDefinitionList()->begin, |
642 GetChromePolicyDefinitionList()->end)); | 649 GetChromePolicyDefinitionList()->end)); |
643 | 650 |
644 } // namespace policy | 651 } // namespace policy |
OLD | NEW |