summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/test/test-unit-test-finder.js
blob: 83db5c7226322934345291e6c4ba264e370de5f9 (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
/* 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 { makeFilters } = require("sdk/deprecated/unit-test-finder");

const testFiles = [ "test-clipboard", "test-timers" ]
const testMethods = [ "test set clipboard", "test setTimeout" ]

exports["test makeFilters no options"] = (assert) => {
  let { fileFilter, testFilter } = makeFilters();
  testFiles.forEach(f => assert.ok(fileFilter(f), "using no options on filename " + f + " works"));
  testMethods.forEach(m => assert.ok(testFilter(m), "using no options on method name " + m + " works"));
}

exports["test makeFilters no filter"] = (assert) => {
  let { fileFilter, testFilter } = makeFilters({});
  testFiles.forEach(f => assert.ok(fileFilter(f), "using no options on filename " + f + " works"));
  testMethods.forEach(m => assert.ok(testFilter(m), "using no options on method name " + m + " works"));
}

exports["test makeFilters no method filter"] = (assert) => {
  let { fileFilter, testFilter } = makeFilters({ filter: "i" });
  testFiles.forEach(f => assert.ok(fileFilter(f), "using filter 'i' on filename " + f + " works"));
  testMethods.forEach(m => assert.ok(testFilter(m), "using filter 'i' on method name " + m + " works"));

  ({ fileFilter, testFilter } = makeFilters({ filter: "i:" }));
  testFiles.forEach(f => assert.ok(fileFilter(f), "using filter 'i:' on filename " + f + " works"));
  testMethods.forEach(m => assert.ok(testFilter(m), "using filter 'i:' on method name " + m + " works"));

  ({ fileFilter, testFilter } = makeFilters({ filter: "z:" }));
  testFiles.forEach(f => assert.ok(!fileFilter(f), "using filter 'z:' on filename " + f + " dnw"));
  testMethods.forEach(m => assert.ok(testFilter(m), "using filter 'z:' on method name " + m + " works"));
}

exports["test makeFilters no file filter"] = (assert) => {
  let { fileFilter, testFilter } = makeFilters({ filter: ":i" });
  testFiles.forEach(f => assert.ok(fileFilter(f), "using filter ':i' on filename " + f + " works"));
  testMethods.forEach(m => assert.ok(testFilter(m), "using filter ':i' on method name " + m + " works"));

  ({ fileFilter, testFilter } = makeFilters({ filter: ":z" }));
  testFiles.forEach(f => assert.ok(fileFilter(f), "using filter ':z' on filename " + f + " works"));
  testMethods.forEach(m => assert.ok(!testFilter(m), "using filter ':z' on method name " + m + " dnw"));
}

exports["test makeFilters both filters"] = (assert) => {
  let { fileFilter, testFilter } = makeFilters({ filter: "i:i" });
  testFiles.forEach(f => assert.ok(fileFilter(f), "using filter 'i:i' on filename " + f + " works"));
  testMethods.forEach(m => assert.ok(testFilter(m), "using filter 'i:i' on method name " + m + " works"));

  ({ fileFilter, testFilter } = makeFilters({ filter: "z:z" }));
  testFiles.forEach(f => assert.ok(!fileFilter(f), "using filter 'z:z' on filename " + f + " dnw"));
  testMethods.forEach(m => assert.ok(!testFilter(m), "using filter 'z:z' on method name " + m + " dnw"));
}

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