diff --git a/test/assets/screenshots/canvas.html b/test/assets/screenshots/canvas.html
new file mode 100644
index 0000000000..011148c5ff
--- /dev/null
+++ b/test/assets/screenshots/canvas.html
@@ -0,0 +1,10 @@
+
+
+
diff --git a/test/assets/screenshots/controls.html b/test/assets/screenshots/controls.html
new file mode 100644
index 0000000000..64ab27980d
--- /dev/null
+++ b/test/assets/screenshots/controls.html
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/test/assets/screenshots/translateZ.html b/test/assets/screenshots/translateZ.html
new file mode 100644
index 0000000000..2b4aae8c09
--- /dev/null
+++ b/test/assets/screenshots/translateZ.html
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/test/assets/screenshots/webgl.html b/test/assets/screenshots/webgl.html
new file mode 100644
index 0000000000..a5e3d4981a
--- /dev/null
+++ b/test/assets/screenshots/webgl.html
@@ -0,0 +1,63 @@
+
+
+
diff --git a/test/golden-chromium/screenshot-canvas.png b/test/golden-chromium/screenshot-canvas.png
new file mode 100644
index 0000000000..dfafbda638
Binary files /dev/null and b/test/golden-chromium/screenshot-canvas.png differ
diff --git a/test/golden-chromium/screenshot-translateZ.png b/test/golden-chromium/screenshot-translateZ.png
new file mode 100644
index 0000000000..e3f5642e60
Binary files /dev/null and b/test/golden-chromium/screenshot-translateZ.png differ
diff --git a/test/golden-chromium/screenshot-webgl.png b/test/golden-chromium/screenshot-webgl.png
new file mode 100644
index 0000000000..76109512b5
Binary files /dev/null and b/test/golden-chromium/screenshot-webgl.png differ
diff --git a/test/golden-firefox/screenshot-canvas.png b/test/golden-firefox/screenshot-canvas.png
new file mode 100644
index 0000000000..dfafbda638
Binary files /dev/null and b/test/golden-firefox/screenshot-canvas.png differ
diff --git a/test/golden-firefox/screenshot-translateZ.png b/test/golden-firefox/screenshot-translateZ.png
new file mode 100644
index 0000000000..e3f5642e60
Binary files /dev/null and b/test/golden-firefox/screenshot-translateZ.png differ
diff --git a/test/golden-firefox/screenshot-webgl.png b/test/golden-firefox/screenshot-webgl.png
new file mode 100644
index 0000000000..76109512b5
Binary files /dev/null and b/test/golden-firefox/screenshot-webgl.png differ
diff --git a/test/golden-webkit/screenshot-canvas.png b/test/golden-webkit/screenshot-canvas.png
new file mode 100644
index 0000000000..dfafbda638
Binary files /dev/null and b/test/golden-webkit/screenshot-canvas.png differ
diff --git a/test/golden-webkit/screenshot-translateZ.png b/test/golden-webkit/screenshot-translateZ.png
new file mode 100644
index 0000000000..e3f5642e60
Binary files /dev/null and b/test/golden-webkit/screenshot-translateZ.png differ
diff --git a/test/golden-webkit/screenshot-webgl.png b/test/golden-webkit/screenshot-webgl.png
new file mode 100644
index 0000000000..76109512b5
Binary files /dev/null and b/test/golden-webkit/screenshot-webgl.png differ
diff --git a/test/screenshot.spec.js b/test/screenshot.spec.js
index bf496a6f2e..4f358d107f 100644
--- a/test/screenshot.spec.js
+++ b/test/screenshot.spec.js
@@ -306,6 +306,24 @@ module.exports.describe = function({testRunner, expect, product, FFOX, CHROME, W
const screenshot = await elementHandle.screenshot();
expect(screenshot).toBeGolden('screenshot-element-fractional-offset.png');
});
+ it('should work for canvas', async({page, server}) => {
+ await page.setViewport({width: 500, height: 500});
+ await page.goto(server.PREFIX + '/screenshots/canvas.html');
+ const screenshot = await page.screenshot();
+ expect(screenshot).toBeGolden('screenshot-canvas.png');
+ });
+ it('should work for translateZ', async({page, server}) => {
+ await page.setViewport({width: 500, height: 500});
+ await page.goto(server.PREFIX + '/screenshots/translateZ.html');
+ const screenshot = await page.screenshot();
+ expect(screenshot).toBeGolden('screenshot-translateZ.png');
+ });
+ it.skip(FFOX || WEBKIT)('should work for webgl', async({page, server}) => {
+ await page.setViewport({width: 640, height: 480});
+ await page.goto(server.PREFIX + '/screenshots/webgl.html');
+ const screenshot = await page.screenshot();
+ expect(screenshot).toBeGolden('screenshot-webgl.png');
+ });
});
};