| 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 <objbase.h> | 5 #include <objbase.h> |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 | 34 |
| 35 class CreateVisualElementsManifestTest : public testing::Test { | 35 class CreateVisualElementsManifestTest : public testing::Test { |
| 36 protected: | 36 protected: |
| 37 virtual void SetUp() OVERRIDE { | 37 virtual void SetUp() OVERRIDE { |
| 38 // Create a temp directory for testing. | 38 // Create a temp directory for testing. |
| 39 ASSERT_TRUE(test_dir_.CreateUniqueTempDir()); | 39 ASSERT_TRUE(test_dir_.CreateUniqueTempDir()); |
| 40 | 40 |
| 41 version_ = Version("0.0.0.0"); | 41 version_ = Version("0.0.0.0"); |
| 42 | 42 |
| 43 version_dir_ = test_dir_.path().AppendASCII(version_.GetString()); | 43 version_dir_ = test_dir_.path().AppendASCII(version_.GetString()); |
| 44 ASSERT_TRUE(file_util::CreateDirectory(version_dir_)); | 44 ASSERT_TRUE(base::CreateDirectory(version_dir_)); |
| 45 | 45 |
| 46 manifest_path_ = | 46 manifest_path_ = |
| 47 test_dir_.path().Append(installer::kVisualElementsManifest); | 47 test_dir_.path().Append(installer::kVisualElementsManifest); |
| 48 } | 48 } |
| 49 | 49 |
| 50 virtual void TearDown() OVERRIDE { | 50 virtual void TearDown() OVERRIDE { |
| 51 // Clean up test directory manually so we can fail if it leaks. | 51 // Clean up test directory manually so we can fail if it leaks. |
| 52 ASSERT_TRUE(test_dir_.Delete()); | 52 ASSERT_TRUE(test_dir_.Delete()); |
| 53 } | 53 } |
| 54 | 54 |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 // not present. | 221 // not present. |
| 222 TEST_F(CreateVisualElementsManifestTest, VisualElementsManifestNotCreated) { | 222 TEST_F(CreateVisualElementsManifestTest, VisualElementsManifestNotCreated) { |
| 223 ASSERT_TRUE( | 223 ASSERT_TRUE( |
| 224 installer::CreateVisualElementsManifest(test_dir_.path(), version_)); | 224 installer::CreateVisualElementsManifest(test_dir_.path(), version_)); |
| 225 ASSERT_FALSE(base::PathExists(manifest_path_)); | 225 ASSERT_FALSE(base::PathExists(manifest_path_)); |
| 226 } | 226 } |
| 227 | 227 |
| 228 // Test that VisualElementsManifest.xml is created with the correct content when | 228 // Test that VisualElementsManifest.xml is created with the correct content when |
| 229 // VisualElements are present. | 229 // VisualElements are present. |
| 230 TEST_F(CreateVisualElementsManifestTest, VisualElementsManifestCreated) { | 230 TEST_F(CreateVisualElementsManifestTest, VisualElementsManifestCreated) { |
| 231 ASSERT_TRUE(file_util::CreateDirectory( | 231 ASSERT_TRUE(base::CreateDirectory( |
| 232 version_dir_.Append(installer::kVisualElements))); | 232 version_dir_.Append(installer::kVisualElements))); |
| 233 ASSERT_TRUE( | 233 ASSERT_TRUE( |
| 234 installer::CreateVisualElementsManifest(test_dir_.path(), version_)); | 234 installer::CreateVisualElementsManifest(test_dir_.path(), version_)); |
| 235 ASSERT_TRUE(base::PathExists(manifest_path_)); | 235 ASSERT_TRUE(base::PathExists(manifest_path_)); |
| 236 | 236 |
| 237 std::string read_manifest; | 237 std::string read_manifest; |
| 238 ASSERT_TRUE(base::ReadFileToString(manifest_path_, &read_manifest)); | 238 ASSERT_TRUE(base::ReadFileToString(manifest_path_, &read_manifest)); |
| 239 | 239 |
| 240 static const char kExpectedManifest[] = | 240 static const char kExpectedManifest[] = |
| 241 "<Application>\r\n" | 241 "<Application>\r\n" |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 323 dummy_properties.set_working_dir(fake_user_desktop_.path()); | 323 dummy_properties.set_working_dir(fake_user_desktop_.path()); |
| 324 dummy_properties.set_arguments(L"--dummy --args"); | 324 dummy_properties.set_arguments(L"--dummy --args"); |
| 325 dummy_properties.set_app_id(L"El.Dummiest"); | 325 dummy_properties.set_app_id(L"El.Dummiest"); |
| 326 | 326 |
| 327 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( | 327 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( |
| 328 user_desktop_shortcut_, dummy_properties, | 328 user_desktop_shortcut_, dummy_properties, |
| 329 base::win::SHORTCUT_CREATE_ALWAYS)); | 329 base::win::SHORTCUT_CREATE_ALWAYS)); |
| 330 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( | 330 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( |
| 331 user_quick_launch_shortcut_, dummy_properties, | 331 user_quick_launch_shortcut_, dummy_properties, |
| 332 base::win::SHORTCUT_CREATE_ALWAYS)); | 332 base::win::SHORTCUT_CREATE_ALWAYS)); |
| 333 ASSERT_TRUE(file_util::CreateDirectory(user_start_menu_shortcut_.DirName())); | 333 ASSERT_TRUE(base::CreateDirectory(user_start_menu_shortcut_.DirName())); |
| 334 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( | 334 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( |
| 335 user_start_menu_shortcut_, dummy_properties, | 335 user_start_menu_shortcut_, dummy_properties, |
| 336 base::win::SHORTCUT_CREATE_ALWAYS)); | 336 base::win::SHORTCUT_CREATE_ALWAYS)); |
| 337 | 337 |
| 338 installer::CreateOrUpdateShortcuts( | 338 installer::CreateOrUpdateShortcuts( |
| 339 chrome_exe_, *product_, *prefs_, installer::CURRENT_USER, | 339 chrome_exe_, *product_, *prefs_, installer::CURRENT_USER, |
| 340 installer::INSTALL_SHORTCUT_REPLACE_EXISTING); | 340 installer::INSTALL_SHORTCUT_REPLACE_EXISTING); |
| 341 base::win::ValidateShortcut(user_desktop_shortcut_, expected_properties_); | 341 base::win::ValidateShortcut(user_desktop_shortcut_, expected_properties_); |
| 342 base::win::ValidateShortcut(user_quick_launch_shortcut_, | 342 base::win::ValidateShortcut(user_quick_launch_shortcut_, |
| 343 expected_properties_); | 343 expected_properties_); |
| 344 base::win::ValidateShortcut(user_start_menu_shortcut_, | 344 base::win::ValidateShortcut(user_start_menu_shortcut_, |
| 345 expected_start_menu_properties_); | 345 expected_start_menu_properties_); |
| 346 } | 346 } |
| 347 | 347 |
| 348 TEST_F(InstallShortcutTest, ReplaceExisting) { | 348 TEST_F(InstallShortcutTest, ReplaceExisting) { |
| 349 base::win::ShortcutProperties dummy_properties; | 349 base::win::ShortcutProperties dummy_properties; |
| 350 base::FilePath dummy_target; | 350 base::FilePath dummy_target; |
| 351 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), &dummy_target)); | 351 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), &dummy_target)); |
| 352 dummy_properties.set_target(dummy_target); | 352 dummy_properties.set_target(dummy_target); |
| 353 dummy_properties.set_working_dir(fake_user_desktop_.path()); | 353 dummy_properties.set_working_dir(fake_user_desktop_.path()); |
| 354 dummy_properties.set_arguments(L"--dummy --args"); | 354 dummy_properties.set_arguments(L"--dummy --args"); |
| 355 dummy_properties.set_app_id(L"El.Dummiest"); | 355 dummy_properties.set_app_id(L"El.Dummiest"); |
| 356 | 356 |
| 357 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( | 357 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( |
| 358 user_desktop_shortcut_, dummy_properties, | 358 user_desktop_shortcut_, dummy_properties, |
| 359 base::win::SHORTCUT_CREATE_ALWAYS)); | 359 base::win::SHORTCUT_CREATE_ALWAYS)); |
| 360 ASSERT_TRUE(file_util::CreateDirectory(user_start_menu_shortcut_.DirName())); | 360 ASSERT_TRUE(base::CreateDirectory(user_start_menu_shortcut_.DirName())); |
| 361 | 361 |
| 362 installer::CreateOrUpdateShortcuts( | 362 installer::CreateOrUpdateShortcuts( |
| 363 chrome_exe_, *product_, *prefs_, installer::CURRENT_USER, | 363 chrome_exe_, *product_, *prefs_, installer::CURRENT_USER, |
| 364 installer::INSTALL_SHORTCUT_REPLACE_EXISTING); | 364 installer::INSTALL_SHORTCUT_REPLACE_EXISTING); |
| 365 base::win::ValidateShortcut(user_desktop_shortcut_, expected_properties_); | 365 base::win::ValidateShortcut(user_desktop_shortcut_, expected_properties_); |
| 366 ASSERT_FALSE(base::PathExists(user_quick_launch_shortcut_)); | 366 ASSERT_FALSE(base::PathExists(user_quick_launch_shortcut_)); |
| 367 ASSERT_FALSE(base::PathExists(user_start_menu_shortcut_)); | 367 ASSERT_FALSE(base::PathExists(user_start_menu_shortcut_)); |
| 368 } | 368 } |
| 369 | 369 |
| 370 TEST_F(InstallShortcutTest, CreateIfNoSystemLevelAllSystemShortcutsExist) { | 370 TEST_F(InstallShortcutTest, CreateIfNoSystemLevelAllSystemShortcutsExist) { |
| 371 base::win::ShortcutProperties dummy_properties; | 371 base::win::ShortcutProperties dummy_properties; |
| 372 base::FilePath dummy_target; | 372 base::FilePath dummy_target; |
| 373 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), &dummy_target)); | 373 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), &dummy_target)); |
| 374 dummy_properties.set_target(dummy_target); | 374 dummy_properties.set_target(dummy_target); |
| 375 | 375 |
| 376 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( | 376 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( |
| 377 system_desktop_shortcut_, dummy_properties, | 377 system_desktop_shortcut_, dummy_properties, |
| 378 base::win::SHORTCUT_CREATE_ALWAYS)); | 378 base::win::SHORTCUT_CREATE_ALWAYS)); |
| 379 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( | 379 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( |
| 380 system_quick_launch_shortcut_, dummy_properties, | 380 system_quick_launch_shortcut_, dummy_properties, |
| 381 base::win::SHORTCUT_CREATE_ALWAYS)); | 381 base::win::SHORTCUT_CREATE_ALWAYS)); |
| 382 ASSERT_TRUE(file_util::CreateDirectory( | 382 ASSERT_TRUE(base::CreateDirectory( |
| 383 system_start_menu_shortcut_.DirName())); | 383 system_start_menu_shortcut_.DirName())); |
| 384 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( | 384 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( |
| 385 system_start_menu_shortcut_, dummy_properties, | 385 system_start_menu_shortcut_, dummy_properties, |
| 386 base::win::SHORTCUT_CREATE_ALWAYS)); | 386 base::win::SHORTCUT_CREATE_ALWAYS)); |
| 387 | 387 |
| 388 installer::CreateOrUpdateShortcuts( | 388 installer::CreateOrUpdateShortcuts( |
| 389 chrome_exe_, *product_, *prefs_, installer::CURRENT_USER, | 389 chrome_exe_, *product_, *prefs_, installer::CURRENT_USER, |
| 390 installer::INSTALL_SHORTCUT_CREATE_EACH_IF_NO_SYSTEM_LEVEL); | 390 installer::INSTALL_SHORTCUT_CREATE_EACH_IF_NO_SYSTEM_LEVEL); |
| 391 ASSERT_FALSE(base::PathExists(user_desktop_shortcut_)); | 391 ASSERT_FALSE(base::PathExists(user_desktop_shortcut_)); |
| 392 ASSERT_FALSE(base::PathExists(user_quick_launch_shortcut_)); | 392 ASSERT_FALSE(base::PathExists(user_quick_launch_shortcut_)); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 431 installer::EscapeXmlAttributeValueInSingleQuotes(&val); | 431 installer::EscapeXmlAttributeValueInSingleQuotes(&val); |
| 432 ASSERT_STREQ(kExpectedEscapedVal, val.c_str()); | 432 ASSERT_STREQ(kExpectedEscapedVal, val.c_str()); |
| 433 } | 433 } |
| 434 | 434 |
| 435 TEST(EscapeXmlAttributeValueTest, DontEscapeNormalValue) { | 435 TEST(EscapeXmlAttributeValueTest, DontEscapeNormalValue) { |
| 436 string16 val(L"Google Chrome"); | 436 string16 val(L"Google Chrome"); |
| 437 static const wchar_t kExpectedEscapedVal[] = L"Google Chrome"; | 437 static const wchar_t kExpectedEscapedVal[] = L"Google Chrome"; |
| 438 installer::EscapeXmlAttributeValueInSingleQuotes(&val); | 438 installer::EscapeXmlAttributeValueInSingleQuotes(&val); |
| 439 ASSERT_STREQ(kExpectedEscapedVal, val.c_str()); | 439 ASSERT_STREQ(kExpectedEscapedVal, val.c_str()); |
| 440 } | 440 } |
| OLD | NEW |