* Provide a fallback mode in the Karma tests which tests
against a local browser (defaults to Firefox) if Sauce Labs
credentials are not set.
This is useful for local testing for contributors who
might not have a Sauce Labs account.
* Add Safari under OS X to the set of Sauce Labs browsers
that the Karma tests are run against, following the merge
of the WombatJS fixes for Safari and Edge.
Although Edge now works under manual testing, automated
testing against Sauce Labs is not yet working for reasons
yet to be determined.
Detect in the test whether overriding of DOM properties
is supported in the current environment and skip testing
for the baseURI override in that case.
This gives us the capability to test the client-side JS
rewriting against a suite of different browsers on different
platforms.
Note that getting Karma running on Travis CI requires some
additional configuration documented at
github.com/karma-runner/karma-sauce-launcher/issues/73
which is not made clear in the original documentation.
In order to run the Karma tests, the Sauce Labs username
and access keys need to be passed in via the SAUCE_USERNAME
and SAUCE_ACCESS_KEYS env vars.
* Add a Karma configuration for unit/integration tests
for the client-side pywb code.
* Add an integration test suite which creates an <iframe> loads
the client-side rewriting code (wombat.js) in it and
then executes a test script.
Since wombat.js monkey-patches the DOM and the exact behavior
of DOM objects varies between browsers, which we want to test,
the suite does not mock the DOM but instead runs
a set of tests in an isolated environment against
the DOM.
* Add Travis config to run the Karma tests