UNPKG

@cliqz-oss/firefox-client

Version:
65 lines (55 loc) 1.76 kB
var assert = require("assert"), utils = require("./utils"); var Console; before(function(done) { utils.loadTab('dom.html', function(aTab) { Console = aTab.Console; done(); }); }); // Console - evaluateJS() describe('evaluateJS()', function() { it('should evaluate expr to number', function(done) { Console.evaluateJS('6 + 7', function(err, resp) { assert.strictEqual(err, null); assert.equal(resp.result, 13); done(); }) }) it('should evaluate expr to boolean', function(done) { Console.evaluateJS('!!window', function(err, resp) { assert.strictEqual(err, null); assert.strictEqual(resp.result, true); done(); }) }) it('should evaluate expr to string', function(done) { Console.evaluateJS('"hello"', function(err, resp) { assert.strictEqual(err, null); assert.equal(resp.result, "hello"); done(); }) }) it('should evaluate expr to JSObject', function(done) { Console.evaluateJS('x = {a: 2, b: "hello"}', function(err, resp) { assert.strictEqual(err, null); assert.ok(resp.result.ownPropertyNames, "result has JSObject methods"); done(); }) }) it('should evaluate to undefined', function(done) { Console.evaluateJS('undefined', function(err, resp) { assert.strictEqual(err, null); assert.ok(resp.result.type, "undefined"); done(); }) }) it('should have exception in response', function(done) { Console.evaluateJS('blargh', function(err, resp) { assert.strictEqual(err, null); assert.equal(resp.exception.class, "Error"); // TODO: error should be JSObject assert.equal(resp.exceptionMessage, "ReferenceError: blargh is not defined"); done(); }) }) })