Commit 25ca0549 authored by dpapad's avatar dpapad Committed by Commit Bot

PDF Viewer: Remove unnecessary test helper testAsync().

Instead, the "async" keyword is directly used on the functions that are
passed to the testing framework.

Bug: None
Change-Id: Ife6c66a85cf60cf2bc3d9ec47a33d088c44b38ee
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2531861
Commit-Queue: dpapad <dpapad@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#826708}
parent 2271ebc3
......@@ -117,7 +117,6 @@ js_library("material_elements_test") {
js_library("download_controls_test") {
deps = [
":test_util",
"//chrome/browser/resources/pdf:constants",
"//chrome/browser/resources/pdf/elements:viewer-download-controls",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
......@@ -202,7 +201,6 @@ js_library("viewer_pdf_toolbar_new_test") {
js_library("viewer_thumbnail_bar_test") {
deps = [
":test_util",
"../webui:test_util.m",
"//chrome/browser/resources/pdf:controller",
"//chrome/browser/resources/pdf/elements:viewer-thumbnail",
......
......@@ -3,7 +3,7 @@
// found in the LICENSE file.
import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
import {testAsync, waitFor} from './test_util.js';
import {waitFor} from './test_util.js';
window.onerror = e => chrome.test.fail(e.stack);
window.onunhandledrejection = e => chrome.test.fail(e.reason);
......@@ -28,18 +28,16 @@ chrome.test.runTests([
toolbar.shadowRoot.querySelector('#annotate') != null);
chrome.test.succeed();
},
function testEnterAnnotationMode() {
testAsync(async () => {
async function testEnterAnnotationMode() {
chrome.test.assertEq('EMBED', contentElement().tagName);
// Enter annotation mode.
viewer.shadowRoot.querySelector('#toolbar').toggleAnnotation();
await viewer.loaded;
chrome.test.assertEq('VIEWER-INK-HOST', contentElement().tagName);
});
chrome.test.succeed();
},
function testViewportToCameraConversion() {
testAsync(async () => {
async function testViewportToCameraConversion() {
chrome.test.assertTrue(isAnnotationMode());
const inkHost = contentElement();
const cameras = [];
......@@ -74,10 +72,9 @@ chrome.test.runTests([
chrome.test.assertEq(expectation.bottom, actual.bottom);
chrome.test.assertEq(expectation.right, actual.right);
}
});
chrome.test.succeed();
},
function testPenOptions() {
testAsync(async () => {
async function testPenOptions() {
chrome.test.assertTrue(isAnnotationMode());
const inkHost = contentElement();
let tool = null;
......@@ -139,10 +136,9 @@ chrome.test.runTests([
chrome.test.assertEq('highlighter', tool.tool);
chrome.test.assertEq(1, tool.size);
chrome.test.assertEq('#d1c4e9', tool.color);
});
chrome.test.succeed();
},
function testStrokeUndoRedo() {
testAsync(async () => {
async function testStrokeUndoRedo() {
const inkHost = contentElement();
const viewerPdfToolbar = viewer.shadowRoot.querySelector('#toolbar');
const viewerAnnotationsBar =
......@@ -178,10 +174,9 @@ chrome.test.runTests([
redo.click();
await waitFor(() => undo.disabled === false);
chrome.test.assertEq(redo.disabled, true);
});
chrome.test.succeed();
},
function testPointerEvents() {
testAsync(async () => {
async function testPointerEvents() {
chrome.test.assertTrue(isAnnotationMode());
const inkHost = contentElement();
inkHost.resetPenMode();
......@@ -278,10 +273,9 @@ chrome.test.runTests([
{type: 'pointerdown', init: pen},
{type: 'pointerup', init: pen},
]);
});
chrome.test.succeed();
},
function testTouchPanGestures() {
testAsync(async () => {
async function testTouchPanGestures() {
// Ensure that we have an out-of-bounds area.
viewer.viewport_.setZoom(0.5);
chrome.test.assertTrue(isAnnotationMode());
......@@ -341,16 +335,14 @@ chrome.test.runTests([
chrome.test.assertTrue(
prevented, 'in document touch should prevent default');
prevented =
dispatchPointerAndTouchEvents('pointerdown', outOfBoundsTouch);
prevented = dispatchPointerAndTouchEvents('pointerdown', outOfBoundsTouch);
dispatchPointerEvent('pointerup', outOfBoundsTouch);
chrome.test.assertFalse(
prevented, 'out of bounds touch should start gesture');
prevented = dispatchPointerAndTouchEvents('pointerdown', pen);
dispatchPointerEvent('pointerup', pen);
chrome.test.assertTrue(
prevented, 'in document pen should prevent default');
chrome.test.assertTrue(prevented, 'in document pen should prevent default');
prevented = dispatchPointerAndTouchEvents('pointerdown', outOfBoundsPen);
dispatchPointerEvent('pointerup', outOfBoundsPen);
......@@ -363,15 +355,14 @@ chrome.test.runTests([
dispatchPointerEvent('pointerup', touch);
chrome.test.assertFalse(
prevented, 'in document touch in pen mode should start gesture');
});
chrome.test.succeed();
},
function testExitAnnotationMode() {
testAsync(async () => {
async function testExitAnnotationMode() {
chrome.test.assertTrue(isAnnotationMode());
// Exit annotation mode.
viewer.shadowRoot.querySelector('#toolbar').toggleAnnotation();
await viewer.loaded;
chrome.test.assertEq('EMBED', contentElement().tagName);
});
chrome.test.succeed();
},
]);
......@@ -5,8 +5,6 @@
import {eventToPromise, waitBeforeNextRender} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/_test_resources/webui/test_util.m.js';
import {ViewerPdfToolbarNewElement} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/elements/viewer-pdf-toolbar-new.js';
import {testAsync, waitFor} from './test_util.js';
/** @return {!ViewerPdfToolbarNewElement} */
function createToolbar() {
document.body.innerHTML = '';
......@@ -18,20 +16,17 @@ function createToolbar() {
const tests = [
function testHidingAnnotationsExitsAnnotationsMode() {
testAsync(async () => {
const toolbar = createToolbar();
toolbar.toggleAnnotation();
// This is normally done by the parent in response to the event fired by
// toggleAnnotation().
toolbar.annotationMode = true;
await toolbar.addEventListener('display-annotations-changed', async e => {
toolbar.addEventListener('display-annotations-changed', async e => {
chrome.test.assertFalse(e.detail);
await waitFor(() => toolbar.annotationMode === false);
chrome.test.succeed();
});
toolbar.shadowRoot.querySelector('#show-annotations-button').click();
});
},
function testEnteringAnnotationsModeShowsAnnotations() {
const toolbar = createToolbar();
......@@ -58,14 +53,13 @@ const tests = [
toolbar.shadowRoot.querySelector('#two-page-view-button').disabled);
chrome.test.succeed();
},
function testRotateOrTwoUpViewTriggersDialog() {
async function testRotateOrTwoUpViewTriggersDialog() {
const toolbar = createToolbar();
toolbar.annotationAvailable = true;
toolbar.pdfAnnotationsEnabled = true;
toolbar.rotated = false;
toolbar.twoUpViewEnabled = false;
testAsync(async () => {
await waitBeforeNextRender(toolbar);
chrome.test.assertFalse(toolbar.annotationMode);
......@@ -90,8 +84,7 @@ const tests = [
chrome.test.assertFalse(annotateButton.disabled);
annotateButton.click();
await waitBeforeNextRender(toolbar);
dialog =
toolbar.shadowRoot.querySelector('viewer-annotations-mode-dialog');
dialog = toolbar.shadowRoot.querySelector('viewer-annotations-mode-dialog');
chrome.test.assertTrue(dialog.isOpen());
// When "Edit" is clicked, the toolbar should fire
......@@ -108,10 +101,9 @@ const tests = [
chrome.test.assertFalse(annotateButton.disabled);
annotateButton.click();
await waitBeforeNextRender(toolbar);
dialog =
toolbar.shadowRoot.querySelector('viewer-annotations-mode-dialog');
dialog = toolbar.shadowRoot.querySelector('viewer-annotations-mode-dialog');
chrome.test.assertTrue(dialog.isOpen());
});
chrome.test.succeed();
}
];
......
......@@ -7,14 +7,12 @@ import {ViewerDownloadControlsElement} from 'chrome-extension://mhjfbmdgcfjbbpae
import {listenOnce} from 'chrome://resources/js/util.m.js';
import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {testAsync} from './test_util.js';
const tests = [
/**
* Test that the toolbar shows an option to download the edited PDF if
* available.
*/
function testEditedPdfOption() {
async function testEditedPdfOption() {
document.body.innerHTML = '';
/** @type {!ViewerDownloadControlsElement} */
const downloadsElement = /** @type {!ViewerDownloadControlsElement} */ (
......@@ -50,7 +48,6 @@ const tests = [
downloadsElement, 'download-menu-shown-for-testing', resolve));
};
testAsync(async () => {
// No edits, and feature is off.
let onSave = whenSave();
downloadButton.click();
......@@ -123,7 +120,7 @@ const tests = [
chrome.test.assertFalse(actionMenu.open);
chrome.test.assertEq(SaveRequestType.ORIGINAL, requestType);
chrome.test.assertEq(6, numRequests);
});
chrome.test.succeed();
},
];
......
......@@ -7,7 +7,7 @@ import {NavigatorDelegate, PdfNavigator, WindowOpenDisposition} from 'chrome-ext
import {OpenPdfParamsParser} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/open_pdf_params_parser.js';
import {PDFScriptingAPI} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/pdf_scripting_api.js';
import {getZoomableViewport, MockDocumentDimensions, MockElement, MockSizer, MockViewportChangedCallback, testAsync} from './test_util.js';
import {getZoomableViewport, MockDocumentDimensions, MockElement, MockSizer, MockViewportChangedCallback} from './test_util.js';
/** @implements {NavigatorDelegate} */
class MockNavigatorDelegate {
......@@ -121,7 +121,7 @@ const tests = [
* Test navigation within the page, opening a url in the same tab and
* opening a url in a new tab.
*/
function testNavigate() {
async function testNavigate() {
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback();
......@@ -153,7 +153,6 @@ const tests = [
viewport.setDocumentDimensions(documentDimensions);
viewport.setZoom(1);
testAsync(async () => {
mockCallback.reset();
let navigatingDone =
eventToPromise('navigate-for-testing', navigator.getEventTarget());
......@@ -200,7 +199,7 @@ const tests = [
chrome.test.assertTrue(navigatorDelegate.navigateInCurrentTabCalled);
chrome.test.assertEq(0, viewport.position.x);
chrome.test.assertEq(300, viewport.position.y);
});
chrome.test.succeed();
},
/**
* Test opening a url in the same tab, in a new tab, and in a new window for
......
......@@ -323,16 +323,6 @@ export function getZoomableViewport(
return viewport;
}
/** @param {Function} f */
export async function testAsync(f) {
try {
await f();
chrome.test.succeed();
} catch (e) {
chrome.test.fail(e.stack);
}
}
/**
* Async spin until predicate() returns true.
* @param {function(): boolean} predicate
......
......@@ -10,8 +10,6 @@ import {FocusOutlineManager} from 'chrome://resources/js/cr/ui/focus_outline_man
import {keyDownOn} from 'chrome://resources/polymer/v3_0/iron-test-helpers/mock-interactions.js';
import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {testAsync} from './test_util.js';
/** @return {!ViewerThumbnailBarElement} */
function createThumbnailBar() {
document.body.innerHTML = '';
......@@ -62,7 +60,7 @@ function whenThumbnailCleared(thumbnail) {
const tests = [
// Test that the thumbnail bar has the correct number of thumbnails and
// correspond to the right pages.
function testThumbnails() {
async function testThumbnails() {
const testDocLength = 10;
const thumbnailBar = createThumbnailBar();
thumbnailBar.docLength = testDocLength;
......@@ -75,7 +73,6 @@ const tests = [
thumbnailBar.shadowRoot.querySelectorAll('viewer-thumbnail'));
chrome.test.assertEq(testDocLength, thumbnails.length);
testAsync(async () => {
/**
* @param {!ViewerThumbnailElement} thumbnail
* @param {number} expectedPageIndex
......@@ -97,9 +94,9 @@ const tests = [
chrome.test.assertEq(i + 1, thumbnail.pageNumber);
await testNavigateThumbnail(thumbnail, i);
}
});
chrome.test.succeed();
},
function testTriggerPaint() {
async function testTriggerPaint() {
const thumbnailBarHeight = getTestThumbnailBarHeight();
// Clear HTML for just the thumbnail bar.
......@@ -122,7 +119,6 @@ const tests = [
/** @type {!NodeList<!ViewerThumbnailElement>} */ (
thumbnailBar.shadowRoot.querySelectorAll('viewer-thumbnail'));
testAsync(async () => {
// Only two thumbnails should be "painted" upon load.
const whenRequestedPaintingFirst = [
whenThumbnailPainted(thumbnails[0]),
......@@ -166,16 +162,15 @@ const tests = [
for (let i = 0; i < thumbnails.length; i++) {
chrome.test.assertEq(i > 1, thumbnails[i].isPainted());
}
});
chrome.test.succeed();
},
function testThumbnailForwardFocus() {
async function testThumbnailForwardFocus() {
const testDocLength = 10;
const thumbnailBar = createThumbnailBar();
thumbnailBar.docLength = testDocLength;
flush();
testAsync(async () => {
/**
* @param {number} pageNumber
* @return {!Promise}
......@@ -207,16 +202,15 @@ const tests = [
activePage = 10;
thumbnailBar.activePage = activePage;
await waitForwardFocus(activePage);
});
chrome.test.succeed();
},
function testThumbnailUpDownFocus() {
async function testThumbnailUpDownFocus() {
const testDocLength = 3;
const thumbnailBar = createThumbnailBar();
thumbnailBar.docLength = testDocLength;
flush();
testAsync(async () => {
/**
* @param {!ViewerThumbnailElement} fromThumbnail
* @param {boolean} up
......@@ -262,7 +256,7 @@ const tests = [
focusedIndex -= 1;
chrome.test.assertEq(
thumbnails[focusedIndex], thumbnailBar.shadowRoot.activeElement);
});
chrome.test.succeed();
},
function testThumbnailLeftRightSelect() {
const testDocLength = 2;
......@@ -291,7 +285,7 @@ const tests = [
chrome.test.succeed();
});
},
function testReactToNoPlugin() {
async function testReactToNoPlugin() {
const thumbnailBar = createThumbnailBar();
thumbnailBar.docLength = 1;
......@@ -308,7 +302,6 @@ const tests = [
/** @type {!ViewerThumbnailElement} */ (
thumbnailBar.shadowRoot.querySelector('viewer-thumbnail'));
testAsync(async () => {
const whenPaintTriggered = whenThumbnailPainted(thumbnail).then(() => {
// The thumbnail shouldn't paint when the controller is inactive.
if (!pluginController.isActive) {
......@@ -328,7 +321,7 @@ const tests = [
pluginController.isActive = false;
chrome.test.assertTrue(scroller.hidden);
await whenThumbnailCleared(thumbnail);
});
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