Commit 16873ee9 authored by dpapad's avatar dpapad Committed by Chromium LUCI CQ

PDF Viewer: Leverage TestBrowserProxy in MockNavigatorDelegate.

Bug: None
Change-Id: I6df66bd19eab1edff837b340dd63d1ae4040ec61
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2620467
Commit-Queue: dpapad <dpapad@chromium.org>
Reviewed-by: default avatarDaniel Hosseinian <dhoss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#842434}
parent 41114804
...@@ -146,6 +146,7 @@ js_library("fullscreen_test") { ...@@ -146,6 +146,7 @@ js_library("fullscreen_test") {
js_library("navigator_test") { js_library("navigator_test") {
deps = [ deps = [
":test_util", ":test_util",
"../webui:test_browser_proxy.m",
"//chrome/browser/resources/pdf:navigator", "//chrome/browser/resources/pdf:navigator",
"//chrome/browser/resources/pdf:open_pdf_params_parser", "//chrome/browser/resources/pdf:open_pdf_params_parser",
"//chrome/browser/resources/pdf:pdf_scripting_api", "//chrome/browser/resources/pdf:pdf_scripting_api",
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import {TestBrowserProxy} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/_test_resources/webui/test_browser_proxy.m.js';
import {NavigatorDelegate, PdfNavigator, WindowOpenDisposition} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/navigator.js'; import {NavigatorDelegate, PdfNavigator, WindowOpenDisposition} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/navigator.js';
import {OpenPdfParamsParser} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/open_pdf_params_parser.js'; import {OpenPdfParamsParser} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/open_pdf_params_parser.js';
import {PDFScriptingAPI} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/pdf_scripting_api.js'; import {PDFScriptingAPI} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/pdf_scripting_api.js';
...@@ -9,37 +10,28 @@ import {PDFScriptingAPI} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehj ...@@ -9,37 +10,28 @@ import {PDFScriptingAPI} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehj
import {getZoomableViewport, MockDocumentDimensions, MockElement, MockSizer, MockViewportChangedCallback} from './test_util.js'; import {getZoomableViewport, MockDocumentDimensions, MockElement, MockSizer, MockViewportChangedCallback} from './test_util.js';
/** @implements {NavigatorDelegate} */ /** @implements {NavigatorDelegate} */
class MockNavigatorDelegate { class MockNavigatorDelegate extends TestBrowserProxy {
constructor() { constructor() {
this.navigateInCurrentTabCalled = false; super([
this.navigateInNewTabCalled = false; 'navigateInCurrentTab',
this.navigateInNewWindowCalled = false; 'navigateInNewTab',
this.url = undefined; 'navigateInNewWindow',
]);
} }
/** @override */ /** @override */
navigateInCurrentTab(url) { navigateInCurrentTab(url) {
this.navigateInCurrentTabCalled = true; this.methodCalled('navigateInCurrentTab', url);
this.url = url || '<called, but no url set>';
} }
/** @override */ /** @override */
navigateInNewTab(url) { navigateInNewTab(url) {
this.navigateInNewTabCalled = true; this.methodCalled('navigateInNewTab', url);
this.url = url || '<called, but no url set>';
} }
/** @override */ /** @override */
navigateInNewWindow(url) { navigateInNewWindow(url) {
this.navigateInNewWindowCalled = true; this.methodCalled('navigateInNewWindow', url);
this.url = url || '<called, but no url set>';
}
reset() {
this.navigateInCurrentTabCalled = false;
this.navigateInNewTabCalled = false;
this.navigateInNewWindowCalled = false;
this.url = undefined;
} }
} }
...@@ -62,23 +54,26 @@ async function doNavigationUrlTest( ...@@ -62,23 +54,26 @@ async function doNavigationUrlTest(
navigatorDelegate.reset(); navigatorDelegate.reset();
await navigator.navigate(url, disposition); await navigator.navigate(url, disposition);
chrome.test.assertFalse(viewportChangedCallback.wasCalled); chrome.test.assertFalse(viewportChangedCallback.wasCalled);
chrome.test.assertEq(expectedResultUrl, navigatorDelegate.url);
if (expectedResultUrl === undefined) { if (expectedResultUrl === undefined) {
return; return;
} }
let actualUrl = null;
switch (disposition) { switch (disposition) {
case WindowOpenDisposition.CURRENT_TAB: case WindowOpenDisposition.CURRENT_TAB:
chrome.test.assertTrue(navigatorDelegate.navigateInCurrentTabCalled); actualUrl = await navigatorDelegate.whenCalled('navigateInCurrentTab');
break; break;
case WindowOpenDisposition.NEW_BACKGROUND_TAB: case WindowOpenDisposition.NEW_BACKGROUND_TAB:
chrome.test.assertTrue(navigatorDelegate.navigateInNewTabCalled); actualUrl = await navigatorDelegate.whenCalled('navigateInNewTab');
break; break;
case WindowOpenDisposition.NEW_WINDOW: case WindowOpenDisposition.NEW_WINDOW:
chrome.test.assertTrue(navigatorDelegate.navigateInNewWindowCalled); actualUrl = await navigatorDelegate.whenCalled('navigateInNewWindow');
break; break;
default: default:
break; break;
} }
chrome.test.assertEq(expectedResultUrl, actualUrl);
} }
/** /**
...@@ -166,7 +161,7 @@ const tests = [ ...@@ -166,7 +161,7 @@ const tests = [
await navigator.navigate( await navigator.navigate(
url + '#US', WindowOpenDisposition.NEW_BACKGROUND_TAB); url + '#US', WindowOpenDisposition.NEW_BACKGROUND_TAB);
chrome.test.assertFalse(mockCallback.wasCalled); chrome.test.assertFalse(mockCallback.wasCalled);
chrome.test.assertTrue(navigatorDelegate.navigateInNewTabCalled); await navigatorDelegate.whenCalled('navigateInNewTab');
chrome.test.assertEq(0, viewport.position.x); chrome.test.assertEq(0, viewport.position.x);
chrome.test.assertEq(0, viewport.position.y); chrome.test.assertEq(0, viewport.position.y);
...@@ -184,7 +179,7 @@ const tests = [ ...@@ -184,7 +179,7 @@ const tests = [
// navigating results, as this link will open in the same tab. // navigating results, as this link will open in the same tab.
await navigator.navigate(url + '#ABC', WindowOpenDisposition.CURRENT_TAB); await navigator.navigate(url + '#ABC', WindowOpenDisposition.CURRENT_TAB);
chrome.test.assertFalse(mockCallback.wasCalled); chrome.test.assertFalse(mockCallback.wasCalled);
chrome.test.assertTrue(navigatorDelegate.navigateInCurrentTabCalled); await navigatorDelegate.whenCalled('navigateInCurrentTab');
chrome.test.assertEq(0, viewport.position.x); chrome.test.assertEq(0, viewport.position.x);
chrome.test.assertEq(300, viewport.position.y); chrome.test.assertEq(300, viewport.position.y);
chrome.test.succeed(); chrome.test.succeed();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment