2013-12-27 06:58:13 +00:00
|
|
|
assert = require 'assert'
|
2014-05-08 01:20:01 +00:00
|
|
|
http = require 'http'
|
2014-03-04 14:04:41 +00:00
|
|
|
path = require 'path'
|
2013-12-27 06:58:13 +00:00
|
|
|
|
2013-12-15 16:31:40 +00:00
|
|
|
describe 'chromium feature', ->
|
2014-03-04 14:04:41 +00:00
|
|
|
fixtures = path.resolve __dirname, 'fixtures'
|
|
|
|
|
2013-12-06 14:23:02 +00:00
|
|
|
describe 'heap snapshot', ->
|
|
|
|
it 'does not crash', ->
|
|
|
|
process.atomBinding('v8_util').takeHeapSnapshot()
|
|
|
|
|
|
|
|
describe 'sending request of http protocol urls', ->
|
2014-05-08 01:20:01 +00:00
|
|
|
it 'does not crash', (done) ->
|
2014-05-07 15:12:24 +00:00
|
|
|
@timeout 5000
|
2014-05-08 01:20:01 +00:00
|
|
|
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}"
|
2013-12-06 14:23:02 +00:00
|
|
|
|
|
|
|
describe 'navigator.webkitGetUserMedia', ->
|
|
|
|
it 'calls its callbacks', (done) ->
|
|
|
|
@timeout 5000
|
|
|
|
navigator.webkitGetUserMedia audio: true, video: false,
|
|
|
|
-> done()
|
|
|
|
-> done()
|
2013-12-27 06:58:13 +00:00
|
|
|
|
|
|
|
describe 'window.open', ->
|
|
|
|
it 'returns a BrowserWindow object', ->
|
|
|
|
b = window.open 'about:blank', 'test', 'show=no'
|
|
|
|
assert.equal b.constructor.name, 'BrowserWindow'
|
|
|
|
b.destroy()
|
2014-03-04 14:04:41 +00:00
|
|
|
|
2014-03-10 14:42:03 +00:00
|
|
|
describe 'iframe', ->
|
|
|
|
page = path.join fixtures, 'pages', 'change-parent.html'
|
|
|
|
|
|
|
|
beforeEach ->
|
2014-03-04 14:04:41 +00:00
|
|
|
global.changedByIframe = false
|
|
|
|
|
2014-03-10 14:42:03 +00:00
|
|
|
it 'can not modify parent by default', (done) ->
|
|
|
|
iframe = $('<iframe>')
|
2014-03-04 14:04:41 +00:00
|
|
|
iframe.hide()
|
|
|
|
iframe.attr 'src', "file://#{page}"
|
|
|
|
iframe.appendTo 'body'
|
|
|
|
isChanged = ->
|
|
|
|
iframe.remove()
|
|
|
|
assert.equal global.changedByIframe, false
|
|
|
|
done()
|
|
|
|
setTimeout isChanged, 30
|
2014-03-10 14:42:03 +00:00
|
|
|
|
|
|
|
it 'can modify parent when sanbox is set to none', (done) ->
|
|
|
|
iframe = $('<iframe sandbox="none">')
|
|
|
|
iframe.hide()
|
|
|
|
iframe.attr 'src', "file://#{page}"
|
|
|
|
iframe.appendTo 'body'
|
|
|
|
isChanged = ->
|
|
|
|
iframe.remove()
|
|
|
|
assert.equal global.changedByIframe, true
|
|
|
|
done()
|
|
|
|
setTimeout isChanged, 30
|
2014-05-14 08:10:33 +00:00
|
|
|
|
|
|
|
describe 'creating a Uint8Array under browser side', ->
|
|
|
|
it 'does not crash', ->
|
|
|
|
RUint8Array = require('remote').getGlobal 'Uint8Array'
|
|
|
|
new RUint8Array
|
2014-05-18 14:37:59 +00:00
|
|
|
|
|
|
|
describe 'webgl', ->
|
|
|
|
it 'can be get as context in canvas', ->
|
|
|
|
webgl = document.createElement('canvas').getContext 'webgl'
|
|
|
|
assert.notEqual webgl, null
|