Index: bower_components/polymer-test-tools/ci-support.js |
diff --git a/bower_components/polymer-test-tools/ci-support.js b/bower_components/polymer-test-tools/ci-support.js |
deleted file mode 100644 |
index 207ca36e1ce865c1131a337e01575949d7756ce3..0000000000000000000000000000000000000000 |
--- a/bower_components/polymer-test-tools/ci-support.js |
+++ /dev/null |
@@ -1,181 +0,0 @@ |
-(function() { |
- |
- var files; |
- var browserId; |
- |
- var socketEndpoint = window.location.protocol + '//' + window.location.host; |
- var thisFile = 'ci-support.js'; |
- var thisScript = document.querySelector('script[src$="' + thisFile + '"]'); |
- var base = thisScript.src.substring(0, thisScript.src.lastIndexOf('/')+1); |
- |
- var tools = { |
- 'mocha-tdd': [ |
- base + 'mocha/mocha.css', |
- base + 'mocha/mocha.js', |
- base + 'mocha-htmltest.js', |
- function() { |
- var div = document.createElement('div'); |
- div.id = 'mocha'; |
- document.body.appendChild(div); |
- mocha.setup({ui: 'tdd', slow: 1000, timeout: 10000, htmlbase: ''}); |
- } |
- ], |
- 'chai': [ |
- base + 'chai/chai.js' |
- ] |
- }; |
- |
- function addFile() { |
- var file = files.shift(); |
- if (Object.prototype.toString.call(file) == '[object Function]') { |
- file(); |
- nextFile(); |
- } |
- else if (file.slice(-3) == '.js') { |
- var script = document.createElement('script'); |
- script.src = file; |
- script.onload = nextFile; |
- script.onerror = function() { console.error('Could not load ' + script.src); }; |
- document.head.appendChild(script); |
- } else if (file.slice(-4) == '.css') { |
- var sheet = document.createElement('link'); |
- sheet.rel = 'stylesheet'; |
- sheet.href = file; |
- document.head.appendChild(sheet); |
- nextFile(); |
- } |
- } |
- |
- function nextFile() { |
- if (files.length) { |
- addFile(); |
- } else { |
- startMocha(); |
- } |
- } |
- |
- function getQueryVariable(variable) { |
- var query = window.location.search.substring(1); |
- var vars = query.split("&"); |
- for (var i=0;i<vars.length;i++) { |
- var pair = vars[i].split("="); |
- if (pair[0] == variable) { |
- return pair[1]; |
- } |
- } |
- return(false); |
- } |
- |
- function runTests(setup) { |
- browserId = getQueryVariable('browser'); |
- files = []; |
- |
- if (browserId) { |
- files.push(socketEndpoint + '/socket.io/socket.io.js'); |
- } |
- |
- if (typeof setup == 'string') { |
- var xhr = new XMLHttpRequest(); |
- xhr.open('GET', setup); |
- xhr.responseType = 'application/json'; |
- xhr.send(); |
- xhr.onreadystatechange = function() { |
- if (xhr.readyState == 4) { |
- setupTests(JSON.parse(xhr.response)); |
- } |
- }; |
- } else { |
- setupTests(setup); |
- } |
- } |
- |
- function setupTests(setup) { |
- if (setup.tools) { |
- setup.tools.forEach(function(tool) { |
- if (tools[tool]) { |
- files = files.concat(tools[tool]); |
- } else { |
- console.error('Unknown tool: ' + tool); |
- } |
- }); |
- } |
- if (setup.dependencies) { |
- files = files.concat(setup.dependencies.map(function(d) { |
- return '../' + d; |
- })); |
- } |
- files = files.concat(setup.tests); |
- nextFile(); |
- } |
- |
- function startMocha() { |
- var runner = mocha.run(); |
- |
- var socket; |
- if (browserId) { |
- socket = io(socketEndpoint); |
- } |
- |
- var emitEvent = function(event, data) { |
- var payload = {browserId: browserId, event: event, data: data}; |
- console.log('client-event:', payload); |
- if (!socket) return; |
- socket.emit('client-event', payload); |
- }; |
- |
- var getTitles = function(runnable) { |
- var titles = []; |
- while (runnable && runnable.title) { |
- titles.unshift(runnable.title); |
- runnable = runnable.parent; |
- } |
- return titles; |
- }; |
- |
- var getState = function(runnable) { |
- if (runnable.state === 'passed') { |
- return 'passing'; |
- } else if (runnable.state == 'failed') { |
- return 'failing'; |
- } else if (runnable.pending) { |
- return 'pending'; |
- } else { |
- return 'unknown'; |
- } |
- }; |
- |
- var cleanError = function(error) { |
- if (!error) return undefined; |
- return {message: error.message, stack: error.stack}; |
- }; |
- |
- // the runner's start event has already fired. |
- emitEvent('browser-start', { |
- total: runner.total, |
- url: window.location.toString(), |
- }); |
- |
- // We only emit a subset of events that we care about, and follow a more |
- // general event format that is hopefully applicable to test runners beyond |
- // mocha. |
- // |
- // For all possible mocha events, see: |
- // https://github.com/visionmedia/mocha/blob/master/lib/runner.js#L36 |
- runner.on('test', function(test) { |
- emitEvent('test-start', {test: getTitles(test)}); |
- }); |
- runner.on('test end', function(test) { |
- emitEvent('test-end', { |
- state: getState(test), |
- test: getTitles(test), |
- duration: test.duration, |
- error: cleanError(test.err), |
- }); |
- }); |
- runner.on('end', function() { |
- emitEvent('browser-end'); |
- }); |
- } |
- |
- window.runTests = runTests; |
-})(); |