| 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 "content/renderer/android/email_detector.h" | 5 #include "content/renderer/android/email_detector.h" |
| 6 | 6 |
| 7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 | 9 |
| 10 namespace content { | 10 namespace content { |
| 11 | 11 |
| 12 class EmailDetectorTest : public testing::Test { | 12 class EmailDetectorTest : public testing::Test { |
| 13 public: | 13 public: |
| 14 static void FindAndCheckEmail(const std::string& content, | 14 static void FindAndCheckEmail(const std::string& content, |
| 15 const std::string& expected) { | 15 const std::string& expected) { |
| 16 base::string16 content_16 = UTF8ToUTF16(content); | 16 base::string16 content_16 = base::UTF8ToUTF16(content); |
| 17 base::string16 result_16; | 17 base::string16 result_16; |
| 18 size_t start, end; | 18 size_t start, end; |
| 19 EmailDetector detector; | 19 EmailDetector detector; |
| 20 std::string content_text; | 20 std::string content_text; |
| 21 if (detector.FindContent(content_16.begin(), content_16.end(), | 21 if (detector.FindContent(content_16.begin(), content_16.end(), |
| 22 &start, &end, &content_text)) { | 22 &start, &end, &content_text)) { |
| 23 result_16 = content_16.substr(start, end - start); | 23 result_16 = content_16.substr(start, end - start); |
| 24 } | 24 } |
| 25 EXPECT_EQ(expected, UTF16ToUTF8(result_16)); | 25 EXPECT_EQ(expected, base::UTF16ToUTF8(result_16)); |
| 26 EXPECT_EQ(expected, content_text); | 26 EXPECT_EQ(expected, content_text); |
| 27 } | 27 } |
| 28 }; | 28 }; |
| 29 | 29 |
| 30 TEST_F(EmailDetectorTest, FindEmail) { | 30 TEST_F(EmailDetectorTest, FindEmail) { |
| 31 FindAndCheckEmail("please email test@testing.com", "test@testing.com"); | 31 FindAndCheckEmail("please email test@testing.com", "test@testing.com"); |
| 32 FindAndCheckEmail("please email test@123.456.co.uk.", "test@123.456.co.uk"); | 32 FindAndCheckEmail("please email test@123.456.co.uk.", "test@123.456.co.uk"); |
| 33 FindAndCheckEmail("My email is 'a@b.org'.", "a@b.org"); | 33 FindAndCheckEmail("My email is 'a@b.org'.", "a@b.org"); |
| 34 FindAndCheckEmail("123@bcd.org", "123@bcd.org"); | 34 FindAndCheckEmail("123@bcd.org", "123@bcd.org"); |
| 35 FindAndCheckEmail("[quitelongwelllongemailaddress@somequitelongdomain.org]", | 35 FindAndCheckEmail("[quitelongwelllongemailaddress@somequitelongdomain.org]", |
| 36 "quitelongwelllongemailaddress@somequitelongdomain.org"); | 36 "quitelongwelllongemailaddress@somequitelongdomain.org"); |
| 37 FindAndCheckEmail("Should find the first@email.org not the second@email.org", | 37 FindAndCheckEmail("Should find the first@email.org not the second@email.org", |
| 38 "first@email.org"); | 38 "first@email.org"); |
| 39 FindAndCheckEmail("Email:HELLO@SOMETHING.COM", "HELLO@SOMETHING.COM"); | 39 FindAndCheckEmail("Email:HELLO@SOMETHING.COM", "HELLO@SOMETHING.COM"); |
| 40 FindAndCheckEmail("Email SOMEONE@GOOGLE.COM for details.", | 40 FindAndCheckEmail("Email SOMEONE@GOOGLE.COM for details.", |
| 41 "SOMEONE@GOOGLE.COM"); | 41 "SOMEONE@GOOGLE.COM"); |
| 42 FindAndCheckEmail("It's \"testadd@company.fr\"", "testadd@company.fr"); | 42 FindAndCheckEmail("It's \"testadd@company.fr\"", "testadd@company.fr"); |
| 43 FindAndCheckEmail("This is not an @emailaddress.com", ""); | 43 FindAndCheckEmail("This is not an @emailaddress.com", ""); |
| 44 FindAndCheckEmail("Apples @2.50 each", ""); | 44 FindAndCheckEmail("Apples @2.50 each", ""); |
| 45 FindAndCheckEmail("Log on to google.com", ""); | 45 FindAndCheckEmail("Log on to google.com", ""); |
| 46 FindAndCheckEmail("Try someone@, they might know.", ""); | 46 FindAndCheckEmail("Try someone@, they might know.", ""); |
| 47 FindAndCheckEmail("No, bob@com is not an email address.", ""); | 47 FindAndCheckEmail("No, bob@com is not an email address.", ""); |
| 48 FindAndCheckEmail("@", ""); | 48 FindAndCheckEmail("@", ""); |
| 49 FindAndCheckEmail("Just bob @google.com", ""); | 49 FindAndCheckEmail("Just bob @google.com", ""); |
| 50 FindAndCheckEmail("Why not call larry@google and ask him.", ""); | 50 FindAndCheckEmail("Why not call larry@google and ask him.", ""); |
| 51 } | 51 } |
| 52 | 52 |
| 53 } // namespace content | 53 } // namespace content |
| OLD | NEW |