| import QtQuick 2.0 |
| |
| CanvasTestCase { |
| id:testCase |
| name: "fillStyle" |
| function init_data() { return testData("2d"); } |
| function test_default(row) { |
| var canvas = createCanvasObject(row); |
| var ctx = canvas.getContext('2d'); |
| ctx.reset(); |
| verify(ctx.fillStyle, "#000000"); |
| ctx.clearRect(0, 0, 1, 1); |
| compare(ctx.fillStyle, "#000000"); |
| } |
| function test_get(row) { |
| var canvas = createCanvasObject(row); |
| var ctx = canvas.getContext('2d'); |
| ctx.reset(); |
| ctx.fillStyle = '#fa0'; |
| compare(ctx.fillStyle, '#ffaa00'); |
| ctx.fillStyle = Qt.rgba(0,0,0,0); |
| compare(ctx.fillStyle, 'rgba(0, 0, 0, 0.0)'); |
| } |
| function test_hex(row) { |
| var canvas = createCanvasObject(row); |
| var ctx = canvas.getContext('2d'); |
| ctx.reset(); |
| ctx.fillStyle = '#f00'; |
| compare(ctx.fillStyle, '#ff0000'); |
| ctx.fillStyle = "#0f0"; |
| compare(ctx.fillStyle, '#00ff00'); |
| ctx.fillStyle = "#0fF"; |
| compare(ctx.fillStyle, '#00ffff'); |
| ctx.fillStyle = "#0aCCfb"; |
| compare(ctx.fillStyle, '#0accfb'); |
| |
| } |
| function test_invalid(row) { |
| var canvas = createCanvasObject(row); |
| var ctx = canvas.getContext('2d'); |
| ctx.reset(); |
| ctx.fillStyle = '#fa0'; |
| compare(ctx.fillStyle, '#ffaa00'); |
| ctx.fillStyle = "invalid"; |
| compare(ctx.fillStyle, '#ffaa00'); |
| ctx.fillStyle = "rgb (1, 2, 3)"; |
| compare(ctx.fillStyle, '#ffaa00'); |
| ctx.fillStyle = '#fa0'; |
| |
| ctx.fillStyle = "rgba(3, 1, 2)"; |
| compare(ctx.fillStyle, '#ffaa00'); |
| ctx.fillStyle = "rgb((3,4,1)"; |
| compare(ctx.fillStyle, '#ffaa00'); |
| ctx.fillStyle = "rgb(1, 3, 4, 0.5)"; |
| compare(ctx.fillStyle, '#ffaa00'); |
| ctx.fillStyle = "hsl(2, 3, 4, 0.8)"; |
| compare(ctx.fillStyle, '#ffaa00'); |
| ctx.fillStyle = "hsl(2, 3, 4"; |
| compare(ctx.fillStyle, '#ffaa00'); |
| } |
| function test_saverestore(row) { |
| var canvas = createCanvasObject(row); |
| var ctx = canvas.getContext('2d'); |
| var old = ctx.fillStyle; |
| ctx.save(); |
| ctx.fillStyle = "#ffaaff"; |
| ctx.restore(); |
| compare(ctx.fillStyle, old); |
| |
| ctx.fillStyle = "#ffcc88"; |
| old = ctx.fillStyle; |
| ctx.save(); |
| compare(ctx.fillStyle, old); |
| ctx.restore(); |
| } |
| function test_namedColor(row) { |
| var canvas = createCanvasObject(row); |
| var ctx = canvas.getContext('2d'); |
| ctx.reset(); |
| ctx.fillStyle = "red"; |
| ctx.fillRect(0,0,1,1); |
| comparePixel(ctx,0,0,255,0,0,255); |
| |
| ctx.fillStyle = "black"; |
| ctx.fillRect(0,0,1,1); |
| comparePixel(ctx,0,0,0,0,0,255); |
| |
| ctx.fillStyle = "white"; |
| ctx.fillRect(0,0,1,1); |
| comparePixel(ctx,0,0,255,255,255,255); |
| } |
| function test_rgba(row) { |
| var canvas = createCanvasObject(row); |
| var ctx = canvas.getContext('2d'); |
| ctx.reset(); |
| ctx.fillStyle = "rgb(-100, 300, 255)"; |
| compare(ctx.fillStyle, "#00ffff"); |
| ctx.fillStyle = "rgba(-100, 300, 255, 0.0)"; |
| compare(ctx.fillStyle, "rgba(0, 255, 255, 0.0)"); |
| ctx.fillStyle = "rgb(-10%, 110%, 50%)"; |
| compare(ctx.fillStyle, "#00ff80"); |
| |
| ctx.clearRect(0, 0, 1, 1); |
| ctx.fillStyle = 'rgba(0%, 100%, 0%, 0.499)'; |
| ctx.fillRect(0, 0, 1, 1); |
| comparePixel(ctx, 0,0, 0,255,0,127); |
| } |
| |
| function test_hsla(row) { |
| var canvas = createCanvasObject(row); |
| var ctx = canvas.getContext('2d'); |
| ctx.reset(); |
| ctx.fillStyle = "hsla(120, 100%, 50%, 0.499)"; |
| ctx.fillRect(0, 0, 1, 1); |
| comparePixel(ctx,0,0,0,255,0,127); |
| } |
| } |