<!DOCTYPE html>
<title>Test for canvas bug where fillText resets the current context</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<body></body>
<script>
// Bug: https://bugs.webkit.org/show_bug.cgi?id=26436.
// You must see green box with message 'This text should be seen',
// and black box below the green box.
test(function() {
function pixelToString(p) {
return "[" + p[0] + ", " + p[1] + ", " + p[2] + ", " + p[3] + "]"
}
var canvas = document.createElement("canvas");
canvas.height = 100;
canvas.width = 500;
canvas.style.height = "100";
canvas.style.width = "500";
document.body.appendChild(canvas);
var ctx = canvas.getContext('2d');
ctx.fillStyle = 'rgb(0,255,0)';
ctx.fillRect(0, 0, 500, 100);
ctx.fillStyle = 'rgb(0,0,0)';
ctx.fillText("This text should be seen", 20, 20);
ctx.translate(0, 50);
ctx.font = "10pt Arial";
ctx.fillText("This text should NOT be seen", 20, 20);
// If fillText resets the current context, this rectangle won't hide the text.
ctx.fillStyle = 'rgb(0,0,0)';
ctx.fillRect(0, 0, 500, 50);
// Pixel value at 0, 0
var pixel = ctx.getImageData(0, 0, 1, 1).data;
var expectedValue = [0, 255, 0, 255];
assert_array_equals(pixel, expectedValue);
});
</script>