Fix M80 issues for tests
Change-Id: Ibcf6c43c9e4aef31f7c98290cbb22e1e5744f469
diff --git a/gr-checks/gr-checkers-list_test.html b/gr-checks/gr-checkers-list_test.html
index 177e37e..810be7f 100644
--- a/gr-checks/gr-checkers-list_test.html
+++ b/gr-checks/gr-checkers-list_test.html
@@ -4,10 +4,27 @@
<script src="/bower_components/web-component-tester/browser.js"></script>
<link rel="import" href="/bower_components/polymer/polymer.html">
+<script src="test-pre-setup.js"></script>
<title>gr-checkers-list-view</title>
<link rel="import" href="gr-checkers-list.html">
+<!-- Gr-overlay does not exist in the test framework
+It is expected to be provided by Gerrit core -->
+<dom-module id="gr-overlay">
+ <template>
+ </template>
+ <script>
+ readyToTest().then(() => {
+ Polymer({
+ is: 'gr-overlay',
+ refit() {},
+ open() {return Promise.resolve({})},
+ });
+ })
+ </script>
+</dom-module>
+
<test-fixture id="basic">
<template is="dom-template">
<gr-checkers-list
@@ -165,7 +182,8 @@
</script>
<script>
- suite('gr-checkers-list tests', () => {
+ suite('gr-checkers-list tests', async () => {
+ await readyToTest();
let element;
let sandbox;
let fetchJSONSpy; let fetchJSONResolve;
@@ -213,6 +231,7 @@
suite('with checkers', () => {
setup(done => {
fetchJSONResolve(CHECKERS);
+ element._showConfigureOverlay();
flush(done);
});
test('renders correct number of checkers', () => {
diff --git a/gr-checks/gr-checks-change-list-header-view_test.html b/gr-checks/gr-checks-change-list-header-view_test.html
index 5724fb7..b805905 100644
--- a/gr-checks/gr-checks-change-list-header-view_test.html
+++ b/gr-checks/gr-checks-change-list-header-view_test.html
@@ -4,6 +4,7 @@
<script src="/bower_components/web-component-tester/browser.js"></script>
<link rel="import" href="/bower_components/polymer/polymer.html">
+<script src="test-pre-setup.js"></script>
<title>gr-checks-change-list-header-view</title>
<link rel="import" href="gr-checks-change-list-header-view.html">
@@ -15,7 +16,8 @@
</test-fixture>
<script>
- suite('gr-checks-change-list-header-view tests', () => {
+ suite('gr-checks-change-list-header-view tests', async () => {
+ await readyToTest();
let element;
let sandbox;
diff --git a/gr-checks/gr-checks-change-list-item-cell-view_test.html b/gr-checks/gr-checks-change-list-item-cell-view_test.html
index f01b7d1..9659777 100644
--- a/gr-checks/gr-checks-change-list-item-cell-view_test.html
+++ b/gr-checks/gr-checks-change-list-item-cell-view_test.html
@@ -4,6 +4,7 @@
<script src="/bower_components/web-component-tester/browser.js"></script>
<link rel="import" href="/bower_components/polymer/polymer.html">
+<script src="test-pre-setup.js"></script>
<title>gr-checks-change-list-item-cell-view</title>
<link rel="import" href="gr-checks-change-list-item-cell-view.html">
@@ -15,7 +16,8 @@
</test-fixture>
<script>
- suite('gr-checks-change-list-item-cell-view tests', () => {
+ suite('gr-checks-change-list-item-cell-view tests', async () => {
+ await readyToTest();
let element;
let sandbox;
diff --git a/gr-checks/gr-checks-change-view-tab-header-view_test.html b/gr-checks/gr-checks-change-view-tab-header-view_test.html
index cdcff23..62fef1b 100644
--- a/gr-checks/gr-checks-change-view-tab-header-view_test.html
+++ b/gr-checks/gr-checks-change-view-tab-header-view_test.html
@@ -5,6 +5,7 @@
<script src="/bower_components/web-component-tester/browser.js"></script>
<link rel="import" href="/bower_components/polymer/polymer.html">
+<script src="test-pre-setup.js"></script>
<title>gr-checks-change-view-tab-header-view</title>
<link rel="import" href="gr-checks-change-view-tab-header-view.html">
@@ -16,7 +17,8 @@
</test-fixture>
<script>
- suite('gr-checks-change-view-tab-header-view tests', () => {
+ suite('gr-checks-change-view-tab-header-view tests', async () => {
+ await readyToTest();
let element;
let sandbox;
diff --git a/gr-checks/gr-checks-chip-view_test.html b/gr-checks/gr-checks-chip-view_test.html
index e17d772..e926e60 100644
--- a/gr-checks/gr-checks-chip-view_test.html
+++ b/gr-checks/gr-checks-chip-view_test.html
@@ -4,6 +4,7 @@
<script src="/bower_components/web-component-tester/browser.js"></script>
<link rel="import" href="/bower_components/polymer/polymer.html">
+<script src="test-pre-setup.js"></script>
<title>gr-checks-chip-view</title>
<link rel="import" href="gr-checks-chip-view.html">
@@ -31,7 +32,8 @@
state: 'FAILED',
};
- suite('gr-checks-chip-view tests', () => {
+ suite('gr-checks-chip-view tests', async () => {
+ await readyToTest();
let element;
let sandbox;
let getChecksSpy;
diff --git a/gr-checks/gr-checks-item_test.html b/gr-checks/gr-checks-item_test.html
index 4d479bb..011e34a 100644
--- a/gr-checks/gr-checks-item_test.html
+++ b/gr-checks/gr-checks-item_test.html
@@ -1,9 +1,10 @@
<!DOCTYPE html>
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
-<script src="../../../bower_components/webcomponentsjs/webcomponents.js"></script>
+<script src="../../../bower_components/webcomponentsjs/webcomponents-lite.min.js"></script>
<script src="/bower_components/web-component-tester/browser.js"></script>
<script src="../../../bower_components/moment/min/moment.min.js"></script>
<link rel="import" href="/bower_components/polymer/polymer.html">
+<script src="test-pre-setup.js"></script>
<title>gr-checks-item</title>
<link rel="import" href="gr-checks-item.html">
@@ -18,7 +19,8 @@
</test-fixture>
<script>
- suite('gr-checks-item tests', () => {
+ suite('gr-checks-item tests', async () => {
+ await readyToTest();
let element;
let sandbox;
let retryCheckSpy;
diff --git a/gr-checks/gr-checks-status_test.html b/gr-checks/gr-checks-status_test.html
index f4c5fab..a2ccac7 100644
--- a/gr-checks/gr-checks-status_test.html
+++ b/gr-checks/gr-checks-status_test.html
@@ -4,6 +4,7 @@
<script src="/bower_components/web-component-tester/browser.js"></script>
<link rel="import" href="/bower_components/polymer/polymer.html">
+<script src="test-pre-setup.js"></script>
<title>gr-checks-item</title>
<link rel="import" href="gr-checks-status.html">
@@ -15,7 +16,8 @@
</test-fixture>
<script>
- suite('gr-checks-status tests', () => {
+ suite('gr-checks-status tests', async () => {
+ await readyToTest();
let sandbox;
setup(() => {
diff --git a/gr-checks/gr-checks-view_test.html b/gr-checks/gr-checks-view_test.html
index 271d055..d9e44a0 100644
--- a/gr-checks/gr-checks-view_test.html
+++ b/gr-checks/gr-checks-view_test.html
@@ -4,6 +4,7 @@
<script src="/bower_components/web-component-tester/browser.js"></script>
<link rel="import" href="/bower_components/polymer/polymer.html">
+<script src="test-pre-setup.js"></script>
<script src="../bower_components/iron-test-helpers/mock-interactions.js"></script>
@@ -16,10 +17,12 @@
<template>
</template>
<script>
- Polymer({
- is: 'gr-overlay',
- refit() {},
- });
+ readyToTest().then(() => {
+ Polymer({
+ is: 'gr-overlay',
+ refit() {},
+ });
+ })
</script>
</dom-module>
@@ -31,7 +34,7 @@
get-checks="[[getChecks]]"
is-configured="[[isConfigured]]"
plugin="[[plugin]]"
- retry-check="[[retryCheck]]"
+ retry-check="[[retryCheck]]">
</gr-checks-view>
</template>
</test-fixture>
@@ -98,9 +101,10 @@
const CHECKS_POLL_INTERVAL_MS = 60 * 1000;
const STATE_ALL = 'ALL';
- const Statuses = window.Gerrit.Checks.Statuses;
- suite('gr-checks-view tests', () => {
+ suite('gr-checks-view tests', async () => {
+ await readyToTest();
+ const Statuses = window.Gerrit.Checks.Statuses;
let element;
let sandbox;
let getChecksSpy;
diff --git a/gr-checks/test-pre-setup.js b/gr-checks/test-pre-setup.js
new file mode 100644
index 0000000..edd1d64
--- /dev/null
+++ b/gr-checks/test-pre-setup.js
@@ -0,0 +1,32 @@
+/**
+ * @license
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* Taken from gerrit/polygerrit-ui/app/test/test-pre-setup.js
+This file should be kept in sync with the polygerrit version of the file
+*/
+
+/**
+ * After M80, htmlImports has been removed and the polyfill from
+ * webcomponents can only support async html imports unlike
+ * native htmlImports which loads htmls synchronously.
+ */
+window.readyToTest = () => Promise.race([
+ new Promise(resolve =>
+ window.addEventListener('HTMLImportsLoaded', resolve)),
+ // timeout after 5s, the test timeout is 10s
+ new Promise(resolve => setTimeout(resolve, 5000)),
+]);