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 "components/policy/core/common/policy_loader_win.h" | 5 #include "components/policy/core/common/policy_loader_win.h" |
6 | 6 |
7 #include <windows.h> | 7 #include <windows.h> |
8 #include <userenv.h> | 8 #include <userenv.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 DWORD value) { | 596 DWORD value) { |
597 value = base::ByteSwapToLE32(value); | 597 value = base::ByteSwapToLE32(value); |
598 AppendRecordToPRegFile(path, key, REG_DWORD, sizeof(DWORD), | 598 AppendRecordToPRegFile(path, key, REG_DWORD, sizeof(DWORD), |
599 reinterpret_cast<uint8*>(&value)); | 599 reinterpret_cast<uint8*>(&value)); |
600 } | 600 } |
601 | 601 |
602 void PRegTestHarness::AppendStringToPRegFile(const base::string16& path, | 602 void PRegTestHarness::AppendStringToPRegFile(const base::string16& path, |
603 const std::string& key, | 603 const std::string& key, |
604 const std::string& value) { | 604 const std::string& value) { |
605 base::string16 string16_value(UTF8ToUTF16(value)); | 605 base::string16 string16_value(UTF8ToUTF16(value)); |
606 std::vector<char16> data; | 606 std::vector<base::char16> data; |
607 std::transform(string16_value.begin(), string16_value.end(), | 607 std::transform(string16_value.begin(), string16_value.end(), |
608 std::back_inserter(data), std::ptr_fun(base::ByteSwapToLE16)); | 608 std::back_inserter(data), std::ptr_fun(base::ByteSwapToLE16)); |
609 data.push_back(base::ByteSwapToLE16(L'\0')); | 609 data.push_back(base::ByteSwapToLE16(L'\0')); |
610 | 610 |
611 AppendRecordToPRegFile(path, key, REG_SZ, data.size() * sizeof(char16), | 611 AppendRecordToPRegFile(path, key, REG_SZ, data.size() * sizeof(base::char16), |
612 reinterpret_cast<uint8*>(vector_as_array(&data))); | 612 reinterpret_cast<uint8*>(vector_as_array(&data))); |
613 } | 613 } |
614 | 614 |
615 void PRegTestHarness::AppendPolicyToPRegFile(const base::string16& path, | 615 void PRegTestHarness::AppendPolicyToPRegFile(const base::string16& path, |
616 const std::string& key, | 616 const std::string& key, |
617 const base::Value* value) { | 617 const base::Value* value) { |
618 switch (value->GetType()) { | 618 switch (value->GetType()) { |
619 case base::Value::TYPE_BOOLEAN: { | 619 case base::Value::TYPE_BOOLEAN: { |
620 bool boolean_value = false; | 620 bool boolean_value = false; |
621 ASSERT_TRUE(value->GetAsBoolean(&boolean_value)); | 621 ASSERT_TRUE(value->GetAsBoolean(&boolean_value)); |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
686 testing::Values(RegistryTestHarness::CreateHKCU, | 686 testing::Values(RegistryTestHarness::CreateHKCU, |
687 RegistryTestHarness::CreateHKLM, | 687 RegistryTestHarness::CreateHKLM, |
688 PRegTestHarness::Create)); | 688 PRegTestHarness::Create)); |
689 | 689 |
690 // Test cases for windows policy provider specific functionality. | 690 // Test cases for windows policy provider specific functionality. |
691 class PolicyLoaderWinTest : public PolicyTestBase, | 691 class PolicyLoaderWinTest : public PolicyTestBase, |
692 public AppliedGPOListProvider { | 692 public AppliedGPOListProvider { |
693 protected: | 693 protected: |
694 // The policy key this tests places data under. This must match the data | 694 // The policy key this tests places data under. This must match the data |
695 // files in chrome/test/data/policy/gpo. | 695 // files in chrome/test/data/policy/gpo. |
696 static const char16 kTestPolicyKey[]; | 696 static const base::char16 kTestPolicyKey[]; |
697 | 697 |
698 PolicyLoaderWinTest() | 698 PolicyLoaderWinTest() |
699 : gpo_list_(NULL), | 699 : gpo_list_(NULL), |
700 gpo_list_status_(ERROR_ACCESS_DENIED) {} | 700 gpo_list_status_(ERROR_ACCESS_DENIED) {} |
701 virtual ~PolicyLoaderWinTest() {} | 701 virtual ~PolicyLoaderWinTest() {} |
702 | 702 |
703 virtual void SetUp() OVERRIDE { | 703 virtual void SetUp() OVERRIDE { |
704 PolicyTestBase::SetUp(); | 704 PolicyTestBase::SetUp(); |
705 | 705 |
706 ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &test_data_dir_)); | 706 ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &test_data_dir_)); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
775 POLICY_SCOPE_MACHINE); | 775 POLICY_SCOPE_MACHINE); |
776 return Matches(expected); | 776 return Matches(expected); |
777 } | 777 } |
778 | 778 |
779 ScopedGroupPolicyRegistrySandbox registry_sandbox_; | 779 ScopedGroupPolicyRegistrySandbox registry_sandbox_; |
780 PGROUP_POLICY_OBJECT gpo_list_; | 780 PGROUP_POLICY_OBJECT gpo_list_; |
781 DWORD gpo_list_status_; | 781 DWORD gpo_list_status_; |
782 base::FilePath test_data_dir_; | 782 base::FilePath test_data_dir_; |
783 }; | 783 }; |
784 | 784 |
785 const char16 PolicyLoaderWinTest::kTestPolicyKey[] = | 785 const base::char16 PolicyLoaderWinTest::kTestPolicyKey[] = |
786 L"SOFTWARE\\Policies\\Chromium"; | 786 L"SOFTWARE\\Policies\\Chromium"; |
787 | 787 |
788 TEST_F(PolicyLoaderWinTest, HKLMOverHKCU) { | 788 TEST_F(PolicyLoaderWinTest, HKLMOverHKCU) { |
789 RegKey hklm_key(HKEY_LOCAL_MACHINE, kTestPolicyKey, KEY_ALL_ACCESS); | 789 RegKey hklm_key(HKEY_LOCAL_MACHINE, kTestPolicyKey, KEY_ALL_ACCESS); |
790 ASSERT_TRUE(hklm_key.Valid()); | 790 ASSERT_TRUE(hklm_key.Valid()); |
791 hklm_key.WriteValue(UTF8ToUTF16(test_keys::kKeyString).c_str(), | 791 hklm_key.WriteValue(UTF8ToUTF16(test_keys::kKeyString).c_str(), |
792 UTF8ToUTF16("hklm").c_str()); | 792 UTF8ToUTF16("hklm").c_str()); |
793 RegKey hkcu_key(HKEY_CURRENT_USER, kTestPolicyKey, KEY_ALL_ACCESS); | 793 RegKey hkcu_key(HKEY_CURRENT_USER, kTestPolicyKey, KEY_ALL_ACCESS); |
794 ASSERT_TRUE(hkcu_key.Valid()); | 794 ASSERT_TRUE(hkcu_key.Valid()); |
795 hkcu_key.WriteValue(UTF8ToUTF16(test_keys::kKeyString).c_str(), | 795 hkcu_key.WriteValue(UTF8ToUTF16(test_keys::kKeyString).c_str(), |
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1179 PolicyMap& expected_policy = expected.Get(ns); | 1179 PolicyMap& expected_policy = expected.Get(ns); |
1180 expected_policy.Set("alternative_browser_path", | 1180 expected_policy.Set("alternative_browser_path", |
1181 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, | 1181 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, |
1182 new base::StringValue("c:\\legacy\\browser.exe"), NULL); | 1182 new base::StringValue("c:\\legacy\\browser.exe"), NULL); |
1183 expected_policy.Set("url_list", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, | 1183 expected_policy.Set("url_list", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, |
1184 list.DeepCopy(), NULL); | 1184 list.DeepCopy(), NULL); |
1185 EXPECT_TRUE(Matches(expected)); | 1185 EXPECT_TRUE(Matches(expected)); |
1186 } | 1186 } |
1187 | 1187 |
1188 } // namespace policy | 1188 } // namespace policy |
OLD | NEW |