blob: 30fe35f01110e4e0c6909b8c0ee96e676a6d7f44 [file] [log] [blame]
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<body>
<script>
test(function(t) {
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
var canvasWidth = 100;
var canvasHeight = 50;
canvas.setWidth = canvasWidth;
canvas.setHeight = canvasHeight;
ctx.fillStyle = '#0f0';
ctx.fillRect(0, 0, canvasWidth, canvasHeight);
ctx.font = '35px Arial, sans-serif';
ctx.strokeStyle = '#f00';
ctx.strokeText("fail fail fail fail fail", 5, 35, 0);
var imageData = ctx.getImageData(0, 0, canvasWidth, canvasHeight);
var w = imageData.width, h = imageData.height, d = imageData.data;
var testPassed = true;
var expectedColor = [0, 255, 0, 255];
mainLoop1:
for (var i = 0; i < h; ++i) {
for (var k = 0; k < 4; ++k) {
var j = w;
while (--j > 0 && d[4 * (w * i + j) + k] == expectedColor[k]);
testPassed = testPassed && j == 0;
if(!testPassed)
break mainLoop1;
}
}
assert_true(testPassed);
ctx.fillStyle = '#0f0';
ctx.fillRect(0, 0, canvasWidth, canvasHeight);
ctx.strokeStyle = '#f00';
ctx.strokeText("fail fail fail fail fail", 5, 35, -1);
imageData = ctx.getImageData(0, 0, canvasWidth, canvasHeight);
d = imageData.data;
testPassed = true;
mainLoop2:
for (var i = 0; i < h; ++i) {
for (var k = 0; k < 4; ++k) {
var j = w;
while (--j > 0 && d[4 * (w * i + j) + k] == expectedColor[k]);
testPassed = testPassed && j == 0;
if(!testPassed)
break mainLoop2;
}
}
assert_true(testPassed);
}, 'Series of tests to ensure that strokeText() does not display any text when maxWidth is invalid.');
</script>
</body>