-
-
Notifications
You must be signed in to change notification settings - Fork 23
/
slider.test.js
57 lines (46 loc) · 1.1 KB
/
slider.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
import test from "ava";
import Slider from "./slider.js";
test.beforeEach((t) => {
t.context = new Slider([0, 0], {
value: 8,
min: 10,
max: 100,
width: 300,
});
});
test("constructor", (t) => {
t.not(t.context.handle, undefined);
});
test("click", (t) => {
t.context.on(Slider.events.change, () => t.pass());
t.plan(2);
t.context.click({
x: t.context.width / 2,
});
t.is(t.context.value, 55);
});
test("get and set width", (t) => {
t.is(t.context.width, 300);
t.context.width = 666;
t.is(t.context.width, 666);
t.throws(() => t.context.width = 1, {
instanceOf: RangeError,
});
});
test("get and set value", (t) => {
t.context.value = 20;
t.is(t.context.value, 20);
t.context.value = 5;
t.is(t.context.value, 10);
t.context.value = 9999;
t.is(t.context.value, 100);
});
test("defaultOptions", (t) => {
const options = Slider.defaultOptions;
t.is(options.min, 0);
t.is(options.max, 1);
t.is(options.width, 200);
});
test("HEIGHT", (t) => {
t.is(Slider.HEIGHT, 20);
});