Add spec for sanbox attribute of iframe.

This commit is contained in:
Cheng Zhao 2014-03-04 22:04:41 +08:00
Родитель e3d67a304f
Коммит df86c9dac1
2 изменённых файлов: 26 добавлений и 0 удалений

Просмотреть файл

@ -1,6 +1,9 @@
assert = require 'assert'
path = require 'path'
describe 'chromium feature', ->
fixtures = path.resolve __dirname, 'fixtures'
describe 'heap snapshot', ->
it 'does not crash', ->
process.atomBinding('v8_util').takeHeapSnapshot()
@ -21,3 +24,18 @@ describe 'chromium feature', ->
b = window.open 'about:blank', 'test', 'show=no'
assert.equal b.constructor.name, 'BrowserWindow'
b.destroy()
describe 'iframe with sandbox attribute', ->
it 'can not modify parent', (done) ->
page = path.join fixtures, 'pages', 'change-parent.html'
global.changedByIframe = false
iframe = $('<iframe sandbox="allow-scripts">')
iframe.hide()
iframe.attr 'src', "file://#{page}"
iframe.appendTo 'body'
isChanged = ->
iframe.remove()
assert.equal global.changedByIframe, false
done()
setTimeout isChanged, 30

8
spec/fixtures/pages/change-parent.html поставляемый Normal file
Просмотреть файл

@ -0,0 +1,8 @@
<html>
<body>
<script type="text/javascript" charset="utf-8">
console.log('ready2')
window.parent.changedByIframe = true;
</script>
</body>
</html>