nebulab-dropbox
Version:
Client library for the Dropbox API
32 lines (30 loc) • 1.51 kB
text/coffeescript
describe 'Web Worker tests', ->
if typeof window isnt 'undefined' and typeof window.Worker is 'function'
it 'pass', (done) ->
@timeout 3600000 # This test actually runs the whole suite in a Worker.
worker = new Worker window.location.href.replace(/\/html\/.*$/,
'/js/helpers/web_worker_main.js')
worker.onmessage = (event) ->
message = event.data
switch message.type
# NOTE: notifications for passing tests crowd out the (hopefully few)
# failures and make debugging hard, so they're not shown; if
# that becomes desirable, the code below will do the job
# when 'pass'
# console.log 'WebWorker Test passed: ' + message.test.fullTitle
when 'fail'
console.warn 'WebWorker Test failed: ' + message.test.fullTitle
when 'done'
expect(message).to.have.property 'stats'
expect(message.stats).to.have.property 'failures'
expect(message.stats.failures).to.equal 0
expect(message.stats).to.have.property 'passes'
expect(message.stats.passes).to.be.greaterThan 0
done()
worker.onerror = (event) ->
console.warn "WebWorker error: #{event.message} " +
"(#{event.filename}: #{event.lineno})"
event.preventDefault() if event.preventDefault
worker.postMessage type: 'go', testXhrServer: testXhrServer
else
it.skip 'pass'