| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <body> |
| <canvas id="canvas" width=600 height=300 style="border:5px solid black"> |
| <script> |
| // Compare sections of a <canvas> to assert they are identical, or nearly so. |
| function compareRows(ctx, y0, y1, width, height, allowableDifference) { |
| var data0 = ctx.getImageData(0, y0, width, height).data; |
| var data1 = ctx.getImageData(0, y1, width, height).data; |
| for (var i = 0; i < data0.length; ++i) |
| assert_approx_equals(data0[i], data1[i], allowableDifference); |
| } |
| |
| ctx = document.getElementById("canvas").getContext("2d"); |
| ctx.strokeStyle = 'blue'; |
| |
| test(function(t) { |
| |
| for (var j = 0; j < 3; ++j) { |
| ctx.beginPath(); |
| for (var i = 0; i < 60; ++i) { |
| var x = i * 10; |
| var y = j * 100 + 30 + (i % 15); |
| if (i == 0) { |
| ctx.moveTo(x, y); |
| } else { |
| ctx.lineTo(x, y); |
| } |
| } |
| ctx.stroke(); |
| |
| if (j == 0) { |
| assert_equals(ctx.lineWidth, 1); |
| ctx.lineWidth = ctx.lineWidth; |
| assert_equals(ctx.lineWidth, 1); |
| } else { |
| assert_equals(ctx.lineWidth, 1); |
| ctx.lineWidth = 1; |
| assert_equals(ctx.lineWidth, 1); |
| } |
| } |
| |
| // Make sure that all rows are nearly identical. |
| // (Tiny variations are OK.) |
| compareRows(ctx, 0, 100, 600, 100, 1); |
| compareRows(ctx, 0, 200, 600, 100, 1); |
| |
| }, 'Test that the default lineWidth is consistent.'); |
| </script> |
| </body> |