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 |