-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathtest.html
116 lines (112 loc) · 7.55 KB
/
test.html
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
105
106
107
108
109
110
111
112
113
114
115
116
<!DOCTYPE html>
<html lang=en>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="styles.css">
<script src="jquery.min.js"></script>
<script src="roofpig_and_three.min.js"></script>
<script src="cube.js"></script>
<script src="display.js"></script>
<script src="btcube.js"></script>
<script src="ui.js"></script>
<script>
function displayAlg(alg) {
var cube = Cube.alg(alg, Cube.solved);
document.getElementById("debug").innerText = Cube.toString(cube);
function delay() {
Display.display3DCube(Cube.faces(cube), "cube");
Display.displayLL(Cube.faces(cube), "ll");
Display.displayUF(Cube.faces(cube), "uf");
}
window.setTimeout(delay, 1);
}
function tests() {
document.getElementById("debug").innerHTML = "Name: " + navigator.appName + "<br />CodeName: " + navigator.appCodeName + "<br />Agent: " + navigator.userAgent;
var results = "";
function test(name, fn) {
results += "<li style='color:" + (fn() ? "green" : "red") + "'>" + name + "</li>";
}
function testAlgs(algs, expected) {
for (var a in algs) {
var alg = algs[a];
test("Alg: " + alg, function() { return Cube.toString(Cube.alg(alg, Cube.solved)) == expected; })
}
}
test("Solved", function() { return Cube.toString(Cube.solved) == "UUUUUUUUULLLLLLLLLFFFFFFFFFRRRRRRRRRDDDDDDDDDBBBBBBBBB"; });
testAlgs(["U"], "UUUUUUUUUFFFLLLLLLRRRFFFFFFBBBRRRRRRDDDDDDDDDBBBBBBLLL");
testAlgs(["U2", "U2'"], "UUUUUUUUURRRLLLLLLBBBFFFFFFLLLRRRRRRDDDDDDDDDBBBBBBFFF");
testAlgs(["U'"], "UUUUUUUUUBBBLLLLLLLLLFFFFFFFFFRRRRRRDDDDDDDDDBBBBBBRRR");
testAlgs(["D"], "UUUUUUUUULLLLLLBBBFFFFFFLLLRRRRRRFFFDDDDDDDDDRRRBBBBBB");
testAlgs(["D2", "D2'"], "UUUUUUUUULLLLLLRRRFFFFFFBBBRRRRRRLLLDDDDDDDDDFFFBBBBBB");
testAlgs(["D'"], "UUUUUUUUULLLLLLFFFFFFFFFRRRRRRRRRBBBDDDDDDDDDLLLBBBBBB");
testAlgs(["L"], "BUUBUUBUULLLLLLLLLUFFUFFUFFRRRRRRRRRFDDFDDFDDDBBDBBDBB");
testAlgs(["L2", "L2'"], "DUUDUUDUULLLLLLLLLBFFBFFBFFRRRRRRRRRUDDUDDUDDFBBFBBFBB");
testAlgs(["L'"], "FUUFUUFUULLLLLLLLLDFFDFFDFFRRRRRRRRRBDDBDDBDDUBBUBBUBB");
testAlgs(["R"], "UUFUUFUUFLLLLLLLLLFFDFFDFFDRRRRRRRRRDDBDDBDDBBBUBBUBBU");
testAlgs(["R2", "R2'"], "UUDUUDUUDLLLLLLLLLFFBFFBFFBRRRRRRRRRDDUDDUDDUBBFBBFBBF");
testAlgs(["R'"], "UUBUUBUUBLLLLLLLLLFFUFFUFFURRRRRRRRRDDFDDFDDFBBDBBDBBD");
testAlgs(["F"], "UUUUUULLLLLDLLDLLDFFFFFFFFFURRURRURRRRRDDDDDDBBBBBBBBB");
testAlgs(["F2", "F2'"], "UUUUUUDDDLLRLLRLLRFFFFFFFFFLRRLRRLRRUUUDDDDDDBBBBBBBBB");
testAlgs(["F'"], "UUUUUURRRLLULLULLUFFFFFFFFFDRRDRRDRRLLLDDDDDDBBBBBBBBB");
testAlgs(["B"], "RRRUUUUUUULLULLULLFFFFFFFFFRRDRRDRRDDDDDDDLLLBBBBBBBBB");
testAlgs(["B2", "B2'"], "DDDUUUUUURLLRLLRLLFFFFFFFFFRRLRRLRRLDDDDDDUUUBBBBBBBBB");
testAlgs(["B'"], "LLLUUUUUUDLLDLLDLLFFFFFFFFFRRURRURRUDDDDDDRRRBBBBBBBBB");
testAlgs(["M"], "UBUUBUUBULLLLLLLLLFUFFUFFUFRRRRRRRRRDFDDFDDFDBDBBDBBDB");
testAlgs(["M2", "M2'"], "UDUUDUUDULLLLLLLLLFBFFBFFBFRRRRRRRRRDUDDUDDUDBFBBFBBFB");
testAlgs(["M'"], "UFUUFUUFULLLLLLLLLFDFFDFFDFRRRRRRRRRDBDDBDDBDBUBBUBBUB");
testAlgs(["E"], "UUUUUUUUULLLBBBLLLFFFLLLFFFRRRFFFRRRDDDDDDDDDBBBRRRBBB");
testAlgs(["E2", "E2'"], "UUUUUUUUULLLRRRLLLFFFBBBFFFRRRLLLRRRDDDDDDDDDBBBFFFBBB");
testAlgs(["E'"], "UUUUUUUUULLLFFFLLLFFFRRRFFFRRRBBBRRRDDDDDDDDDBBBLLLBBB");
testAlgs(["S"], "UUULLLUUULDLLDLLDLFFFFFFFFFRURRURRURDDDRRRDDDBBBBBBBBB");
testAlgs(["S2", "S2'"], "UUUDDDUUULRLLRLLRLFFFFFFFFFRLRRLRRLRDDDUUUDDDBBBBBBBBB");
testAlgs(["S'"], "UUURRRUUULULLULLULFFFFFFFFFRDRRDRRDRDDDLLLDDDBBBBBBBBB");
testAlgs(["u", "Uw"], "UUUUUUUUUFFFFFFLLLRRRRRRFFFBBBBBBRRRDDDDDDDDDBBBLLLLLL");
testAlgs(["u2", "u2'", "Uw2", "Uw2'"], "UUUUUUUUURRRRRRLLLBBBBBBFFFLLLLLLRRRDDDDDDDDDBBBFFFFFF");
testAlgs(["u'", "Uw'"], "UUUUUUUUUBBBBBBLLLLLLLLLFFFFFFFFFRRRDDDDDDDDDBBBRRRRRR");
testAlgs(["d", "Dw"], "UUUUUUUUULLLBBBBBBFFFLLLLLLRRRFFFFFFDDDDDDDDDRRRRRRBBB");
testAlgs(["d2", "d2'", "Dw2", "Dw2'"], "UUUUUUUUULLLRRRRRRFFFBBBBBBRRRLLLLLLDDDDDDDDDFFFFFFBBB");
testAlgs(["d'", "Dw'"], "UUUUUUUUUBBBFFFFFFLLLRRRRRRFFFBBBBBBDDDDDDDDDLLLLLLRRR");
testAlgs(["l", "Lw"], "BBUBBUBBULLLLLLLLLUUFUUFUUFRRRRRRRRRFFDFFDFFDDDBDDBDDB");
testAlgs(["l2", "l2'", "Lw2", "Lw2'"], "DDUDDUDDULLLLLLLLLBBFBBFBBFRRRRRRRRRUUDUUDUUDFFBFFBFFB");
testAlgs(["l'", "Lw'"], "FFUFFUFFULLLLLLLLLDDFDDFDDFRRRRRRRRRBBDBBDBBDUUBUUBUUB");
testAlgs(["r", "Rw"], "UFFUFFUFFLLLLLLLLLFDDFDDFDDRRRRRRRRRDBBDBBDBBBUUBUUBUU");
testAlgs(["r2", "r2'", "Rw2", "Rw2'"], "UDDUDDUDDLLLLLLLLLFBBFBBFBBRRRRRRRRRDUUDUUDUUBFFBFFBFF");
testAlgs(["r'", "Rw'"], "UBBUBBUBBLLLLLLLLLFUUFUUFUURRRRRRRRRDFFDFFDFFBDDBDDBDD");
testAlgs(["f", "Fw"], "UUULLLLLLLDDLDDLDDFFFFFFFFFUURUURUURRRRRRRDDDBBBBBBBBB");
testAlgs(["f2", "f2'", "Fw2", "Fw2'"], "UUUDDDDDDLRRLRRLRRFFFFFFFFFLLRLLRLLRUUUUUUDDDBBBBBBBBB");
testAlgs(["f'", "Fw'"], "UUURRRRRRLUULUULUUFFFFFFFFFDDRDDRDDRLLLLLLDDDBBBBBBBBB");
testAlgs(["b", "Bw"], "RRRRRRUUUUULUULUULFFFFFFFFFRDDRDDRDDDDDLLLLLLBBBBBBBBB");
testAlgs(["b2", "b2'", "Bw2", "Bw2'"], "DDDDDDUUURRLRRLRRLFFFFFFFFFRLLRLLRLLDDDUUUUUUBBBBBBBBB");
testAlgs(["b'", "Bw'"], "LLLLLLUUUDDLDDLDDLFFFFFFFFFRUURUURUUDDDRRRRRRBBBBBBBBB");
testAlgs(["U' D L2 U B2 D2 B2 D2 L F' U D' R U' F2 L F' B'"], "UUUUUUUUULBLBLDLBLFFFFFFFFFRRRRRRRRRDLDDDBDLDBDBLBDBLB"); // "magic"
testAlgs(["M2 U' R2 D' S M2 U M' U2 F2 D' S M2 U' R2 U'"], "DLDBDFDRDBDBLBRBUBRDRBRFRURFDFRFLFUFURUBUFULULULBLFLDL"); // superflip
test("Comparison", function() { return Cube.same(Cube.alg("U L", Cube.solved), Cube.alg("U L", Cube.solved)); });
test("Equivalent", function() { return Cube.same(Cube.alg("U R", Cube.solved), Cube.alg("x2 D R", Cube.solved)); });
document.getElementById("results").innerHTML = results;
}
var instance = Cube.solved;
function update(cube) {
Display.displayLL(Cube.faces(cube), "ll");
Display.displayUF(Cube.faces(cube), "uf");
Display.display3DCube(Cube.faces(cube), "cube");
}
function load() {
tests();
}
</script>
</head>
<body onload="load()" style="background: black">
<h1>Tests v0.16</h1>
<div id="controls">
<button id="btCube" onclick="Ui.btCube()">Connect</button>
<button onclick="Ui.twist(prompt('Twists'))">SimTwists</button>
</div>
<div id="ll"></div>
<div id="cube" style="width: 100%"></div>
<div id="uf"></div>
<p id="debug" style="color: white"></p>
<ol id="results">
</ol>
</body>
</html>