-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathdata-strings.js
More file actions
95 lines (81 loc) · 4.34 KB
/
data-strings.js
File metadata and controls
95 lines (81 loc) · 4.34 KB
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
module("Xflow strings", {});
test("Change mesh type with new data element", function () {
stop();
var frameLoaded = Q.fcall(promiseIFrameLoaded, "scenes/data-strings.html");
var test = frameLoaded.then(function (doc) {
doc.getElementById("meshTypeTest1").setAttribute("type", "derived");
return doc.getElementById("xml3dElem");
}).then(promiseSceneRendered).then(function (s) {
var actual = XML3DUnit.getPixelValue(getContextForXml3DElement(s), 20, 150);
deepEqual(actual, [255, 255, 0, 255], "Tristrips mesh type from local data element");
s.ownerDocument.querySelector("#meshTypeTest1 data").setAttribute("src", "#meshTypeLines");
return s;
}).then(promiseSceneRendered).then(function (s) {
var actual = XML3DUnit.getPixelValue(getContextForXml3DElement(s), 20, 150);
deepEqual(actual, [0, 0, 0, 0], "Lines type from another local data element");
s.ownerDocument.querySelector("#meshTypeTest1 data").setAttribute("src", "xml/data.xml#meshTypeTriangles");
return s;
}).then(promiseSceneRendered).then(function (s) {
var actual = XML3DUnit.getPixelValue(getContextForXml3DElement(s), 20, 150);
deepEqual(actual, [255, 255, 0, 255], "Triangle type from external data element");
return s;
});
test.fin(QUnit.start).done();
});
test("Change mesh type in data element", function () {
stop();
var frameLoaded = Q.fcall(promiseIFrameLoaded, "scenes/data-strings.html");
var test = frameLoaded.then(function (doc) {
doc.querySelector("#meshTypeTest1 data").setAttribute("src", "#meshTypeDynamic");
doc.getElementById("meshTypeTest1").setAttribute("type", "derived");
return doc.getElementById("xml3dElem");
}).then(promiseSceneRendered).then(function (s) {
var actual = XML3DUnit.getPixelValue(getContextForXml3DElement(s), 20, 150);
deepEqual(actual, [255, 255, 0, 255], "Initial state is correct");
s.ownerDocument.getElementById("meshTypeChangeTarget").textContent = "lines";
return s;
}).then(promiseSceneRendered).then(function (s) {
var actual = XML3DUnit.getPixelValue(getContextForXml3DElement(s), 20, 150);
deepEqual(actual, [0, 0, 0, 0], "Mesh responded to change in type field");
return s;
});
test.fin(QUnit.start).done();
});
test("Change mesh type through xflow operator", function () {
stop();
var frameLoaded = Q.fcall(promiseIFrameLoaded, "scenes/data-strings.html");
var test = frameLoaded.then(function (doc) {
doc.querySelector("#meshTypeTest1 data").setAttribute("src", "#meshTypeCompute");
doc.getElementById("meshTypeTest1").setAttribute("type", "derived");
return doc.getElementById("xml3dElem");
}).then(promiseSceneRendered).then(function (s) {
var actual = XML3DUnit.getPixelValue(getContextForXml3DElement(s), 20, 150);
deepEqual(actual, [255, 255, 0, 255], "Initial operator returned triangles type");
s.ownerDocument.getElementById("meshTypeSelector").textContent = "1";
return s;
}).then(promiseSceneRendered).then(function (s) {
var actual = XML3DUnit.getPixelValue(getContextForXml3DElement(s), 20, 150);
deepEqual(actual, [0, 0, 0, 0], "Changing operator input caused type lines to be used");
return s;
});
test.fin(QUnit.start).done();
});
test("Mesh type from an array of strings", function () {
stop();
var frameLoaded = Q.fcall(promiseIFrameLoaded, "scenes/data-strings.html");
var test = frameLoaded.then(function (doc) {
doc.querySelector("#meshTypeTest1 data").setAttribute("src", "#stringArray");
doc.getElementById("meshTypeTest1").setAttribute("type", "derived");
return doc.getElementById("xml3dElem");
}).then(promiseSceneRendered).then(function (s) {
var actual = XML3DUnit.getPixelValue(getContextForXml3DElement(s), 20, 150);
deepEqual(actual, [255, 255, 0, 255], "Initial state is correct");
s.ownerDocument.getElementById("stringArraySelector").textContent = "2";
return s;
}).then(promiseSceneRendered).then(function (s) {
var actual = XML3DUnit.getPixelValue(getContextForXml3DElement(s), 20, 150);
deepEqual(actual, [0, 0, 0, 0], "Selected lines type from string array");
return s;
});
test.fin(QUnit.start).done();
});