Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Side by Side Diff: core/fpdftext/fpdf_text_int_unittest.cpp

Issue 1841643002: Code change to avoid signed/unsigned mismatch warnings (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/fpdfdoc/doc_formfield.cpp ('k') | core/fxcodec/codec/fx_codec_jpx_unittest.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 PDFium Authors. All rights reserved. 1 // Copyright 2015 PDFium 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 "core/fpdftext/fpdf_text_int.h" 5 #include "core/fpdftext/fpdf_text_int.h"
6 6
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 8
9 // Class to help test functions in CPDF_LinkExtract class. 9 // Class to help test functions in CPDF_LinkExtract class.
10 class CPDF_TestLinkExtract : public CPDF_LinkExtract { 10 class CPDF_TestLinkExtract : public CPDF_LinkExtract {
11 private: 11 private:
12 // Add test cases as friends to access protected member functions. 12 // Add test cases as friends to access protected member functions.
13 // Access CheckMailLink. 13 // Access CheckMailLink.
14 FRIEND_TEST(fpdf_text_int, CheckMailLink); 14 FRIEND_TEST(fpdf_text_int, CheckMailLink);
15 }; 15 };
16 16
17 TEST(fpdf_text_int, CheckMailLink) { 17 TEST(fpdf_text_int, CheckMailLink) {
18 CPDF_TestLinkExtract extractor; 18 CPDF_TestLinkExtract extractor;
19 // Check cases that fail to extract valid mail link. 19 // Check cases that fail to extract valid mail link.
20 const wchar_t* invalid_strs[] = { 20 const wchar_t* invalid_strs[] = {
21 L"", 21 L"",
22 L"peter.pan", // '@' is required. 22 L"peter.pan", // '@' is required.
23 L"abc@server", // Domain name needs at least one '.'. 23 L"abc@server", // Domain name needs at least one '.'.
24 L"abc.@gmail.com", // '.' can not immediately precede '@'. 24 L"abc.@gmail.com", // '.' can not immediately precede '@'.
25 L"abc@xyz&q.org", // Domain name should not contain '&'. 25 L"abc@xyz&q.org", // Domain name should not contain '&'.
26 L"abc@.xyz.org", // Domain name should not start with '.'. 26 L"abc@.xyz.org", // Domain name should not start with '.'.
27 L"fan@g..com" // Domain name should not have consecutive '.' 27 L"fan@g..com" // Domain name should not have consecutive '.'
28 }; 28 };
29 for (int i = 0; i < FX_ArraySize(invalid_strs); ++i) { 29 for (size_t i = 0; i < FX_ArraySize(invalid_strs); ++i) {
30 CFX_WideString text_str(invalid_strs[i]); 30 CFX_WideString text_str(invalid_strs[i]);
31 EXPECT_FALSE(extractor.CheckMailLink(text_str)); 31 EXPECT_FALSE(extractor.CheckMailLink(text_str));
32 } 32 }
33 33
34 // Check cases that can extract valid mail link. 34 // Check cases that can extract valid mail link.
35 // An array of {input_string, expected_extracted_email_address}. 35 // An array of {input_string, expected_extracted_email_address}.
36 const wchar_t* valid_strs[][2] = { 36 const wchar_t* valid_strs[][2] = {
37 {L"peter@abc.d", L"peter@abc.d"}, 37 {L"peter@abc.d", L"peter@abc.d"},
38 {L"red.teddy.b@abc.com", L"red.teddy.b@abc.com"}, 38 {L"red.teddy.b@abc.com", L"red.teddy.b@abc.com"},
39 {L"abc_@gmail.com", L"abc_@gmail.com"}, // '_' is ok before '@'. 39 {L"abc_@gmail.com", L"abc_@gmail.com"}, // '_' is ok before '@'.
40 {L"dummy-hi@gmail.com", 40 {L"dummy-hi@gmail.com",
41 L"dummy-hi@gmail.com"}, // '-' is ok in user name. 41 L"dummy-hi@gmail.com"}, // '-' is ok in user name.
42 {L"a..df@gmail.com", L"df@gmail.com"}, // Stop at consecutive '.'. 42 {L"a..df@gmail.com", L"df@gmail.com"}, // Stop at consecutive '.'.
43 {L".john@yahoo.com", L"john@yahoo.com"}, // Remove heading '.'. 43 {L".john@yahoo.com", L"john@yahoo.com"}, // Remove heading '.'.
44 {L"abc@xyz.org?/", L"abc@xyz.org"}, // Trim ending invalid chars. 44 {L"abc@xyz.org?/", L"abc@xyz.org"}, // Trim ending invalid chars.
45 {L"fan{abc@xyz.org", L"abc@xyz.org"}, // Trim beginning invalid chars. 45 {L"fan{abc@xyz.org", L"abc@xyz.org"}, // Trim beginning invalid chars.
46 {L"fan@g.com..", L"fan@g.com"}, // Trim the ending periods. 46 {L"fan@g.com..", L"fan@g.com"}, // Trim the ending periods.
47 {L"CAP.cap@Gmail.Com", L"CAP.cap@Gmail.Com"}, // Keep the original case. 47 {L"CAP.cap@Gmail.Com", L"CAP.cap@Gmail.Com"}, // Keep the original case.
48 }; 48 };
49 for (int i = 0; i < FX_ArraySize(valid_strs); ++i) { 49 for (size_t i = 0; i < FX_ArraySize(valid_strs); ++i) {
50 CFX_WideString text_str(valid_strs[i][0]); 50 CFX_WideString text_str(valid_strs[i][0]);
51 CFX_WideString expected_str(L"mailto:"); 51 CFX_WideString expected_str(L"mailto:");
52 expected_str += valid_strs[i][1]; 52 expected_str += valid_strs[i][1];
53 EXPECT_TRUE(extractor.CheckMailLink(text_str)); 53 EXPECT_TRUE(extractor.CheckMailLink(text_str));
54 EXPECT_STREQ(text_str.c_str(), expected_str.c_str()); 54 EXPECT_STREQ(text_str.c_str(), expected_str.c_str());
55 } 55 }
56 } 56 }
OLDNEW
« no previous file with comments | « core/fpdfdoc/doc_formfield.cpp ('k') | core/fxcodec/codec/fx_codec_jpx_unittest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698