102 lines
3.1 KiB
CoffeeScript
102 lines
3.1 KiB
CoffeeScript
assert = require 'assert'
|
|
http = require 'http'
|
|
https = require 'https'
|
|
path = require 'path'
|
|
pem = require 'pem'
|
|
|
|
describe 'chromium feature', ->
|
|
fixtures = path.resolve __dirname, 'fixtures'
|
|
|
|
describe 'heap snapshot', ->
|
|
it 'does not crash', ->
|
|
process.atomBinding('v8_util').takeHeapSnapshot()
|
|
|
|
describe 'sending request of https protocol urls', ->
|
|
it 'does not crash', (done) ->
|
|
@timeout 5000
|
|
options = {
|
|
days: 1,
|
|
selfSigned: true
|
|
}
|
|
pem.createCertificate options, (err, keys) ->
|
|
server = https.createServer {key: keys.serviceKey, cert: keys.certificate}, (req, res) ->
|
|
res.end('hello!')
|
|
server.close()
|
|
done()
|
|
server.listen 4300, '127.0.0.1', ->
|
|
{port} = server.address()
|
|
$.get "https://127.0.0.1:#{port}", (res) ->
|
|
assert.equal res, "hello!"
|
|
|
|
describe 'sending request of http protocol urls', ->
|
|
it 'does not crash', (done) ->
|
|
@timeout 5000
|
|
server = http.createServer (req, res) ->
|
|
res.end()
|
|
server.close()
|
|
done()
|
|
server.listen 0, '127.0.0.1', ->
|
|
{port} = server.address()
|
|
$.get "http://127.0.0.1:#{port}"
|
|
|
|
describe 'navigator.webkitGetUserMedia', ->
|
|
it 'calls its callbacks', (done) ->
|
|
@timeout 5000
|
|
navigator.webkitGetUserMedia audio: true, video: false,
|
|
-> done()
|
|
-> done()
|
|
|
|
describe 'navigator.language', ->
|
|
it 'should not be empty', ->
|
|
assert.notEqual navigator.language, ''
|
|
|
|
describe 'window.open', ->
|
|
it 'returns a BrowserWindowProxy object', ->
|
|
b = window.open 'about:blank', 'test', 'show=no'
|
|
assert.equal b.constructor.name, 'BrowserWindowProxy'
|
|
b.close()
|
|
|
|
describe 'creating a Uint8Array under browser side', ->
|
|
it 'does not crash', ->
|
|
RUint8Array = require('remote').getGlobal 'Uint8Array'
|
|
new RUint8Array
|
|
|
|
describe 'webgl', ->
|
|
it 'can be get as context in canvas', ->
|
|
return if process.platform is 'linux'
|
|
webgl = document.createElement('canvas').getContext 'webgl'
|
|
assert.notEqual webgl, null
|
|
|
|
describe 'web workers', ->
|
|
it 'Worker can work', (done) ->
|
|
worker = new Worker('../fixtures/workers/worker.js')
|
|
message = 'ping'
|
|
worker.onmessage = (event) ->
|
|
assert.equal event.data, message
|
|
worker.terminate()
|
|
done()
|
|
worker.postMessage message
|
|
|
|
it 'SharedWorker can work', (done) ->
|
|
worker = new SharedWorker('../fixtures/workers/shared_worker.js')
|
|
message = 'ping'
|
|
worker.port.onmessage = (event) ->
|
|
assert.equal event.data, message
|
|
done()
|
|
worker.port.postMessage message
|
|
|
|
describe 'iframe', ->
|
|
iframe = null
|
|
|
|
beforeEach ->
|
|
iframe = document.createElement 'iframe'
|
|
|
|
afterEach ->
|
|
document.body.removeChild iframe
|
|
|
|
it 'does not have node integration', (done) ->
|
|
iframe.src = "file://#{fixtures}/pages/set-global.html"
|
|
document.body.appendChild iframe
|
|
iframe.onload = ->
|
|
assert.equal iframe.contentWindow.test, 'undefined undefined undefined'
|
|
done()
|