Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: test/plugin/UserSettingsTest.cpp

Issue 5979857238360064: Issues #1163, #1173 - refactor CPluginUserSettings (Closed)
Patch Set: Created Aug. 6, 2014, 4:56 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <http://adblockplus.org/>, 2 * This file is part of Adblock Plus <http://adblockplus.org/>,
3 * Copyright (C) 2014 Eyeo GmbH 3 * Copyright (C) 2014 Eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details. 12 * GNU General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU General Public License 14 * You should have received a copy of the GNU General Public License
15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. 15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
16 */ 16 */
17 17
18 #include <gtest/gtest.h> 18 #include <gtest/gtest.h>
19 19
20 #include <OAIdl.h>
21 #include "../../src/plugin/PluginUserSettings.h" 20 #include "../../src/plugin/PluginUserSettings.h"
22 21
23 //---------------------------------- 22 //----------------------------------
24 // GetIDsOfNames 23 // GetIDsOfNames
25 //---------------------------------- 24 //----------------------------------
26 25
27 namespace 26 namespace
28 { 27 {
29 void single_method_name_found(std::wstring name, DISPID expected_id) 28 void single_method_name_found(std::wstring name, DISPID expected_id)
30 { 29 {
31 CPluginUserSettings x; 30 CPluginUserSettings x;
32 wchar_t *names[1]; 31 wchar_t *names[1];
33 names[0] = const_cast<wchar_t *>(name.c_str()); 32 names[0] = const_cast<wchar_t *>(name.c_str());
34 DISPID ids[1]; 33 DISPID ids[1];
35 HRESULT h = x.GetIDsOfNames(IID_NULL, names, 1, 0, ids); 34 HRESULT h = x.GetIDsOfNames(IID_NULL, names, 1, 0, ids);
36 ASSERT_EQ(S_OK, h); 35 ASSERT_EQ(S_OK, h);
37 DISPID id=ids[0]; 36 DISPID id=ids[0];
38 ASSERT_EQ(expected_id, id); 37 ASSERT_EQ(expected_id, id);
39 } 38 }
40 39
41 void single_method_name_notfound(std::wstring name) 40 void single_method_name_notfound(std::wstring name)
42 { 41 {
43 CPluginUserSettings x; 42 CPluginUserSettings x;
44 wchar_t *names[1]; 43 wchar_t *names[1];
45 names[0] = const_cast<wchar_t *>(name.c_str()); 44 names[0] = const_cast<wchar_t *>(name.c_str());
46 DISPID ids[1]; 45 DISPID ids[1];
47 HRESULT h = x.GetIDsOfNames(IID_NULL, names, 1, 0, ids); 46 HRESULT h = x.GetIDsOfNames(IID_NULL, names, 1, 0, ids);
48 ASSERT_NE(S_OK, h); 47 ASSERT_NE(S_OK, h);
49 // The old version returns a nonstandard error code.
50 if (h == DISP_E_MEMBERNOTFOUND)
51 {
52 return;
53 }
54 EXPECT_EQ(DISP_E_UNKNOWNNAME, h); 48 EXPECT_EQ(DISP_E_UNKNOWNNAME, h);
55 } 49 }
56 } 50 }
57 51
58 TEST(CPluginUserSettings_GetIDsOfNames_Test, all_defined_found) 52 TEST(CPluginUserSettings_GetIDsOfNames_Test, all_defined_found)
59 { 53 {
60 CPluginUserSettings x; 54 CPluginUserSettings x;
61 single_method_name_found(L"GetMessage", 0); 55 single_method_name_found(L"GetMessage", 0);
62 single_method_name_found(L"GetLanguageCount", 1); 56 single_method_name_found(L"GetLanguageCount", 1);
63 single_method_name_found(L"GetLanguageByIndex", 2); 57 single_method_name_found(L"GetLanguageByIndex", 2);
(...skipping 26 matching lines...) Expand all
90 { 84 {
91 CPluginUserSettings x; 85 CPluginUserSettings x;
92 DISPPARAMS params; 86 DISPPARAMS params;
93 params.rgvarg = nullptr; 87 params.rgvarg = nullptr;
94 params.rgdispidNamedArgs = nullptr; 88 params.rgdispidNamedArgs = nullptr;
95 params.cArgs = 0; 89 params.cArgs = 0;
96 params.cNamedArgs = 0; 90 params.cNamedArgs = 0;
97 EXCEPINFO ex; 91 EXCEPINFO ex;
98 HRESULT h = x.Invoke(-1, IID_NULL, 0, 0, &params, nullptr, &ex, nullptr); 92 HRESULT h = x.Invoke(-1, IID_NULL, 0, 0, &params, nullptr, &ex, nullptr);
99 ASSERT_NE(S_OK, h); 93 ASSERT_NE(S_OK, h);
100 // The old version returns a nonstandard error code.
101 if (h == DISP_E_BADINDEX)
102 {
103 return;
104 }
105 EXPECT_EQ(DISP_E_MEMBERNOTFOUND, h); 94 EXPECT_EQ(DISP_E_MEMBERNOTFOUND, h);
106 } 95 }
107 } 96 }
108 97
109 TEST(CPluginUserSettings_Invoke_Test, invalid_dispatch_id_underflow) 98 TEST(CPluginUserSettings_Invoke_Test, invalid_dispatch_id_underflow)
110 { 99 {
111 invoke_invalid_dispatch_id(-1); 100 invoke_invalid_dispatch_id(-1);
112 } 101 }
113 102
114 TEST(CPluginUserSettings_Invoke_Test, invalid_dispatch_id_overflow) 103 TEST(CPluginUserSettings_Invoke_Test, invalid_dispatch_id_overflow)
115 { 104 {
116 invoke_invalid_dispatch_id(13); 105 invoke_invalid_dispatch_id(13);
117 } 106 }
OLDNEW
« src/plugin/PluginUserSettings.cpp ('K') | « src/plugin/PluginUserSettings.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld