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

Delta Between Two Patch Sets: test/UtilTest.cpp

Issue 29331055: Issue #1234 - Remove 'CString' from PluginFilter.* (Closed)
Left Patch Set: Created Nov. 29, 2015, 3:49 p.m.
Right Patch Set: fix whitespace nit Created May 17, 2016, 6:40 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « src/shared/Utils.h ('k') | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
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) 2006-2015 Eyeo GmbH 3 * Copyright (C) 2006-2016 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 #include <gtest/gtest.h> 17 #include <gtest/gtest.h>
18 #include "../src/shared/Utils.h" 18 #include "../src/shared/Utils.h"
19 19
20 namespace 20 namespace
21 { 21 {
22 void TrimTestBody(std::wstring input, std::wstring expected) 22 void TrimTestBody(const std::wstring& input, const std::wstring& expected)
sergei 2015/11/30 12:37:54 It's not introduces in this change set but the com
Eric 2015/11/30 15:54:07 Done.
23 { 23 {
24 std::wstring trimmed = TrimString(input); 24 std::wstring trimmed = TrimString(input);
25 ASSERT_EQ(expected, trimmed); 25 EXPECT_EQ(expected, trimmed);
26 } 26 }
27 27
28 void TrimLeftTestBody(std::wstring input, std::wstring expected) 28 void TrimLeftTestBody(const std::wstring& input, const std::wstring& expected)
sergei 2015/11/30 12:37:54 Why not to pass arguments as constant references?
sergei 2015/11/30 12:37:54 It would be better to call it like ExpectEqualToLe
Eric 2015/11/30 15:54:07 I'm not going to bother with the renaming. I don't
Eric 2015/11/30 15:54:08 Done.
29 { 29 {
30 std::wstring trimmed = TrimStringLeft(input); 30 std::wstring trimmed = TrimStringLeft(input);
31 ASSERT_EQ(expected, trimmed); 31 EXPECT_EQ(expected, trimmed);
sergei 2015/11/30 12:37:54 It should not stop the tests, could you please use
Eric 2015/11/30 15:54:07 Done.
32 } 32 }
33 33
34 void TrimRightTestBody(std::wstring input, std::wstring expected) 34 void TrimRightTestBody(const std::wstring& input, const std::wstring& expected )
sergei 2015/11/30 12:37:54 ExpectEqualToRightTrimmed(expected, input);
sergei 2015/11/30 12:37:54 Same here, constant references
Eric 2015/11/30 15:54:07 Done.
35 { 35 {
36 std::wstring trimmed = TrimStringRight(input); 36 std::wstring trimmed = TrimStringRight(input);
37 ASSERT_EQ(expected, trimmed); 37 EXPECT_EQ(expected, trimmed);
sergei 2015/11/30 12:37:55 EXPECT_EQ
Eric 2015/11/30 15:54:07 Done.
38 } 38 }
39 } 39 }
40 40
41 TEST(TrimTest, Trim00) 41 TEST(TrimTest, Trim00)
42 { 42 {
43 const std::wstring x = L""; 43 const std::wstring x = L"";
44 TrimTestBody(x, L""); 44 TrimTestBody(x, L"");
45 TrimLeftTestBody(x, L""); 45 TrimLeftTestBody(x, L"");
46 TrimRightTestBody(x, L""); 46 TrimRightTestBody(x, L"");
47 } 47 }
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 } 151 }
152 152
153 TEST(TrimTest, Trim14) 153 TEST(TrimTest, Trim14)
154 { 154 {
155 const std::wstring x = L" foo bar \r\n"; 155 const std::wstring x = L" foo bar \r\n";
156 TrimTestBody(x, L"foo bar"); 156 TrimTestBody(x, L"foo bar");
157 TrimLeftTestBody(x, L"foo bar \r\n"); 157 TrimLeftTestBody(x, L"foo bar \r\n");
158 TrimRightTestBody(x, L" foo bar"); 158 TrimRightTestBody(x, L" foo bar");
159 } 159 }
160 160
161 /*
162 * First of two tests verifying that TrimString() does not alter its argument.
163 * This one tests an ordinary, non-const variable as an argument.
164 * It differs from its companion only in the one line that declares the variable used as an argument.
165 */
161 TEST(TrimTest, TrimPassesByValue) 166 TEST(TrimTest, TrimPassesByValue)
162 { 167 {
163 std::wstring x = L"foo bar "; // not declared 'const', coould alter 168 std::wstring x = L"foo bar "; // not declared 'const', could alter
164 const std::wstring y = x; 169 const std::wstring y = x;
165 ASSERT_EQ(y, x); 170 ASSERT_EQ(y, x);
sergei 2015/11/30 12:37:54 EXPECT_EQ here and below
Eric 2015/11/30 15:54:08 This statement is largely documentation. It's here
166 std::wstring trimmed = TrimString(x); // expect here pass by value 171 std::wstring trimmed = TrimString(x); // expect here pass by value
sergei 2015/11/30 12:37:54 What if one calls it as `TrimString<std::wstring&>
Eric 2015/11/30 15:54:08 If you do that, you get in-place modification. I s
sergei 2015/11/30 16:36:03 Acknowledged. It's another issue, let's leave it.
167 ASSERT_EQ(L"foo bar", trimmed); 172 EXPECT_EQ(L"foo bar", trimmed);
168 ASSERT_EQ(y, x); // argument variable not altered 173 ASSERT_EQ(y, x); // argument variable not altered
169 } 174 }
170 175
176 /*
177 * Second of two tests verifying that TrimString() does not alter its argument.
178 * This one tests a const variable as an argument.
179 */
171 TEST(TrimTest, TrimBindsOnConstArg) 180 TEST(TrimTest, TrimBindsOnConstArg)
sergei 2015/11/30 12:37:55 If it's an attempt to test whether there is some b
Eric 2015/11/30 15:54:07 It verifies the modification, yes. The real purpos
172 { 181 {
173 const std::wstring x = L"foo bar "; // declared 'const' 182 const std::wstring x = L"foo bar "; // declared 'const'
174 const std::wstring y = x; 183 const std::wstring y = x;
175 ASSERT_EQ(y, x); 184 ASSERT_EQ(y, x);
176 std::wstring trimmed = TrimString(x); 185 std::wstring trimmed = TrimString(x);
177 ASSERT_EQ(L"foo bar", trimmed); 186 EXPECT_EQ(L"foo bar", trimmed);
178 ASSERT_EQ(y, x); 187 ASSERT_EQ(y, x);
179 } 188 }
LEFTRIGHT

Powered by Google App Engine
This is Rietveld