find_in_page_manager_delegate_bridge_unittest.mm 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // Copyright 2019 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #import "ios/web/public/find_in_page/find_in_page_manager_delegate_bridge.h"
  5. #import "ios/web/find_in_page/find_in_page_manager_impl.h"
  6. #import "ios/web/public/test/fakes/crw_fake_find_in_page_manager_delegate.h"
  7. #import "ios/web/public/test/fakes/fake_web_state.h"
  8. #include "testing/platform_test.h"
  9. #if !defined(__has_feature) || !__has_feature(objc_arc)
  10. #error "This file requires ARC support."
  11. #endif
  12. namespace web {
  13. // Test fixture to test FindInPageManagerDelegateBridge class.
  14. class FindInPageManagerDelegateBridgeTest : public PlatformTest {
  15. protected:
  16. FindInPageManagerDelegateBridgeTest()
  17. : delegate_([[CRWFakeFindInPageManagerDelegate alloc] init]),
  18. bridge_(std::make_unique<FindInPageManagerDelegateBridge>(delegate_)) {
  19. FindInPageManagerImpl::CreateForWebState(&fake_web_state_);
  20. }
  21. CRWFakeFindInPageManagerDelegate* delegate_ = nil;
  22. std::unique_ptr<FindInPageManagerDelegateBridge> bridge_;
  23. web::FakeWebState fake_web_state_;
  24. };
  25. // Tests that CRWFindInPageManagerDelegate properly receives values from
  26. // DidHighlightMatches().
  27. TEST_F(FindInPageManagerDelegateBridgeTest, DidHighlightMatches) {
  28. bridge_->DidHighlightMatches(&fake_web_state_, 1, @"foo");
  29. EXPECT_EQ(1, delegate_.matchCount);
  30. EXPECT_EQ(@"foo", delegate_.query);
  31. EXPECT_EQ(&fake_web_state_, delegate_.webState);
  32. }
  33. // Tests that CRWFindInPageManagerDelegate properly receives values from
  34. // DidSelectMatch().
  35. TEST_F(FindInPageManagerDelegateBridgeTest, DidSelectMatch) {
  36. bridge_->DidSelectMatch(&fake_web_state_, 1, @"match context");
  37. EXPECT_EQ(1, delegate_.index);
  38. EXPECT_EQ(&fake_web_state_, delegate_.webState);
  39. EXPECT_EQ(@"match context", delegate_.contextString);
  40. }
  41. } // namespace web