UNPKG

@cliqz-oss/firefox-client

Version:
125 lines (107 loc) 3.22 kB
var assert = require("assert"), path = require("path"), utils = require("./utils"); var StyleSheets; var styleSheet; var SS_TEXT = [ "main {", " font-family: Georgia, sans-serif;", " color: black;", "}", "", "* {", " padding: 0;", " margin: 0;", "}" ].join("\n"); before(function(done) { utils.loadTab('stylesheets.html', function(aTab) { StyleSheets = aTab.StyleSheets; StyleSheets.getStyleSheets(function(err, sheets) { assert.strictEqual(err, null); styleSheet = sheets[1]; done(); }) }); }); // Stylesheets - getStyleSheets(), addStyleSheet() describe('getStyleSheets()', function() { it('should list all the stylesheets', function(done) { StyleSheets.getStyleSheets(function(err, sheets) { assert.strictEqual(err, null); var hrefs = sheets.map(function(sheet) { assert.ok(sheet.update, "sheet has Stylesheet methods"); return path.basename(sheet.href); }); assert.deepEqual(hrefs, ["null", "stylesheet1.css"]); done(); }) }) }) describe('addStyleSheet()', function() { it('should add a new stylesheet', function(done) { var text = "div { font-weight: bold; }"; StyleSheets.addStyleSheet(text, function(err, sheet) { assert.strictEqual(err, null); assert.ok(sheet.update, "sheet has Stylesheet methods"); assert.equal(sheet.ruleCount, 1); done(); }) }) }) // StyleSheet - update(), toggleDisabled() describe('StyleSheet', function() { it('should have the correct properties', function() { assert.equal(path.basename(styleSheet.href), "stylesheet1.css"); assert.strictEqual(styleSheet.disabled, false); assert.equal(styleSheet.ruleCount, 2); }) }) describe('StyleSheet.getText()', function() { it('should get the text of the style sheet', function(done) { styleSheet.getText(function(err, resp) { assert.strictEqual(err, null); assert.equal(resp, SS_TEXT); done(); }) }) }); describe('StyleSheet.update()', function() { it('should update stylesheet', function(done) { var text = "main { color: red; }"; styleSheet.update(text, function(err, resp) { assert.strictEqual(err, null); // TODO: assert.equal(styleSheet.ruleCount, 1); done(); }) }) }) describe('StyleSheet.toggleDisabled()', function() { it('should toggle disabled attribute', function(done) { assert.deepEqual(styleSheet.disabled, false); styleSheet.toggleDisabled(function(err, resp) { assert.strictEqual(err, null); assert.deepEqual(styleSheet.disabled, true); done(); }) }) it('should fire disabled-changed event', function(done) { styleSheet.toggleDisabled(function(err, resp) { assert.strictEqual(err, null); assert.deepEqual(styleSheet.disabled, false); }) styleSheet.on("disabled-changed", function(disabled) { assert.strictEqual(disabled, false); done(); }) }) }) describe('StyleSheet.getOriginalSources()', function() { it('should get no original sources', function(done) { styleSheet.getOriginalSources(function(err, resp) { assert.strictEqual(err, null); assert.deepEqual(resp, []); done(); }) }) })