This repository was archived by the owner on Dec 5, 2018. It is now read-only.
This repository was archived by the owner on Dec 5, 2018. It is now read-only.
Open
Description
The following code will return different results when run in the browser or run as a unit test:
size(100,100);
var curContext = externals.context;
ellipse(0, 50, 33, 33); // Left circle
console.log("expected 1/#ffffff (or rgba(255,255,255,1)): " + curContext.lineWidth + "/" + curContext.fillStyle);
pushStyle(); // Start a new style
strokeWeight(10);
fill(204, 153, 0);
ellipse(33, 50, 33, 33); // Left-middle circle
console.log("expected 10/#cc9900 (or rgba(204,153,0,1)): " + curContext.lineWidth + "/" + curContext.fillStyle);
pushStyle(); // Start another new style
strokeWeight(8);
fill(153, 0, 0);
stroke(0, 102, 153);
ellipse(66, 50, 33, 33); // Right-middle circle
console.log("expected 8/#990000 (or rgba(153,0,0,1)): " + curContext.lineWidth + "/" + curContext.fillStyle);
popStyle(); // Restore previous style
console.log("expected 10/#cc9900 (or rgba(204,153,0,1)): " + curContext.lineWidth + "/" + curContext.fillStyle);
popStyle(); // Restore original style
console.log("expected 1/#ffffff (or rgba(255,255,255,1)): " + curContext.lineWidth + "/" + curContext.fillStyle);
ellipse(100, 50, 33, 33); // Right circle
In the browser all console.log
calls will show the correct results. When run as unit tests curContext.lineWidth
will return function () {}
instead of 1
on the first console.log
call. The second and third calls will be correct but the last two console.log
calls will incorrectly show the same result as the third one (in other words popStyle
will have no effect on the values of curContext.lineWidth
and curContext.fillStyle
.
See discussion in #234 as to where the potential issue may lie.
If this can be fixed it'd be good to later add unit tests for most style changes that can be done with pushStyle/popStyle
.
Metadata
Metadata
Assignees
Labels
No labels