-
Notifications
You must be signed in to change notification settings - Fork 27
/
history_test.js
104 lines (99 loc) · 7.37 KB
/
history_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
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
const gjsunit = imports.gjsunit;
let suite = new gjsunit.Suite("history.js");
let check_cases = [
{x: 1047, y: 555}, {x: 925, y: 603}, {x: 814, y: 654}, {x: 698, y: 710}, {x: 675, y: 723},
{x: 672, y: 725}, {x: 722, y: 703}, {x: 840, y: 643}, {x: 1118, y: 528}, {x: 1170, y: 507},
{x: 1176, y: 505}, {x: 1116, y: 536}, {x: 992, y: 600}, {x: 950, y: 625}, {x: 944, y: 628},
{x: 943, y: 629}, {x: 946, y: 627}, {x: 1047, y: 555}, {x: 925, y: 603}, {x: 814, y: 654},
{x: 698, y: 710}, {x: 675, y: 723}, {x: 672, y: 725}, {x: 722, y: 703}, {x: 840, y: 643},
{x: 1118, y: 528}, {x: 1170, y: 507}, {x: 1176, y: 505}, {x: 1116, y: 536}, {x: 992, y: 600},
{x: 950, y: 625}, {x: 944, y: 628}, {x: 943, y: 629}, {x: 946, y: 627}, {x: 952, y: 624},
{x: 1047, y: 555}, {x: 925, y: 603}, {x: 814, y: 654}, {x: 698, y: 710}, {x: 675, y: 723},
{x: 672, y: 725}, {x: 722, y: 703}, {x: 840, y: 643}, {x: 1118, y: 528}, {x: 1170, y: 507},
{x: 1176, y: 505}, {x: 1116, y: 536}, {x: 992, y: 600}, {x: 950, y: 625}, {x: 944, y: 628},
{x: 943, y: 629}, {x: 946, y: 627}, {x: 952, y: 624}, {x: 956, y: 621}, {x: 1047, y: 555},
{x: 925, y: 603}, {x: 814, y: 654}, {x: 698, y: 710}, {x: 675, y: 723}, {x: 672, y: 725},
{x: 722, y: 703}, {x: 840, y: 643}, {x: 1118, y: 528}, {x: 1170, y: 507}, {x: 1176, y: 505},
{x: 1116, y: 536}, {x: 992, y: 600}, {x: 950, y: 625}, {x: 944, y: 628}, {x: 943, y: 629},
{x: 946, y: 627}, {x: 952, y: 624}, {x: 956, y: 621}, {x: 1047, y: 555}, {x: 925, y: 603},
{x: 814, y: 654}, {x: 698, y: 710}, {x: 675, y: 723}, {x: 672, y: 725}, {x: 722, y: 703},
{x: 840, y: 643}, {x: 1118, y: 528}, {x: 1170, y: 507}, {x: 1176, y: 505}, {x: 1116, y: 536},
{x: 992, y: 600}, {x: 950, y: 625}, {x: 944, y: 628}, {x: 943, y: 629}, {x: 946, y: 627},
{x: 952, y: 624}, {x: 956, y: 621}, {x: 957, y: 620}, {x: 1047, y: 555}, {x: 925, y: 603},
{x: 814, y: 654}, {x: 698, y: 710}, {x: 675, y: 723}, {x: 672, y: 725}, {x: 722, y: 703},
{x: 840, y: 643}, {x: 1118, y: 528}, {x: 1170, y: 507}, {x: 1176, y: 505}, {x: 1116, y: 536},
{x: 992, y: 600}, {x: 950, y: 625}, {x: 944, y: 628}, {x: 943, y: 629}, {x: 946, y: 627},
{x: 952, y: 624}, {x: 956, y: 621}, {x: 957, y: 620}, {x: 1047, y: 555}, {x: 925, y: 603},
{x: 814, y: 654}, {x: 698, y: 710}, {x: 675, y: 723}, {x: 672, y: 725}, {x: 722, y: 703},
{x: 840, y: 643}, {x: 1118, y: 528}, {x: 1170, y: 507}, {x: 1176, y: 505}, {x: 1116, y: 536},
{x: 992, y: 600}, {x: 950, y: 625}, {x: 944, y: 628}, {x: 943, y: 629}, {x: 946, y: 627},
{x: 952, y: 624}, {x: 956, y: 621}, {x: 957, y: 620}, {x: 1047, y: 555}, {x: 925, y: 603},
{x: 814, y: 654}, {x: 698, y: 710}, {x: 675, y: 723}, {x: 672, y: 725}, {x: 722, y: 703},
{x: 840, y: 643}, {x: 1118, y: 528}, {x: 1170, y: 507}, {x: 1176, y: 505}, {x: 1116, y: 536},
{x: 992, y: 600}, {x: 950, y: 625}, {x: 944, y: 628}, {x: 943, y: 629}, {x: 946, y: 627},
{x: 952, y: 624}, {x: 956, y: 621}, {x: 957, y: 620}, {x: 1047, y: 555}, {x: 925, y: 603},
{x: 814, y: 654}, {x: 698, y: 710}, {x: 675, y: 723}, {x: 672, y: 725}, {x: 722, y: 703},
{x: 840, y: 643}, {x: 1118, y: 528}, {x: 1170, y: 507}, {x: 1176, y: 505}, {x: 1116, y: 536},
{x: 992, y: 600}, {x: 950, y: 625}, {x: 944, y: 628}, {x: 943, y: 629}, {x: 946, y: 627},
{x: 952, y: 624}, {x: 956, y: 621}, {x: 957, y: 620}, {x: 1047, y: 555}, {x: 925, y: 603},
{x: 814, y: 654}, {x: 698, y: 710}, {x: 675, y: 723}, {x: 672, y: 725}, {x: 722, y: 703},
{x: 840, y: 643}, {x: 1118, y: 528}, {x: 1170, y: 507}, {x: 1176, y: 505}, {x: 1116, y: 536},
{x: 992, y: 600}, {x: 950, y: 625}, {x: 944, y: 628}, {x: 943, y: 629}, {x: 946, y: 627},
{x: 952, y: 624}, {x: 956, y: 621}, {x: 957, y: 620}, {x: 1047, y: 555}, {x: 925, y: 603},
{x: 814, y: 654}, {x: 698, y: 710}, {x: 675, y: 723}, {x: 672, y: 725}, {x: 722, y: 703},
{x: 840, y: 643}, {x: 1118, y: 528}, {x: 1170, y: 507}, {x: 1176, y: 505}, {x: 1116, y: 536},
{x: 992, y: 600}, {x: 950, y: 625}, {x: 944, y: 628}, {x: 943, y: 629}, {x: 946, y: 627},
{x: 952, y: 624}, {x: 956, y: 621}, {x: 957, y: 620}, {x: 925, y: 603}, {x: 814, y: 654},
{x: 698, y: 710}, {x: 675, y: 723}, {x: 672, y: 725}, {x: 722, y: 703}, {x: 840, y: 643},
{x: 1118, y: 528}, {x: 1170, y: 507}, {x: 1176, y: 505}, {x: 1116, y: 536}, {x: 992, y: 600},
{x: 950, y: 625}, {x: 944, y: 628}, {x: 943, y: 629}, {x: 946, y: 627}, {x: 952, y: 624},
{x: 956, y: 621}, {x: 957, y: 620}, {x: 925, y: 603}, {x: 814, y: 654}, {x: 698, y: 710},
{x: 675, y: 723}, {x: 672, y: 725}, {x: 722, y: 703}, {x: 840, y: 643}, {x: 1118, y: 528},
{x: 1170, y: 507}, {x: 1176, y: 505}, {x: 1116, y: 536}, {x: 992, y: 600}, {x: 950, y: 625},
{x: 944, y: 628}, {x: 943, y: 629}, {x: 946, y: 627}, {x: 952, y: 624}, {x: 956, y: 621},
{x: 957, y: 620}, {x: 814, y: 654}, {x: 698, y: 710}, {x: 675, y: 723}, {x: 672, y: 725},
{x: 722, y: 703}, {x: 840, y: 643}, {x: 1118, y: 528}, {x: 1170, y: 507}, {x: 1176, y: 505},
{x: 1116, y: 536}, {x: 992, y: 600}, {x: 950, y: 625}, {x: 944, y: 628}, {x: 943, y: 629},
{x: 946, y: 627}, {x: 952, y: 624}, {x: 956, y: 621}, {x: 957, y: 620}, {x: 698, y: 710},
{x: 675, y: 723}, {x: 672, y: 725}, {x: 722, y: 703}, {x: 840, y: 643}, {x: 1118, y: 528},
{x: 1170, y: 507}, {x: 1176, y: 505}, {x: 1116, y: 536}, {x: 992, y: 600}, {x: 950, y: 625},
{x: 944, y: 628}, {x: 943, y: 629}, {x: 946, y: 627}, {x: 952, y: 624}, {x: 956, y: 621},
{x: 957, y: 620}, {x: 698, y: 710}, {x: 675, y: 723}, {x: 672, y: 725}, {x: 722, y: 703},
{x: 840, y: 643}, {x: 1118, y: 528}, {x: 1170, y: 507}, {x: 1176, y: 505}, {x: 1116, y: 536},
{x: 992, y: 600}, {x: 950, y: 625}, {x: 944, y: 628}, {x: 943, y: 629}, {x: 946, y: 627},
{x: 952, y: 624}, {x: 956, y: 621}, {x: 957, y: 620}, {x: 675, y: 723}, {x: 672, y: 725},
{x: 722, y: 703}, {x: 840, y: 643}, {x: 1118, y: 528}, {x: 1170, y: 507}, {x: 1176, y: 505},
{x: 1116, y: 536}, {x: 992, y: 600}, {x: 950, y: 625}, {x: 944, y: 628}, {x: 943, y: 629},
{x: 946, y: 627}, {x: 952, y: 624}, {x: 956, y: 621}, {x: 957, y: 620}, {x: 675, y: 723},
{x: 672, y: 725}, {x: 722, y: 703}, {x: 840, y: 643}, {x: 1118, y: 528}, {x: 1170, y: 507},
{x: 1176, y: 505}, {x: 1116, y: 536}, {x: 992, y: 600}, {x: 950, y: 625}, {x: 944, y: 628},
{x: 943, y: 629}, {x: 946, y: 627}, {x: 952, y: 624}, {x: 956, y: 621}, {x: 957, y: 620},
{x: 675, y: 723}, {x: 672, y: 725}, {x: 722, y: 703}, {x: 840, y: 643}, {x: 1118, y: 528},
{x: 1170, y: 507}, {x: 1176, y: 505}, {x: 1116, y: 536}, {x: 992, y: 600}, {x: 950, y: 625},
{x: 944, y: 628}, {x: 943, y: 629}, {x: 946, y: 627}, {x: 952, y: 624}, {x: 956, y: 621},
];
suite.addTest("check", function() {
let history = imports.history;
// no history means no jiggling
gjsunit.assertFalse(history.check());
// add some history
for (let i = 0; i < check_cases.length; i++) {
history.push(check_cases[i].x, check_cases[i].y);
}
// confirm jiggle
gjsunit.assertTrue(history.check());
});
suite.addTest("clear", function() {
let history = imports.history;
// reset
history.clear();
// last x & y should be 0
gjsunit.assertEquals(0, history.lastX);
gjsunit.assertEquals(0, history.lastY);
// add some history
history.push(10, 20);
// last x & y should be set
gjsunit.assertEquals(10, history.lastX);
gjsunit.assertEquals(20, history.lastY);
history.clear();
});