aboutsummaryrefslogtreecommitdiff
path: root/test/unit
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit')
-rw-r--r--test/unit/counter-element.html74
-rw-r--r--test/unit/index.html31
-rw-r--r--test/unit/views-a11y.html82
3 files changed, 187 insertions, 0 deletions
diff --git a/test/unit/counter-element.html b/test/unit/counter-element.html
new file mode 100644
index 0000000..6c59785
--- /dev/null
+++ b/test/unit/counter-element.html
@@ -0,0 +1,74 @@
+<!--
+@license
+Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+-->
+
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>my-view1</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+
+ <script src="../../node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js"></script>
+ <script src="../../node_modules/wct-browser-legacy/browser.js"></script>
+
+ <!-- Import the element to test -->
+ <script type="module" src="../../src/components/counter-element.js"></script>
+ </head>
+ <body>
+ <test-fixture id="basic">
+ <template>
+ <counter-element></counter-element>
+ </template>
+ </test-fixture>
+
+ <script type="module">
+ import 'axe-core/axe.min.js';
+ import {axeReport} from 'pwa-helpers/axe-report.js';
+
+ suite('counter-element tests', function() {
+ let el;
+ setup(function() {
+ el = fixture('basic');
+ });
+
+ test('starts empty', function() {
+ assert.equal(el.clicks, '0');
+ assert.equal(el.value, '0');
+ });
+
+ test('clicking on plus increments', function() {
+ assert.equal(el.clicks, '0');
+ assert.equal(el.value, '0');
+
+ const buttons = el.shadowRoot.querySelectorAll('button');
+ buttons[0].click();
+
+ assert.equal(el.clicks, '1');
+ assert.equal(el.value, '1');
+ });
+
+ test('clicking on minus decrements', function() {
+ assert.equal(el.clicks, '0');
+ assert.equal(el.value, '0');
+
+ const buttons = el.shadowRoot.querySelectorAll('button');
+ buttons[1].click();
+
+ assert.equal(el.clicks, '1');
+ assert.equal(el.value, '-1');
+ });
+
+ test('a11y', function() {
+ return axeReport(el);
+ });
+ });
+ </script>
+ </body>
+</html>
diff --git a/test/unit/index.html b/test/unit/index.html
new file mode 100644
index 0000000..e48f5c2
--- /dev/null
+++ b/test/unit/index.html
@@ -0,0 +1,31 @@
+<!--
+@license
+Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+-->
+
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Tests</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <script src="../../node_modules/wct-browser-legacy/browser.js"></script>
+ </head>
+ <body>
+ <script>
+ WCT.loadSuites([
+ // Load 'my-view1.html' test suite, using native shadow dom
+ 'counter-element.html',
+ // Load 'my-view1.html' test suite, using shadydom
+ 'counter-element.html?wc-shadydom=true&wc-ce=true',
+ 'views-a11y.html',
+ 'views-a11y.html?wc-shadydom=true&wc-ce=true',
+ ]);
+ </script>
+ </body>
+</html>
diff --git a/test/unit/views-a11y.html b/test/unit/views-a11y.html
new file mode 100644
index 0000000..eb2f379
--- /dev/null
+++ b/test/unit/views-a11y.html
@@ -0,0 +1,82 @@
+<!--
+@license
+Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+-->
+
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>views a11y</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+
+ <script>
+ // Redux assumes `process.env.NODE_ENV` exists in the ES module build.
+ // https://github.com/reactjs/redux/issues/2907
+ window.process = { env: { NODE_ENV: 'production' } };
+ </script>
+
+ <script src="../../node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js"></script>
+ <script src="../../node_modules/wct-browser-legacy/browser.js"></script>
+
+ <!-- Import the element to test -->
+ <script type="module" src="../../src/components/my-view1.js"></script>
+ <script type="module" src="../../src/components/my-view2.js"></script>
+ <script type="module" src="../../src/components/my-view3.js"></script>
+ <script type="module" src="../../src/components/my-view404.js"></script>
+ </head>
+ <body>
+ <test-fixture id="view1">
+ <template>
+ <my-view1 active></my-view1>
+ </template>
+ </test-fixture>
+ <test-fixture id="view2">
+ <template>
+ <my-view2 active></my-view2>
+ </template>
+ </test-fixture>
+ <test-fixture id="view3">
+ <template>
+ <my-view3 active></my-view3>
+ </template>
+ </test-fixture>
+ <test-fixture id="view404">
+ <template>
+ <my-view404 active></my-view404>
+ </template>
+ </test-fixture>
+
+ <script type="module">
+ import 'axe-core/axe.min.js';
+ import {axeReport} from 'pwa-helpers/axe-report.js';
+
+ suite('views a11y tests', function() {
+ test('my-view1', function() {
+ const el = fixture('view1');
+ return axeReport(el);
+ });
+
+ test('my-view2', function() {
+ const el = fixture('view2');
+ return axeReport(el);
+ });
+
+ test('my-view3', function() {
+ const el = fixture('view3');
+ return axeReport(el);
+ });
+
+ test('my-view404', function() {
+ const el = fixture('view404');
+ return axeReport(el);
+ });
+ });
+ </script>
+ </body>
+</html>