diff --git a/spec/api-browser-window-spec.coffee b/spec/api-browser-window-spec.coffee index 3e9315a20e6..958bd729580 100644 --- a/spec/api-browser-window-spec.coffee +++ b/spec/api-browser-window-spec.coffee @@ -4,6 +4,7 @@ path = require 'path' remote = require 'remote' http = require 'http' url = require 'url' +auth = require 'basic-auth' BrowserWindow = remote.require 'browser-window' @@ -245,3 +246,26 @@ describe 'browser-window module', -> w.webContents.on 'did-finish-load', -> w.close() w.loadUrl "file://#{fixtures}/pages/f.html" + + describe 'basic auth', -> + it 'should authenticate with correct credentials', (done) -> + ipc = remote.require 'ipc' + server = http.createServer (req, res) -> + action = url.parse(req.url, true).pathname + if action == '/' + credentials = auth(req) + if credentials.name == 'test' and credentials.pass == 'test' + res.end('Authenticated') + server.close() + else if action == '/jquery.js' + js = fs.readFileSync(path.join(__dirname, 'static', 'jquery-2.0.3.min.js')) + res.writeHead(200, {'Content-Type': 'text/javascript'}) + res.end(js, 'utf-8') + server.listen 62342, '127.0.0.1' + ipc.on 'console-message', (e, message) -> + ipc.removeAllListeners 'console-message' + assert.equal message, 'Authenticated' + done() + w.webContents.on 'did-finish-load', -> + w.close() + w.loadUrl "file://#{fixtures}/pages/basic-auth.html" diff --git a/spec/fixtures/pages/basic-auth.html b/spec/fixtures/pages/basic-auth.html new file mode 100644 index 00000000000..81d5bd209ce --- /dev/null +++ b/spec/fixtures/pages/basic-auth.html @@ -0,0 +1,17 @@ + + + + + + diff --git a/spec/package.json b/spec/package.json index d91398382d9..6e9489e601d 100644 --- a/spec/package.json +++ b/spec/package.json @@ -4,6 +4,7 @@ "main": "static/main.js", "version": "0.1.0", "devDependencies": { + "basic-auth": "^1.0.0", "formidable": "1.0.16", "graceful-fs": "3.0.5", "mocha": "2.1.0",