
PASS Test that getContext with un-supported string throws a TypeError. 
FAIL Test that getContext with supported string returns correct results Can't find variable: OffscreenCanvasRenderingContext2D
FAIL Test that getContext twice with different context type returns null the second time The object is in an invalid state.
PASS Test that 2dcontext.canvas should return the original OffscreenCanvas 
PASS Test that webglcontext.canvas should return the original OffscreenCanvas 
FAIL Test that OffscreenCanvasRenderingContext2D with alpha disabled makes the OffscreenCanvas opaque assert_approx_equals: Green channel of the pixel at (5, 5) expected 127 +/- 2 but got 255
PASS Test that OffscreenCanvasRenderingContext2D with alpha enabled preserves the alpha 
PASS Test that 'alpha' context creation attribute is true by default 

