/*eslint strict:0*/ var server = require('webserver').create(); var service = server.listen(8090, function(request, response) { response.statusCode = 200; response.headers = { 'Content-Language': 'en', 'Content-Type': 'text/html', 'Date': new Date().toUTCString() }; if (request.url.indexOf('popup') === -1) { response.write("ok " + request.headers["User-Agent"] ); } else { response.write('' + '' + ' ' + ' ' + ' CasperJS test popup' + ' ' + ' ' + ' new window' + ' close' + ' ' + ' ' + ''); } response.close(); }); casper.test.begin('Casper.headers.get() using file protocol', 1, function(test) { casper.start('file://' + phantom.casperPath + 'tests/site/index.html', function(response) { test.assertEquals(response, {data: null}, 'Empty http response on local page'); }).run(function() { test.done(); }); }); casper.test.begin('Casper.headers.get() using http protocol', 3, function(test) { casper.start('http://localhost:8090/', function(response) { var headers = response.headers; test.assertEquals(headers.get('Content-Language'), 'en', 'Checking existing header (case sensitive)'); test.assertEquals(headers.get('content-language'), 'en', 'Checking existing header (case insensitive)'); test.assertEquals(headers.get('X-Is-Troll'), null, 'Checking unexisting header'); }).run(function() { test.done(); }); }); casper.test.begin('Casper.headers.check() checks useraagent in popup', 1, function(test) { casper.userAgent('ploop').start('http://localhost:8090/popup', function(response) { var headers = response.headers; casper.waitForPopup('index.html', function() { casper.withPopup('index.html', function(){ test.assertMatch(casper.getPlainText(),/ploop/,'user-agent updated in popup request'); }); }); }).run(function() { server.close(); test.done(); }); });