summaryrefslogtreecommitdiff
path: root/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/test/test-userstyles.js
blob: 50b741e63e2643db7a35ec40ed5287e71193b40d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
'use strict';

const { Loader } = require('sdk/test/loader');

const userstyles = require('userstyles');

const TEST_CSS_URL = module.uri.replace(/\.js$/, '.css');
const TEST_FNF_URL = module.uri.replace(/\.js$/, '.x.css');

// TEST: userstyles.load
exports.testLoad = function(assert) {
  assert.equal(userstyles.registered(TEST_CSS_URL), false, 'css is unregistered.');

  userstyles.load(TEST_CSS_URL);
  assert.ok(userstyles.registered(TEST_CSS_URL), 'css was registered.');

  userstyles.unload(TEST_CSS_URL);
  assert.equal(userstyles.registered(TEST_CSS_URL), false, 'css was unregistered.');
};

// TEST: userstyles.load file not found
exports.testLoadFNF = function(assert) {
  assert.equal(userstyles.registered(TEST_CSS_URL), false, 'css is not registered.');

  try {
    userstyles.load(TEST_FNF_URL);
    assert.fail('trying to load a file that does not exist should throw an error');
 }
 catch(e) {
   assert.pass('trying to load a file that does not exist throws an error');
 }

  assert.equal(userstyles.registered(TEST_CSS_URL), false, 'css was not registered.');
};

// TEST: userstyles.load for 'agent' type
exports.testLoadAgent = function(assert) {
  assert.equal(userstyles.registered(TEST_CSS_URL), false, 'css is not registered.');
  assert.equal(userstyles.registered(TEST_CSS_URL, {type: 'agent'}), false, 'css is not registered.');

  userstyles.load(TEST_CSS_URL, {type: 'AgeNt'});
  assert.ok(userstyles.registered(TEST_CSS_URL, {type: 'AGENT'}), 'css was registered.');

  try {
    userstyles.unload(TEST_CSS_URL);
    assert.fail('unregister did not throw an error');
  }
  catch(e) {
    assert.pass('unregister did throw an error');
  }
  assert.equal(userstyles.registered(TEST_CSS_URL, {type: 'agent'}), true, 'css was not unregistered.');

  userstyles.unload(TEST_CSS_URL, {type: 'agent'});
  assert.equal(userstyles.registered(TEST_CSS_URL, {type: 'agent'}), false, 'css was unregistered.');
};

exports.testUnload = function(assert) {
  assert.equal(userstyles.registered(TEST_CSS_URL), false, 'css is unregistered.');
  let loader = Loader(module);

  loader.require('userstyles').load(TEST_CSS_URL);
  assert.ok(userstyles.registered(TEST_CSS_URL), 'css was registered.');

  loader.unload();
  assert.equal(userstyles.registered(TEST_CSS_URL), false, 'css was unregistered.');
}

exports.testUnloadWithMultipleLoads = function(assert) {
  assert.equal(userstyles.registered(TEST_CSS_URL), false, 'css is unregistered.');
  let loader = Loader(module);

  // first load
  loader.require('userstyles').load(TEST_CSS_URL);
  assert.ok(userstyles.registered(TEST_CSS_URL), 'css was registered.');

  // now unload
  loader.require('userstyles').unload(TEST_CSS_URL);
  assert.equal(userstyles.registered(TEST_CSS_URL), false, 'css is unregistered.');

  // now load again
  loader.require('userstyles').load(TEST_CSS_URL);
  assert.ok(userstyles.registered(TEST_CSS_URL), 'css was registered.');

  // send addon unload message and see if we fail
  loader.unload();
  assert.equal(userstyles.registered(TEST_CSS_URL), false, 'css is unregistered.');
}

exports.testUnloadWithMultipleLoaders = function(assert) {
  assert.equal(userstyles.registered(TEST_CSS_URL), false, 'css is unregistered.');
  let loader = Loader(module);

  // first load
  loader.require('userstyles').load(TEST_CSS_URL);
  assert.ok(userstyles.registered(TEST_CSS_URL), 'css was registered.');

  // now unload
  loader.require('userstyles').unload(TEST_CSS_URL);
  assert.equal(userstyles.registered(TEST_CSS_URL), false, 'css is unregistered.');

  // now load again
  userstyles.load(TEST_CSS_URL);
  assert.ok(userstyles.registered(TEST_CSS_URL), 'css was registered.');

  // send addon unload message and see if we fail
  loader.unload();
  assert.equal(userstyles.registered(TEST_CSS_URL), true, 'css is still registered.');

  userstyles.unload(TEST_CSS_URL);
  assert.equal(userstyles.registered(TEST_CSS_URL), false, 'css was unregistered.');
}

require('sdk/test').run(exports);