Commit dbc71a8b authored by dpapad's avatar dpapad Committed by Commit Bot

PDF Viewer: Enable usage of generated test files in tests.

Adding a simple usage of eventToPromise() to showcase that loading
generated files works, as well as that JS type checking passes.

Bug: 1101146
Change-Id: I3a4ad806b498f1fef1ab92db355d1d4e1af20f3f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2338915Reviewed-by: default avatarLei Zhang <thestig@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Auto-Submit: dpapad <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#796025}
parent 2f671168
...@@ -179,11 +179,11 @@ class PDFExtensionTest : public extensions::ExtensionApiTest { ...@@ -179,11 +179,11 @@ class PDFExtensionTest : public extensions::ExtensionApiTest {
extensions::ExtensionApiTest::TearDownOnMainThread(); extensions::ExtensionApiTest::TearDownOnMainThread();
} }
// Serve paths prefixed with _test_resources/ from chrome/test/data/pdf. // Serve paths prefixed with _test_resources/ from chrome/test/data.
base::FilePath GetTestResourcesParentDir() override { base::FilePath GetTestResourcesParentDir() override {
base::FilePath test_root_path; base::FilePath test_root_path;
base::PathService::Get(chrome::DIR_TEST_DATA, &test_root_path); base::PathService::Get(chrome::DIR_TEST_DATA, &test_root_path);
return test_root_path.AppendASCII("pdf"); return test_root_path;
} }
bool PdfIsExpectedToLoad(const std::string& pdf_file) { bool PdfIsExpectedToLoad(const std::string& pdf_file) {
...@@ -783,7 +783,7 @@ class PDFExtensionJSTest : public PDFExtensionTest { ...@@ -783,7 +783,7 @@ class PDFExtensionJSTest : public PDFExtensionTest {
constexpr char kModuleLoaderTemplate[] = constexpr char kModuleLoaderTemplate[] =
R"(var s = document.createElement('script'); R"(var s = document.createElement('script');
s.type = 'module'; s.type = 'module';
s.src = '_test_resources/%s'; s.src = '_test_resources/pdf/%s';
document.body.appendChild(s);)"; document.body.appendChild(s);)";
ASSERT_TRUE(content::ExecuteScript( ASSERT_TRUE(content::ExecuteScript(
...@@ -2643,7 +2643,7 @@ IN_PROC_BROWSER_TEST_F(PDFExtensionTest, ...@@ -2643,7 +2643,7 @@ IN_PROC_BROWSER_TEST_F(PDFExtensionTest,
PdfLoadsWithExtensionThatInjectsFrame) { PdfLoadsWithExtensionThatInjectsFrame) {
// Load the test extension. // Load the test extension.
const extensions::Extension* test_extension = LoadExtension( const extensions::Extension* test_extension = LoadExtension(
GetTestResourcesParentDir().AppendASCII("extension_injects_iframe")); GetTestResourcesParentDir().AppendASCII("pdf/extension_injects_iframe"));
ASSERT_TRUE(test_extension); ASSERT_TRUE(test_extension);
// Load the PDF. The call to LoadPdf() will return false if the pdf extension // Load the PDF. The call to LoadPdf() will return false if the pdf extension
......
...@@ -758,6 +758,7 @@ if (!is_android) { ...@@ -758,6 +758,7 @@ if (!is_android) {
data_deps = [ data_deps = [
"//chrome:browser_tests_pak", "//chrome:browser_tests_pak",
"//chrome/browser/resources/media/mei_preload:component", "//chrome/browser/resources/media/mei_preload:component",
"//chrome/test/data/webui:modulize",
# TODO(thakis): Why do these need copying in browser_tests? # TODO(thakis): Why do these need copying in browser_tests?
# content_browsertests uses the non-copied files instead. # content_browsertests uses the non-copied files instead.
...@@ -805,6 +806,7 @@ if (!is_android) { ...@@ -805,6 +806,7 @@ if (!is_android) {
"//third_party/simplejson/", "//third_party/simplejson/",
"//third_party/tlslite/", "//third_party/tlslite/",
"//ui/webui/resources/", "//ui/webui/resources/",
"$root_gen_dir/chrome/test/data/webui/test_util.m.js",
] ]
data += js2gtest_js_libraries data += js2gtest_js_libraries
data += metric_integration_jsdeps data += metric_integration_jsdeps
......
...@@ -7,6 +7,7 @@ import("//third_party/closure_compiler/compile_js.gni") ...@@ -7,6 +7,7 @@ import("//third_party/closure_compiler/compile_js.gni")
js_type_check("closure_compile") { js_type_check("closure_compile") {
is_polymer3 = true is_polymer3 = true
closure_flags = default_closure_args + [ closure_flags = default_closure_args + [
"browser_resolver_prefix_replacements=\"chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/_test_resources/=../../chrome/test/data/\"",
"browser_resolver_prefix_replacements=\"chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/=../../chrome/browser/resources/pdf/\"", "browser_resolver_prefix_replacements=\"chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/=../../chrome/browser/resources/pdf/\"",
"js_module_root=../../chrome/test/data/webui/", "js_module_root=../../chrome/test/data/webui/",
"js_module_root=./gen/chrome/test/data/webui/", "js_module_root=./gen/chrome/test/data/webui/",
...@@ -177,6 +178,7 @@ js_library("viewer_pdf_sidenav_test") { ...@@ -177,6 +178,7 @@ js_library("viewer_pdf_sidenav_test") {
js_library("viewer_pdf_toolbar_new_test") { js_library("viewer_pdf_toolbar_new_test") {
deps = [ deps = [
"../webui:test_util.m",
"//chrome/browser/resources/pdf:constants", "//chrome/browser/resources/pdf:constants",
"//chrome/browser/resources/pdf/elements:viewer-pdf-toolbar-new", "//chrome/browser/resources/pdf/elements:viewer-pdf-toolbar-new",
] ]
......
...@@ -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 {eventToPromise} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/_test_resources/webui/test_util.m.js';
import {FittingType} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/constants.js'; import {FittingType} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/constants.js';
import {ViewerPdfToolbarNewElement} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/elements/viewer-pdf-toolbar-new.js'; import {ViewerPdfToolbarNewElement} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/elements/viewer-pdf-toolbar-new.js';
...@@ -122,8 +123,9 @@ const tests = [ ...@@ -122,8 +123,9 @@ const tests = [
const rotateButton = getCrIconButtons(toolbar, 'center')[3]; const rotateButton = getCrIconButtons(toolbar, 'center')[3];
chrome.test.assertEq('pdf:rotate-left', rotateButton.ironIcon); chrome.test.assertEq('pdf:rotate-left', rotateButton.ironIcon);
toolbar.addEventListener('rotate-left', e => chrome.test.succeed()); const promise = eventToPromise('rotate-left', toolbar);
rotateButton.click(); rotateButton.click();
promise.then(() => chrome.test.succeed());
}, },
function testZoomField() { function testZoomField() {
......
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