// DO NOT EDIT! This test has been generated by tools/gentest.py.
// OffscreenCanvas test in a worker:2d.line.cap.valid
// Description:Setting lineCap to valid values works
// Note:

importScripts("/resources/testharness.js");
importScripts("/common/canvas-tests.js");

var t = async_test("Setting lineCap to valid values works");
t.step(function() {

var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');

ctx.lineCap = 'butt'
_assertSame(ctx.lineCap, 'butt', "ctx.lineCap", "'butt'");
ctx.lineCap = 'round';
_assertSame(ctx.lineCap, 'round', "ctx.lineCap", "'round'");
ctx.lineCap = 'square';
_assertSame(ctx.lineCap, 'square', "ctx.lineCap", "'square'");

t.done();

});
done();
