spec: Cookie test should not rely on cookie's count
Other apps can also write cookie to `file://` protocol.
This commit is contained in:
parent
886db7a3f2
commit
020ccd8018
1 changed files with 19 additions and 23 deletions
|
@ -5,6 +5,7 @@ path = require 'path'
|
||||||
BrowserWindow = remote.require 'browser-window'
|
BrowserWindow = remote.require 'browser-window'
|
||||||
|
|
||||||
describe 'session module', ->
|
describe 'session module', ->
|
||||||
|
@timeout 10000
|
||||||
fixtures = path.resolve __dirname, 'fixtures'
|
fixtures = path.resolve __dirname, 'fixtures'
|
||||||
w = null
|
w = null
|
||||||
url = "http://127.0.0.1"
|
url = "http://127.0.0.1"
|
||||||
|
@ -22,29 +23,27 @@ describe 'session module', ->
|
||||||
server.listen port, '127.0.0.1', ->
|
server.listen port, '127.0.0.1', ->
|
||||||
{port} = server.address()
|
{port} = server.address()
|
||||||
w.loadUrl "#{url}:#{port}"
|
w.loadUrl "#{url}:#{port}"
|
||||||
w.webContents.on 'did-finish-load', ()->
|
w.webContents.on 'did-finish-load', ->
|
||||||
w.webContents.session.cookies.get {url: url}, (error, cookies) ->
|
w.webContents.session.cookies.get {url: url}, (error, cookies) ->
|
||||||
throw error if error
|
return done(error) if error
|
||||||
assert.equal 1, cookies.length
|
|
||||||
assert.equal 'type', cookies[0].name
|
assert.equal 'type', cookies[0].name
|
||||||
assert.equal 'dummy', cookies[0].value
|
assert.equal 'dummy', cookies[0].value
|
||||||
done()
|
done()
|
||||||
|
|
||||||
it 'should overwrite the existent cookie', (done) ->
|
it 'should over-write the existent cookie', (done) ->
|
||||||
w.loadUrl 'file://' + path.join(fixtures, 'page', 'a.html')
|
w.loadUrl 'file://' + path.join(fixtures, 'page', 'a.html')
|
||||||
w.webContents.on 'did-finish-load', ()->
|
w.webContents.on 'did-finish-load', ->
|
||||||
w.webContents.session.cookies.set {url: url, name: 'type', value: 'dummy2'}, (error) ->
|
w.webContents.session.cookies.set {url: url, name: 'type', value: 'dummy2'}, (error) ->
|
||||||
throw error if error
|
return done(error) if error
|
||||||
w.webContents.session.cookies.get {url: url}, (error, cookies_list) ->
|
w.webContents.session.cookies.get {url: url}, (error, cookies_list) ->
|
||||||
throw error if error
|
return done(error) if error
|
||||||
assert.equal 1, cookies_list.length
|
|
||||||
assert.equal 'type', cookies_list[0].name
|
assert.equal 'type', cookies_list[0].name
|
||||||
assert.equal 'dummy2', cookies_list[0].value
|
assert.equal 'dummy2', cookies_list[0].value
|
||||||
done()
|
done()
|
||||||
|
|
||||||
it 'should set new cookie', (done) ->
|
it 'should set new cookie', (done) ->
|
||||||
w.loadUrl 'file://' + path.join(fixtures, 'page', 'a.html')
|
w.loadUrl 'file://' + path.join(fixtures, 'page', 'a.html')
|
||||||
w.webContents.on 'did-finish-load', ()->
|
w.webContents.on 'did-finish-load', ->
|
||||||
w.webContents.session.cookies.set {url: url, name: 'key', value: 'dummy2'}, (error) ->
|
w.webContents.session.cookies.set {url: url, name: 'key', value: 'dummy2'}, (error) ->
|
||||||
return done(error) if error
|
return done(error) if error
|
||||||
w.webContents.session.cookies.get {url: url}, (error, cookies_list) ->
|
w.webContents.session.cookies.get {url: url}, (error, cookies_list) ->
|
||||||
|
@ -52,23 +51,20 @@ describe 'session module', ->
|
||||||
for cookie in cookies_list
|
for cookie in cookies_list
|
||||||
if cookie.name is 'key'
|
if cookie.name is 'key'
|
||||||
assert.equal 'dummy2', cookie.value
|
assert.equal 'dummy2', cookie.value
|
||||||
done()
|
return done()
|
||||||
return
|
|
||||||
done('Can not find cookie')
|
done('Can not find cookie')
|
||||||
|
|
||||||
it 'should remove cookies', (done) ->
|
it 'should remove cookies', (done) ->
|
||||||
w.loadUrl 'file://' + path.join(fixtures, 'page', 'a.html')
|
w.loadUrl 'file://' + path.join(fixtures, 'page', 'a.html')
|
||||||
w.webContents.on 'did-finish-load', ()->
|
w.webContents.on 'did-finish-load', ->
|
||||||
w.webContents.session.cookies.get {url: url}, (error, cookies_list) ->
|
w.webContents.session.cookies.set {url: url, name: 'key', value: 'dummy2'}, (error) ->
|
||||||
count = 0
|
return done(error) if error
|
||||||
for cookie in cookies_list
|
w.webContents.session.cookies.remove {url: url, name: 'key'}, (error) ->
|
||||||
w.webContents.session.cookies.remove {url: url, name: cookie.name}, (error) ->
|
return done(error) if error
|
||||||
throw error if error
|
w.webContents.session.cookies.get {url: url}, (error, list) ->
|
||||||
++count
|
return done(error) if error
|
||||||
if count == cookies_list.length
|
for cookie in list when cookie.name is 'key'
|
||||||
w.webContents.session.cookies.get {url: url}, (error, cookies_list) ->
|
return done('Cookie not deleted')
|
||||||
throw error if error
|
|
||||||
assert.equal 0, cookies_list.length
|
|
||||||
done()
|
done()
|
||||||
|
|
||||||
describe 'session.clearStorageData(options)', ->
|
describe 'session.clearStorageData(options)', ->
|
||||||
|
|
Loading…
Add table
Reference in a new issue