| Index: ios/web_view/test/chrome_web_view_kvo_inttest.mm
|
| diff --git a/ios/web_view/test/chrome_web_view_kvo_inttest.mm b/ios/web_view/test/chrome_web_view_kvo_inttest.mm
|
| index 4425439ebad39f05ea02b05e8a6aebc112f732cf..cf9d4ef6304fb80fa6f6b86dfb7de2e64fa7682f 100644
|
| --- a/ios/web_view/test/chrome_web_view_kvo_inttest.mm
|
| +++ b/ios/web_view/test/chrome_web_view_kvo_inttest.mm
|
| @@ -6,8 +6,10 @@
|
| #import <Foundation/Foundation.h>
|
|
|
| #import "base/mac/scoped_nsobject.h"
|
| -#import "ios/web_view/test/boolean_observer.h"
|
| +#include "base/strings/stringprintf.h"
|
| +#import "base/strings/sys_string_conversions.h"
|
| #import "ios/web_view/test/chrome_web_view_test.h"
|
| +#import "ios/web_view/test/observer.h"
|
| #import "ios/web_view/test/web_view_interaction_test_util.h"
|
| #import "net/base/mac/url_conversions.h"
|
| #include "testing/gtest_mac.h"
|
| @@ -37,10 +39,10 @@ namespace ios_web_view {
|
|
|
| // Tests that CWVWebView correctly reports |canGoBack| and |canGoForward| state.
|
| TEST_F(ChromeWebViewKvoTest, CanGoBackForward) {
|
| - BooleanObserver* back_observer = [[BooleanObserver alloc] init];
|
| + Observer* back_observer = [[Observer alloc] init];
|
| [back_observer setObservedObject:web_view_ keyPath:@"canGoBack"];
|
|
|
| - BooleanObserver* forward_observer = [[BooleanObserver alloc] init];
|
| + Observer* forward_observer = [[Observer alloc] init];
|
| [forward_observer setObservedObject:web_view_ keyPath:@"canGoForward"];
|
|
|
| ASSERT_FALSE(back_observer.lastValue);
|
| @@ -51,11 +53,11 @@ TEST_F(ChromeWebViewKvoTest, CanGoBackForward) {
|
|
|
| std::string page_2_html =
|
| "<a id='link_2' href='" + page_3_url.spec() + "'>Link 2</a>";
|
| - GURL page_2_url = GetUrlForPageWithHTMLBody(page_2_html);
|
| + GURL page_2_url = GetUrlForPageWithHtmlBody(page_2_html);
|
|
|
| std::string page_1_html =
|
| "<a id='link_1' href='" + page_2_url.spec() + "'>Link 1</a>";
|
| - GURL page_1_url = GetUrlForPageWithHTMLBody(page_1_html);
|
| + GURL page_1_url = GetUrlForPageWithHtmlBody(page_1_html);
|
|
|
| LoadUrl(web_view_, net::NSURLWithGURL(page_1_url));
|
| // Loading initial URL should not affect back/forward navigation state.
|
| @@ -93,4 +95,33 @@ TEST_F(ChromeWebViewKvoTest, CanGoBackForward) {
|
| EXPECT_TRUE([forward_observer.lastValue boolValue]);
|
| }
|
|
|
| +// Tests that CWVWebView correctly reports current |title|.
|
| +TEST_F(ChromeWebViewKvoTest, Title) {
|
| + Observer* observer = [[Observer alloc] init];
|
| + [observer setObservedObject:web_view_ keyPath:@"title"];
|
| +
|
| + NSString* page_2_title = @"Page 2";
|
| + GURL page_2_url =
|
| + GetUrlForPageWithTitle(base::SysNSStringToUTF8(page_2_title));
|
| +
|
| + NSString* page_1_title = @"Page 1";
|
| + std::string page_1_html = base::StringPrintf(
|
| + "<a id='link_1' href='%s'>Link 1</a>", page_2_url.spec().c_str());
|
| + GURL page_1_url = GetUrlForPageWithTitleAndBody(
|
| + base::SysNSStringToUTF8(page_1_title), page_1_html);
|
| +
|
| + LoadUrl(web_view_, net::NSURLWithGURL(page_1_url));
|
| + EXPECT_NSEQ(page_1_title, observer.lastValue);
|
| +
|
| + // Navigate to page 2.
|
| + EXPECT_TRUE(test::TapChromeWebViewElementWithId(web_view_, @"link_1"));
|
| + WaitForPageLoadCompletion(web_view_);
|
| + EXPECT_NSEQ(page_2_title, observer.lastValue);
|
| +
|
| + // Navigate back to page 1.
|
| + [web_view_ goBack];
|
| + WaitForPageLoadCompletion(web_view_);
|
| + EXPECT_NSEQ(page_1_title, observer.lastValue);
|
| +}
|
| +
|
| } // namespace ios_web_view
|
|
|