Chromium Code Reviews| Index: base/win/shortcut_unittest.cc |
| diff --git a/base/win/shortcut_unittest.cc b/base/win/shortcut_unittest.cc |
| index eaf152eb9dcbd328716cf71a1aab5e63074c4d81..0126dc7b5030dcde7a767f8c61a9b9d34ab907cc 100644 |
| --- a/base/win/shortcut_unittest.cc |
| +++ b/base/win/shortcut_unittest.cc |
| @@ -12,6 +12,7 @@ |
| #include "base/test/test_file_util.h" |
| #include "base/test/test_shortcut_win.h" |
| #include "base/win/scoped_com_initializer.h" |
| +#include "base/win/windows_version.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| namespace base { |
| @@ -41,8 +42,10 @@ class ShortcutTest : public testing::Test { |
| link_properties_.set_arguments(L"--magic --awesome"); |
| link_properties_.set_description(L"Chrome is awesome."); |
| link_properties_.set_icon(link_properties_.target, 4); |
| - link_properties_.set_app_id(L"Chrome"); |
| - link_properties_.set_dual_mode(false); |
| + if (GetVersion() >= VERSION_WIN7) { |
|
gab
2014/01/03 18:25:52
I think it's good to set these unconditionally (to
huangs
2014/01/03 20:19:35
Done.
|
| + link_properties_.set_app_id(L"Chrome"); |
| + link_properties_.set_dual_mode(false); |
| + } |
| } |
| // Shortcut 2's properties (all different from properties of shortcut 1). |
| @@ -59,8 +62,10 @@ class ShortcutTest : public testing::Test { |
| link_properties_2_.set_arguments(L"--super --crazy"); |
| link_properties_2_.set_description(L"The best in the west."); |
| link_properties_2_.set_icon(icon_path_2, 0); |
| - link_properties_2_.set_app_id(L"Chrome.UserLevelCrazySuffix"); |
| - link_properties_2_.set_dual_mode(true); |
| + if (GetVersion() >= VERSION_WIN7) { |
|
gab
2014/01/03 18:25:52
Remove condition here too.
huangs
2014/01/03 20:19:35
Done.
|
| + link_properties_2_.set_app_id(L"Chrome.UserLevelCrazySuffix"); |
| + link_properties_2_.set_dual_mode(true); |
| + } |
| } |
| } |
| @@ -80,6 +85,47 @@ class ShortcutTest : public testing::Test { |
| } // namespace |
| +TEST_F(ShortcutTest, CreateAndResolveShortcutProperties) { |
| + uint32 properties_use = ShortcutProperties::PROPERTIES_BASIC; |
|
gab
2014/01/03 18:25:52
s/properties_use/valid_properties
huangs
2014/01/03 20:19:35
Done.
|
| + if (GetVersion() >= VERSION_WIN7) |
| + properties_use |= ShortcutProperties::PROPERTIES_WIN7; |
| + |
| + // Test all properties. |
| + FilePath file_1(temp_dir_.path().Append(L"Link1.lnk")); |
| + ASSERT_TRUE(CreateOrUpdateShortcutLink( |
| + file_1, link_properties_, SHORTCUT_CREATE_ALWAYS)); |
| + |
| + ShortcutProperties properties_read_1; |
| + ASSERT_TRUE( |
| + ResolveShortcutProperties(file_1, properties_use, &properties_read_1)); |
|
gab
2014/01/03 18:25:52
Still resolve on PROPERTIES_ALL and expect the met
huangs
2014/01/03 20:19:35
Done.
|
| + EXPECT_EQ(link_properties_.options, properties_use); |
| + EXPECT_EQ(link_properties_.target, properties_read_1.target); |
| + EXPECT_EQ(link_properties_.working_dir, properties_read_1.working_dir); |
| + EXPECT_EQ(link_properties_.arguments, properties_read_1.arguments); |
| + EXPECT_EQ(link_properties_.description, properties_read_1.description); |
| + EXPECT_EQ(link_properties_.icon, properties_read_1.icon); |
| + EXPECT_EQ(link_properties_.icon_index, properties_read_1.icon_index); |
| + if (GetVersion() >= VERSION_WIN7) { |
| + EXPECT_EQ(link_properties_.app_id, properties_read_1.app_id); |
| + EXPECT_EQ(link_properties_.dual_mode, properties_read_1.dual_mode); |
| + } |
| + |
| + // Test simple shortcut with no special properties set. |
| + FilePath file_2(temp_dir_.path().Append(L"Link2.lnk")); |
| + ShortcutProperties only_target_properties; |
| + only_target_properties.set_target(link_properties_.target); |
| + ASSERT_TRUE(CreateOrUpdateShortcutLink( |
| + file_2, only_target_properties, SHORTCUT_CREATE_ALWAYS)); |
| + |
| + ShortcutProperties properties_read_2; |
| + ASSERT_TRUE( |
| + ResolveShortcutProperties(file_2, properties_use, &properties_read_2)); |
|
gab
2014/01/03 18:25:52
PROPERTIES_ALL here too
huangs
2014/01/03 20:19:35
Done.
|
| + EXPECT_EQ(properties_use, properties_read_2.options); |
| + EXPECT_EQ(only_target_properties.target, properties_read_2.target); |
| + EXPECT_EQ(L"", properties_read_2.arguments); |
| + EXPECT_EQ(L"", properties_read_2.description); |
|
gab
2014/01/03 18:25:52
Why not test all properties?
This will be good in
huangs
2014/01/03 20:19:35
Test for (empty) defaults. Will need to watch try
|
| +} |
| + |
| TEST_F(ShortcutTest, CreateAndResolveShortcut) { |
| ShortcutProperties only_target_properties; |
| only_target_properties.set_target(link_properties_.target); |