| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "chrome/browser/chromeos/drive/search_metadata.h" | 5 #include "chrome/browser/chromeos/drive/search_metadata.h" |
| 6 | 6 |
| 7 #include "base/files/scoped_temp_dir.h" | 7 #include "base/files/scoped_temp_dir.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
| 10 #include "base/threading/sequenced_worker_pool.h" | 10 #include "base/threading/sequenced_worker_pool.h" |
| (...skipping 556 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 567 | 567 |
| 568 TEST(SearchMetadataSimpleTest, FindAndHighlight_InTheMiddle) { | 568 TEST(SearchMetadataSimpleTest, FindAndHighlight_InTheMiddle) { |
| 569 std::string highlighted_text; | 569 std::string highlighted_text; |
| 570 EXPECT_TRUE(FindAndHighlight("yo hello, world", "hello", &highlighted_text)); | 570 EXPECT_TRUE(FindAndHighlight("yo hello, world", "hello", &highlighted_text)); |
| 571 EXPECT_EQ("yo <b>hello</b>, world", highlighted_text); | 571 EXPECT_EQ("yo <b>hello</b>, world", highlighted_text); |
| 572 } | 572 } |
| 573 | 573 |
| 574 TEST(SearchMetadataSimpleTest, FindAndHighlight_MultipeMatches) { | 574 TEST(SearchMetadataSimpleTest, FindAndHighlight_MultipeMatches) { |
| 575 std::string highlighted_text; | 575 std::string highlighted_text; |
| 576 EXPECT_TRUE(FindAndHighlight("yoyoyoyoy", "yoy", &highlighted_text)); | 576 EXPECT_TRUE(FindAndHighlight("yoyoyoyoy", "yoy", &highlighted_text)); |
| 577 EXPECT_EQ("<b>yoy</b>o<b>yoy</b>oy", highlighted_text); | 577 // Only the first match is highlighted. |
| 578 EXPECT_EQ("<b>yoy</b>oyoyoy", highlighted_text); |
| 578 } | 579 } |
| 579 | 580 |
| 580 TEST(SearchMetadataSimpleTest, FindAndHighlight_IgnoreCase) { | 581 TEST(SearchMetadataSimpleTest, FindAndHighlight_IgnoreCase) { |
| 581 std::string highlighted_text; | 582 std::string highlighted_text; |
| 582 EXPECT_TRUE(FindAndHighlight("HeLLo", "hello", &highlighted_text)); | 583 EXPECT_TRUE(FindAndHighlight("HeLLo", "hello", &highlighted_text)); |
| 583 EXPECT_EQ("<b>HeLLo</b>", highlighted_text); | 584 EXPECT_EQ("<b>HeLLo</b>", highlighted_text); |
| 584 } | 585 } |
| 585 | 586 |
| 587 TEST(SearchMetadataSimpleTest, FindAndHighlight_IgnoreCaseNonASCII) { |
| 588 std::string highlighted_text; |
| 589 // Find "socra" in "Socra'tes", in Greek. |
| 590 EXPECT_TRUE(FindAndHighlight( |
| 591 "\xCE\xA3\xCF\x89\xCE\xBA\xCF\x81\xCE\xAC\xCF\x84\xCE\xB7\xCF\x82", |
| 592 "\xCF\x83\xCF\x89\xCE\xBA\xCF\x81\xCE\xB1", &highlighted_text)); |
| 593 EXPECT_EQ( |
| 594 "<b>\xCE\xA3\xCF\x89\xCE\xBA\xCF\x81\xCE\xAC</b>\xCF\x84\xCE\xB7\xCF\x82", |
| 595 highlighted_text); |
| 596 } |
| 597 |
| 586 TEST(SearchMetadataSimpleTest, FindAndHighlight_MetaChars) { | 598 TEST(SearchMetadataSimpleTest, FindAndHighlight_MetaChars) { |
| 587 std::string highlighted_text; | 599 std::string highlighted_text; |
| 588 EXPECT_TRUE(FindAndHighlight("<hello>", "hello", &highlighted_text)); | 600 EXPECT_TRUE(FindAndHighlight("<hello>", "hello", &highlighted_text)); |
| 589 EXPECT_EQ("<<b>hello</b>>", highlighted_text); | 601 EXPECT_EQ("<<b>hello</b>>", highlighted_text); |
| 590 } | 602 } |
| 591 | 603 |
| 592 TEST(SearchMetadataSimpleTest, FindAndHighlight_MoreMetaChars) { | 604 TEST(SearchMetadataSimpleTest, FindAndHighlight_MoreMetaChars) { |
| 593 std::string highlighted_text; | 605 std::string highlighted_text; |
| 594 EXPECT_TRUE(FindAndHighlight("a&b&c&d", "b&c", &highlighted_text)); | 606 EXPECT_TRUE(FindAndHighlight("a&b&c&d", "b&c", &highlighted_text)); |
| 595 EXPECT_EQ("a&<b>b&c</b>&d", highlighted_text); | 607 EXPECT_EQ("a&<b>b&c</b>&d", highlighted_text); |
| 596 } | 608 } |
| 597 | 609 |
| 598 } // namespace internal | 610 } // namespace internal |
| 599 } // namespace drive | 611 } // namespace drive |
| OLD | NEW |