bug 715798 pt 3.5 - canvas reftest to check that emoji character is non-blank. r=jrmuizel
authorJonathan Kew <jkew@mozilla.com>
Tue, 23 Oct 2012 10:07:57 +0100
changeset 111265 3a30e45e50e2b1f11c247b12d2987a3ab99b2a41
parent 111264 edd03f7a77b70a1055a30efbf1bd7fac7254b0d5
child 111266 19e5770f482ad129b3ec142f3e7a230a80817a61
push id93
push usernmatsakis@mozilla.com
push dateWed, 31 Oct 2012 21:26:57 +0000
reviewersjrmuizel
bugs715798
milestone19.0a1
bug 715798 pt 3.5 - canvas reftest to check that emoji character is non-blank. r=jrmuizel
layout/reftests/canvas/reftest.list
layout/reftests/canvas/text-emoji-notref.html
layout/reftests/canvas/text-emoji.html
--- a/layout/reftests/canvas/reftest.list
+++ b/layout/reftests/canvas/reftest.list
@@ -44,16 +44,19 @@ asserts-if(cocoaWidget,0-2) == size-chan
 == text-bidi-rtl-test.html text-bidi-rtl-ref.html
 
 fails-if(Android) != text-font-lang.html text-font-lang-notref.html
 
 == text-measure.html text-measure-ref.html
 
 == strokeText-path.html strokeText-path-ref.html
 
+# check that emoji character renders as something non-blank (for Apple Color Emoji font, bug 715798)
+random-if(!cocoaWidget) fails-if(OSX==10.6) random-if(OSX==10.7) != text-emoji.html text-emoji-notref.html
+
 # azure quartz uses CGDrawLinearGradient instead of DrawShading
 # so we have less control over degenerate behaviour as tested by this
 # test
 fails-if(azureQuartz) == linear-gradient-1a.html linear-gradient-1-ref.html
 
 # this passes with cairo on 10.7 and 10.8 but not with azure for reasons unknown
 fails-if(OSX==10.6||(azureQuartz&&(OSX==10.7||OSX==10.8))) == linear-gradient-1b.html linear-gradient-1-ref.html
 
new file mode 100644
--- /dev/null
+++ b/layout/reftests/canvas/text-emoji-notref.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<title>Test for Unicode emoji in canvas</title>
+<script type="text/javascript">
+function test(canvasID) {
+  var canvas = document.getElementById(canvasID);
+  var ctx = canvas.getContext('2d');
+  var str = 'Hello';
+  ctx.font = '2em sans-serif';
+  ctx.fillStyle = 'black';
+  ctx.textAlign = 'left';
+  ctx.textBaseline = 'top';
+  ctx.fillText(str, 10, 10);
+};
+</script>
+</head>
+<body>
+
+<div lang="en" style="margin:20px; height:100px;">
+<canvas id="c1" width="400" height="50"></canvas>
+<script type="text/javascript">
+  test("c1");
+</script>
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/canvas/text-emoji.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<title>Test for Unicode emoji in canvas</title>
+<script type="text/javascript">
+function test(canvasID) {
+  var canvas = document.getElementById(canvasID);
+  var ctx = canvas.getContext('2d');
+  var str = 'Hello \uD83D\uDE0E'; // U+1F60E
+  ctx.font = '2em sans-serif';
+  ctx.fillStyle = 'black';
+  ctx.textAlign = 'left';
+  ctx.textBaseline = 'top';
+  ctx.fillText(str, 10, 10);
+};
+</script>
+</head>
+<body>
+
+<div lang="en" style="margin:20px; height:100px;">
+<canvas id="c1" width="400" height="50"></canvas>
+<script type="text/javascript">
+  test("c1");
+</script>
+</div>
+
+</body>
+</html>