Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1266)

Side by Side Diff: third_party/WebKit/LayoutTests/vr/getFrameData_samewithinframe.html

Issue 2659853006: Add getFrameData and getPose layout tests (Closed)
Patch Set: Add more tests Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script>
4 <script src="../resources/mojo-helpers.js"></script>
5 <script src="resources/fake-vr-displays.js"></script>
6 <script src="resources/mock-vr-service.js"></script>
7 <script src="resources/test-constants.js"></script>
8 <script>
9 let fakeDisplays = fakeVRDisplays();
10
11 vr_test( (t, mock_service) => {
12 return navigator.getVRDisplays().then( (displays) => {
13 var display = displays[0];
14 var expected_pose = VALID_POSE;
15 var fd1 = new VRFrameData();
16 var fd2 = new VRFrameData();
17 mock_service.mockVRDisplays_[0].setPose(expected_pose);
18 var counter = 0;
19
20 function onFrame() {
21 display.requestAnimationFrame(onFrame);
22 t.step( () => {
23 assert_true(display.getFrameData(fd1));
24 assert_true(display.getFrameData(fd2));
25 }, "getFrameData successfully updated object");
26 t.step( () => {
27 // Use assert_equals instead of assert_approx_equals since they should
28 // be completely identical
29 assert_equals(fd1.timestamp, fd2.timestamp);
30 for (let i = 0; i < 16; i++) {
31 assert_equals(fd1.leftProjectionMatrix[i],
32 fd2.leftProjectionMatrix[i]);
33 assert_equals(fd1.leftViewMatrix[i], fd2.leftViewMatrix[i]);
34 assert_equals(fd1.rightProjectionMatrix[i],
35 fd2.rightProjectionMatrix[i]);
36 assert_equals(fd1.rightViewMatrix[i], fd2.rightViewMatrix[i]);
37 }
38 let counter = 0;
39 for (let field in fd1.pose) {
40 counter++;
41 assert_equals(fd1.pose[field].length, fd2.pose[field].length);
42 assert_greater_than(fd1.pose[field].length, 0);
43 for (let i = 0; i < fd1.pose[field].length; i++) {
44 assert_equals(fd1.pose[field][i], fd2.pose[field][i]);
45 }
46 }
47 assert_equals(counter, 6);
48 }, "frame data matches within the same frame");
49 t.done();
50 }
51
52 display.requestAnimationFrame(onFrame);
53 }, (err) => {
54 t.step( () => {
55 assert_unreached("getVRDisplays rejected");
56 });
57 });
58 }, [fakeDisplays["Pixel"]],
59 "getFrameData returns the same data within a single frame");
60
61 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698