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

Unified Diff: third_party/WebKit/LayoutTests/vr/getFrameData_oneframeupdate.html

Issue 2659853006: Add getFrameData and getPose layout tests (Closed)
Patch Set: Add more tests Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/vr/getFrameData_oneframeupdate.html
diff --git a/third_party/WebKit/LayoutTests/vr/getFrameData_oneframeupdate.html b/third_party/WebKit/LayoutTests/vr/getFrameData_oneframeupdate.html
new file mode 100644
index 0000000000000000000000000000000000000000..d1ea97b929dfa12a4de8b6a25414580e37065354
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/vr/getFrameData_oneframeupdate.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<script src="../resources/testharness.js"></script>
+<script src="../resources/testharnessreport.js"></script>
+<script src="../resources/mojo-helpers.js"></script>
+<script src="resources/fake-vr-displays.js"></script>
+<script src="resources/mock-vr-service.js"></script>
+<script src="resources/test-constants.js"></script>
+<script>
+let fakeDisplays = fakeVRDisplays();
+
+vr_test( (t, mock_service) => {
+ return navigator.getVRDisplays().then( (displays) => {
+ var display = displays[0];
+ var expected_pose = VALID_POSE;
+ var fd = new VRFrameData();
+ var counter = 0;
+
+ function onFrame() {
+ display.requestAnimationFrame(onFrame);
+ if (counter == 0) {
+ t.step( () => {
+ assert_false(display.getFrameData(fd));
+ }, "Expecting to not get framedata since there is no pose");
+ mock_service.mockVRDisplays_[0].setPose(expected_pose);
+ t.step( () => {
+ assert_false(display.getFrameData(fd));
+ }, "Does not update within the same frame");
+ } else {
+ t.step( () => {
+ assert_true(display.getFrameData(fd));
+ assert_not_equals(fd.pose, null);
+ for (let field in expected_pose) {
+ assert_equals(fd.pose[field].length, expected_pose[field].length);
+ for (let i = 0; i < expected_pose[field].length; i++) {
+ assert_approx_equals(fd.pose[field][i], expected_pose[field][i],
+ FLOAT_EPSILON);
+ }
+ }
+ }, "Pose was updated in the next frame");
+ t.done();
+ }
+ counter++;
+ }
+
+ display.requestAnimationFrame(onFrame);
+ }, (err) => {
+ t.step( () => {
+ assert_unreached("getVRDisplays rejected");
+ });
+ });
+}, [fakeDisplays["Pixel"]],
+"getFrameData updates on the next frame");
+
+</script>

Powered by Google App Engine
This is Rietveld 408576698