All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Restore missing dependency 'findup-sync'.
- Upgrade polyserve to pick up recent fixes.
- Upgrade polyserve to ^0.25.2 and add the --module-resolution flag
- Fix #488 - Support .bowerrc directory name override of bower_components, including variants
- Injected libraries are now resolved to correct paths while using the runner. Note: simply serving the test file and running it will attempt to find the files, but they may load the wrong versions (e.g. lodash 4 might load instead of 3)
- Not published: 6.6.0-pre.1 & 6.6.0-pre.2
- Upgrade wct-local to 2.1.0 to get support for headless Chrome.
- web-component-tester: no longer injects
a11ySuite.js
script in--npm
mode. - wct-browser-legacy:
a11ySuite.js
now exports aa11ySuite
reference. Import this reference direction to usea11ySuite()
in npm.
- Upgrade wct-sauce to 2.0.0 to get updated browsers lists to include Safari 11 and Edge 15.
- Fixed #523 WCT ignores the webserver hostname
- Remove
overflow-y: auto
from test runner styling to increase performance.
- Ensure that WCT is installed with compatible versions of wct-local and wct-sauce. This fixes a bug where – if incompatible versions are installed – they aren't able to coordinate shutdown, so WCT hangs after successfully completing a test run.
- Updated package.json:
- Upgraded dependencies async, chai, cleankill, findup-sync, sinon, and socket.io.
- Upgraded devDependencies update-notifier
- Added
define:webserver
hook to enable substitution of the generated express app for the webserver through a callback, to support use cases where a plugin might want to inject handlers or middleware in front of polyserve. - Added support for
proxy: {path: string, target: string}
config which is forwarded topolyserve
.
- Updated wct-browser-legacy to use a module version of a11ySuite to get access to Polymer.dom.flush.
- Updated generated index for webserver to use a11ySuite as a module.
- Updated polyserve to get support for on-the-fly module compilation and
<script type=module>
conversion for browsers that don't support modules.
- Updated the browser.js file for npm case to use test-fixture as JS module instead of html import.
- Updated the integration tests to support running on Sauce via wct-sauce plugin.
- Updated polyserve to 0.22.1 for better compilation support and ES modules in HTML script tags and bug fixes.
- Updated bower.json to reference newly published test-fixture version 3.0.0.
- No longer require
?npm=true
url parameter, asweb-component-tester
andwct-browser-legacy
versions ofbrowser.js
now contain explicit npm/non-npm directives of the formwindow.__wctUseNpm
as a first step towards splitting out the client-side environment-specific config and behavior. - Added support for scoped package names under npm.
- Removed reliance on
document.currentScript
in browser.js because IE11 doesn't have it. (Second reference found)
- Removed reliance on
document.currentScript
in browser.js because IE11 doesn't have it. - To use WCT tests with NPM in browser without WCT (or polymer-cli) running on the commandline, you must include an
?npm=true
or&npm=true
parameter in the URL for the test document; WCT does this automatically when opening its own browsers.
- Added
sinon
as dependency ofsinon-chai
in web context to suppress the npm installation warning/error of unmet peer dependency, even though@polymer/sinonjs
fulfills the runtime dependency andsinon
will be unused. - Set
@polymer/test-fixture
back to ^0.0.3 because of dependency install errors related to yarn's "flat".
- Updated npm browser dependency on
@polymer/test-fixture
v3.0.0-pre.1
- Updated browser dependency to a browser-ready sinon npm package for
wct --npm
option.
- Added an experimental
--npm
flag to support web packages which are installed innode_modules
by npm (instead of installed inbower_components
by Bower. - Builds a
wct-browser-legacy
package directory used to publish npm-specific client support package to npm, suitable for use with devDependencies of custom elements. - Added version flag to CLI. Available using
--version
or-V
.
- Updated package.json dependencies:
- Upgraded @types/gulp
- Moved all @types to devDependencies
- Removed PolymerElements/test-fixture from npm dependencies (is already installed by bower)
- Undo fix for #505, as https://bugs.chromium.org/p/chromium/issues/detail?id=701601 has been fixed and shipped in M58 stable.
- Major changes:
- In an effort to reduce magical behavior and make
wct
easier to understand, it no longer will automatically serve some resources from its ownnpm
dependencies and some resources from the project under test. Instead, all resources are served out of the project under test. This gives the project under test control over its testing dependencies and their versions.- As part of this, wct will also require that the project under test have an installation of the client side web-component-tester bower package.
- This release unifies the behavior of
wct
andpolyserve
, so if your code works without warnings in one it should work in the other.
webserver.webRunnerPath
,webserver.webRunnerContent
, andwebserver.urlPrefix
,webserver.staticContent
were internal properties that were exposed on theconfig
object. They have been refactored and their replacement has been prefixed with an underscore to clarify that they're internal implementation details.- Dropped support for node v4, added support for node v8. See our node version support policy for details.
- In an effort to reduce magical behavior and make
Click for full details
- Update wct-local to remove deprecation warnings on install.
- Remove warning when running wct if it's not installed into
node_modules
.
- The default
waitFor
doesn't rely onHTMLImports.whenReady
orPolymer.whenReady
timings, but only waits for theWebComponentsReady
event to be fired. For a different wait time, setWCT = { waitFor: function(cb){ cb(); }}
.
- [BREAKING] Dropped support for node v4, added support for node v8. See our node version support policy for details.
- Fixed #505 – Work around an issue in Chrome 57 where dynamically inserted HTML Imports did not block subsequent script execution. See https://bugs.chromium.org/p/chromium/issues/detail?id=701601
- In an effort to reduce magical behavior and make
wct
easier to understand, it no longer will automatically serve some resources from its ownnpm
dependencies and some resources from the project under test. Instead, all resources are served out of the project under test. This gives the project under test control over its testing dependencies and their versions.- As part of this, wct will also require that the project under test have an installation of the client side web-component-tester bower package. We recommend that all projects also have a dependency on the npm web-component-tester node module, and in a future release will will require it. This is to makes results more reproducible, and ensures that they'll be protected from future breaking changes.
- This release also unifies the behavior of
wct
andpolyserve
, so if your code works without warnings in one it should work in the other. - Calling
replace(...)
will use sinon to stubdocument.importNode
untilteardown
is called.
- Polymer.dom.flush() call in a11ySuite to ensure lazy dom is loaded
- Added beforeEach parameter to a11ySuite
- Added first pass of variants. Variants different configurations of testing the same code.
- Add support for variant dependencies.
- wct already supports loading dependencies from your
bower_components
directory, mapping them to../
in your code. You can now add variant dependency directories named likebower_components-foo
. When these are detected, tests will then run separately for each such dependency directory, mapping../
appropriately. See README for more details.
- wct already supports loading dependencies from your
- Add support for variant dependencies.
webserver.webRunnerPath
,webserver.webRunnerContent
, andwebserver.urlPrefix
,webserver.staticContent
were internal properties that were exposed on theconfig
object. They have been refactored and their replacement has been prefixed with an underscore to clarify that they're internal implementation details.
- Fixed #392
- Fixed #373 and #383 which were caused by
emitHook
not handling arguments correctly. - Fixed error log message for loading WCT config
- Backport of fix for #505 – Work around an issue in Chrome 57 where dynamically inserted HTML Imports did not block subsequent script execution. See https://bugs.chromium.org/p/chromium/issues/detail?id=701601
- Mocha upgraded to
v3.1.2
. This shouldn't require any new code, but make sure your tests still pass as there were some more subtle changes made to Mocha behavior for v3 (Add IE7 support, update dependencies). See mochajs/mocha#2350 for more info.
- Update bower dependencies to match node dependencies
- Update rollup to 0.25
- Update README to point to webcomponents-lite.js
- Fix
grep
for upstream mocha bug
- Add
httpbin
functionality to checkPOST
requestsPOST
to/httpbin
, response will be contents ofPOST
- Add
ignoreRules
option toa11ySuite
- Array of a11ySuite rules to ignore for that suite
- Example: https://github.com/PolymerElements/paper-tooltip/commit/bf22b1dfaf7f47312ddb7f5415f75ae81fa467bf
- Fix npm 3 serving for lodash and sinon
- Fix serving from
node_modules
for npm 3
- Fix Polymer 0.5 testing
- Remove
bower
as a dependency, serve testing files out ofnode_modules
- Upgrade to
wct-local
2.0, which needs node 0.12+ forlaunchpad
0.5 - Replace esperanto with rollup for building browser bundle
- Integrate test-fixture
- Add ability to cancel running tests from library
- Add accessibility testing with
a11ySuite
and accessibility-developer-tools
.bowerrc
included in the package to ensure that packages don't get placed in unexpected locations.
--verbose
now includes logging fromserve-waterfall
.
- WCT now depends on
wct-sauce ^1.5.0
-
WCT proper no longer periodically executes webdriver commands to ensure remote keepalive. Logic has moved into
wct-sauce
. -
Fix for verbose mode breaking IE10.
-
Mixing TDD & BDD Mocha interfaces is now an error.
-
Calls to
console.error
now generate an error. -
Errors that occur during WCT's initialization are more reliably reported.
-
WCT now treats dependencies installed into
bower_components/
as if they are siblings of the current repo (much like polyserve). -
Browser libraries are no longer bundled with WCT.
-
They are now bower-managed, and by default installed to
bower_components/
withinweb-component-tester
. -
The libraries loaded can be configured via
WCT = {environmentScripts: []}
. -
Massive overhaul of
browser.js
to support this &environment.js
no longer exists.
-
-
Support for newer versions of webcomponents.js (also Polymer 0.8).
-
Mocha configuration can be specified by the
mochaOptions
key in client options (i.e.<script>WCT = {mochaOptions: {}};</script>
). -
Browser options can be specified in
wct.conf.js
via theclientOptions
key. -
WCT now always generates an index when run via the command line.
-
wct.conf.json
can be used as an alternative towct.conf.js
.
Yanked. See 3.0.7
for rolled up notes.
There were changes made, and @nevir failed to annotate them. What a slacker.
What are you, an archaeologist?