diff options
Diffstat (limited to 'test/unit')
| -rw-r--r-- | test/unit/counter-element.html | 74 | ||||
| -rw-r--r-- | test/unit/index.html | 31 | ||||
| -rw-r--r-- | test/unit/views-a11y.html | 82 |
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> |
