forked from sgbj/karma-tfs-reporter
-
Notifications
You must be signed in to change notification settings - Fork 1
/
test.js
78 lines (65 loc) · 1.59 KB
/
test.js
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
/**
* These are super basic, just to make sure things are in place.
* Should test 'trx' more rigorously.
*/
const test = require("ava").test;
const trxModule = require("./trx");
const { pad, toISOString, duration, escape, trx } = trxModule;
test("pad", t => {
t.plan(5);
t.is(pad(0, 0, 0), "0");
t.is(pad(2, 0, 0), "2");
t.is(pad(0, 2, 0), "00");
t.is(pad(0, 0, 2), "0");
t.is(pad(1, 3, 2), "221");
});
test("toISOString", t => {
t.plan(2);
const result = toISOString();
const regex = new RegExp(
result.substring(0, result.length - 2).replace(/./g, ".") + ".Z$"
);
const expect = new Date().toISOString();
t.is(toISOString("2018-07-16T16:05:16+0200"), "2018-07-16T14:05:16.000Z");
t.regex(expect, regex);
});
test("duration", t => {
t.plan(1);
t.is(
duration(
new Date("2018-07-16T16:05:16+0200"),
new Date("2018-07-16T16:05:20.123+0200")
),
"00:00:04.1230000"
);
});
test("escape", t => {
t.plan(5);
t.is(escape(`&`), "&");
t.is(escape(`<`), "<");
t.is(escape(`>`), ">");
t.is(escape(`"`), """);
t.is(escape(`'`), "'");
});
/**
* TRX tests below.
* TODO: properly test this.
*/
const testResults = {
name: "Test results name",
specs: [
{
start: new Date("2018-07-16T16:05:16+0200"),
finish: new Date("2018-07-16T16:05:20+0200"),
suite: "suite",
description: "description",
outcome: "Failed",
message: "message",
stackTrace: "stack"
}
]
};
test("trx multiple runs should yield new ids", t => {
t.plan(1);
t.not(trx(testResults), trx(testResults));
});