| 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 | 1×
1×
1×
1×
4×
40×
40×
40×
4×
4×
40×
4×
4×
4×
4×
4×
32×
4×
4×
4×
2×
4×
16×
16×
1×
1×
1×
1×
1×
1×
1×
1×
1×
1×
1×
1×
| define(['./core-test', '../js/main', '../js/errors'], function(core, rb, Errors) {
'use strict';
var screens;
var checkScreen = core.checkScreen;
var _goToScreen = core.goToScreen;
var configure = core.configure;
function initEach(opts) {
window.rb = rb;
function create(index) {
var name = 'markup' + index;
opts.html = '<div class="' + name + '">' + name + '</div>';
return new rb.Screen(opts);
}
screens = [];
for (var i = 0; i < 10; i++) {
screens.push(create(i));
}
rb.Screen.setMainScreen(screens[0]);
$('body').append('<div id="rb1" class="rb-wrapper"></div>');
}
function init() {
var rb1 = rb.Instances.rb1;
rb1.configure({
wrongTime1: 5,
wrongTime2: 5,
correctTime: 10
});
}
function init1(loop) {
for (var i = 0; i < 8; i++) {
screens[i].pushChildren([screens[i+1]]);
}
screens[3].pushChildren([screens[5]]);
screens[7].pushChildren([screens[1]]);
if (loop) {
screens[9].pushChildren([screens[0]]);
}
init();
}
function goToScreen(i, correctErr) {
return function (done) {
return _goToScreen(screens[i], correctErr)(done);
};
}
var t = new core.TestsWrapper('GoToScreen1');
t.addTestsSerial('GoToScreen1', init1.bind(undefined, false), [
[goToScreen(1), checkScreen('screen_2')],
[goToScreen(5), checkScreen('screen_6')],
[goToScreen(9, Errors.PathNotFoundError), checkScreen('screen_6')],
[goToScreen(0), checkScreen('screen_1')]
]);
t.start(initEach.bind(undefined, {
isDirectedGraph: false
}));
var t2 = new core.TestsWrapper('GoToScreen2');
t2.addTestsSerial('GoToScreen2', init1.bind(undefined, false), [
[goToScreen(1), checkScreen('screen_2')],
[goToScreen(5), checkScreen('screen_6')],
[goToScreen(9, Errors.PathNotFoundError), checkScreen('screen_6')],
[goToScreen(0), checkScreen('screen_1')]
//[goToScreen(0, Errors.PathNotFoundError), checkScreen('screen_6')] потому что ищем в парентах
]);
t2.start(initEach.bind(undefined, {
isDirectedGraph: true
}));
var t3 = new core.TestsWrapper('GoToScreen3');
t3.addTestsSerial('GoToScreen3', init1.bind(undefined, true), [
[goToScreen(1), checkScreen('screen_2')],
[goToScreen(5), checkScreen('screen_6')],
[goToScreen(9), checkScreen('screen_10')],
[goToScreen(0), checkScreen('screen_1')]
]);
t3.start(initEach.bind(undefined, {
isDirectedGraph: false
}));
var t4 = new core.TestsWrapper('GoToScreen4');
t4.addTestsSerial('GoToScreen4', init1.bind(undefined, true), [
[goToScreen(1), checkScreen('screen_2')],
[goToScreen(5), checkScreen('screen_6')],
[goToScreen(9), checkScreen('screen_10')],
[goToScreen(0), checkScreen('screen_1')]
//[goToScreen(9, Errors.PathNotFoundError), checkScreen('screen_6')], потому что ищем в парентах
//[goToScreen(0, Errors.PathNotFoundError), checkScreen('screen_6')] потому что ищем в парентах
]);
t4.start(initEach.bind(undefined, {
isDirectedGraph: true
}));
});
|