Series of tests to ensure correct results on applying different blend modes when drawing a rectangle with shadow.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Running test in non accelerated mode

Testing blend mode source-over
PASS actualColor(0, 0)[0] is within 5 of 255
PASS actualColor(0, 0)[1] is within 5 of 129
PASS actualColor(0, 0)[2] is within 5 of 129
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 255
PASS actualColor(11, 11)[1] is within 5 of 129
PASS actualColor(11, 11)[2] is within 5 of 129
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode multiply
PASS actualColor(0, 0)[0] is within 5 of 129
PASS actualColor(0, 0)[1] is within 5 of 129
PASS actualColor(0, 0)[2] is within 5 of 65.25882352941176
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 192
PASS actualColor(11, 11)[1] is within 5 of 97.12941176470588
PASS actualColor(11, 11)[2] is within 5 of 97.12941176470588
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode screen
PASS actualColor(0, 0)[0] is within 5 of 255
PASS actualColor(0, 0)[1] is within 5 of 255
PASS actualColor(0, 0)[2] is within 5 of 192.74117647058821
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 255
PASS actualColor(11, 11)[1] is within 5 of 223.87058823529412
PASS actualColor(11, 11)[2] is within 5 of 223.87058823529412
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode overlay
PASS actualColor(0, 0)[0] is within 5 of 255
PASS actualColor(0, 0)[1] is within 5 of 255
PASS actualColor(0, 0)[2] is within 5 of 130.48235294117646
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 255
PASS actualColor(11, 11)[1] is within 5 of 192.74117647058821
PASS actualColor(11, 11)[2] is within 5 of 192.74117647058821
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode darken
PASS actualColor(0, 0)[0] is within 5 of 129
PASS actualColor(0, 0)[1] is within 5 of 129
PASS actualColor(0, 0)[2] is within 5 of 129
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 192
PASS actualColor(11, 11)[1] is within 5 of 129
PASS actualColor(11, 11)[2] is within 5 of 129
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode lighten
PASS actualColor(0, 0)[0] is within 5 of 255
PASS actualColor(0, 0)[1] is within 5 of 255
PASS actualColor(0, 0)[2] is within 5 of 129
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 255
PASS actualColor(11, 11)[1] is within 5 of 192
PASS actualColor(11, 11)[2] is within 5 of 192
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode color-dodge
PASS actualColor(0, 0)[0] is within 5 of 255
PASS actualColor(0, 0)[1] is within 5 of 255
PASS actualColor(0, 0)[2] is within 5 of 255
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 255
PASS actualColor(11, 11)[1] is within 5 of 255
PASS actualColor(11, 11)[2] is within 5 of 255
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode color-burn
PASS actualColor(0, 0)[0] is within 5 of 129
PASS actualColor(0, 0)[1] is within 5 of 255
PASS actualColor(0, 0)[2] is within 5 of 5.930232558139517
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 192
PASS actualColor(11, 11)[1] is within 5 of 130.46511627906978
PASS actualColor(11, 11)[2] is within 5 of 130.46511627906978
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode hard-light
PASS actualColor(0, 0)[0] is within 5 of 255
PASS actualColor(0, 0)[1] is within 5 of 255
PASS actualColor(0, 0)[2] is within 5 of 130.48235294117646
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 255
PASS actualColor(11, 11)[1] is within 5 of 192.74117647058821
PASS actualColor(11, 11)[2] is within 5 of 192.74117647058821
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode difference
PASS actualColor(0, 0)[0] is within 5 of 126
PASS actualColor(0, 0)[1] is within 5 of 126
PASS actualColor(0, 0)[2] is within 5 of 0
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 63
PASS actualColor(11, 11)[1] is within 5 of 63
PASS actualColor(11, 11)[2] is within 5 of 63
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode exclusion
PASS actualColor(0, 0)[0] is within 5 of 126
PASS actualColor(0, 0)[1] is within 5 of 126
PASS actualColor(0, 0)[2] is within 5 of 127.48235294117649
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 63
PASS actualColor(11, 11)[1] is within 5 of 126.74117647058823
PASS actualColor(11, 11)[2] is within 5 of 126.74117647058823
PASS actualColor(11, 11)[3] is within 5 of 255

Running test in hardware accelerated mode

Testing blend mode source-over
PASS actualColor(0, 0)[0] is within 5 of 255
PASS actualColor(0, 0)[1] is within 5 of 129
PASS actualColor(0, 0)[2] is within 5 of 129
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 255
PASS actualColor(11, 11)[1] is within 5 of 129
PASS actualColor(11, 11)[2] is within 5 of 129
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode multiply
PASS actualColor(0, 0)[0] is within 5 of 129
PASS actualColor(0, 0)[1] is within 5 of 129
PASS actualColor(0, 0)[2] is within 5 of 65.25882352941176
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 192
PASS actualColor(11, 11)[1] is within 5 of 97.12941176470588
PASS actualColor(11, 11)[2] is within 5 of 97.12941176470588
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode screen
PASS actualColor(0, 0)[0] is within 5 of 255
PASS actualColor(0, 0)[1] is within 5 of 255
PASS actualColor(0, 0)[2] is within 5 of 192.74117647058821
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 255
PASS actualColor(11, 11)[1] is within 5 of 223.87058823529412
PASS actualColor(11, 11)[2] is within 5 of 223.87058823529412
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode overlay
PASS actualColor(0, 0)[0] is within 5 of 255
PASS actualColor(0, 0)[1] is within 5 of 255
PASS actualColor(0, 0)[2] is within 5 of 130.48235294117646
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 255
PASS actualColor(11, 11)[1] is within 5 of 192.74117647058821
PASS actualColor(11, 11)[2] is within 5 of 192.74117647058821
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode darken
PASS actualColor(0, 0)[0] is within 5 of 129
PASS actualColor(0, 0)[1] is within 5 of 129
PASS actualColor(0, 0)[2] is within 5 of 129
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 192
PASS actualColor(11, 11)[1] is within 5 of 129
PASS actualColor(11, 11)[2] is within 5 of 129
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode lighten
PASS actualColor(0, 0)[0] is within 5 of 255
PASS actualColor(0, 0)[1] is within 5 of 255
PASS actualColor(0, 0)[2] is within 5 of 129
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 255
PASS actualColor(11, 11)[1] is within 5 of 192
PASS actualColor(11, 11)[2] is within 5 of 192
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode color-dodge
PASS actualColor(0, 0)[0] is within 5 of 255
PASS actualColor(0, 0)[1] is within 5 of 255
PASS actualColor(0, 0)[2] is within 5 of 255
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 255
PASS actualColor(11, 11)[1] is within 5 of 255
PASS actualColor(11, 11)[2] is within 5 of 255
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode color-burn
PASS actualColor(0, 0)[0] is within 5 of 129
PASS actualColor(0, 0)[1] is within 5 of 255
PASS actualColor(0, 0)[2] is within 5 of 5.930232558139517
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 192
PASS actualColor(11, 11)[1] is within 5 of 130.46511627906978
PASS actualColor(11, 11)[2] is within 5 of 130.46511627906978
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode hard-light
PASS actualColor(0, 0)[0] is within 5 of 255
PASS actualColor(0, 0)[1] is within 5 of 255
PASS actualColor(0, 0)[2] is within 5 of 130.48235294117646
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 255
PASS actualColor(11, 11)[1] is within 5 of 192.74117647058821
PASS actualColor(11, 11)[2] is within 5 of 192.74117647058821
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode difference
PASS actualColor(0, 0)[0] is within 5 of 126
PASS actualColor(0, 0)[1] is within 5 of 126
PASS actualColor(0, 0)[2] is within 5 of 0
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 63
PASS actualColor(11, 11)[1] is within 5 of 63
PASS actualColor(11, 11)[2] is within 5 of 63
PASS actualColor(11, 11)[3] is within 5 of 255

Testing blend mode exclusion
PASS actualColor(0, 0)[0] is within 5 of 126
PASS actualColor(0, 0)[1] is within 5 of 126
PASS actualColor(0, 0)[2] is within 5 of 127.48235294117649
PASS actualColor(0, 0)[3] is within 5 of 255
PASS actualColor(11, 11)[0] is within 5 of 63
PASS actualColor(11, 11)[1] is within 5 of 126.74117647058823
PASS actualColor(11, 11)[2] is within 5 of 126.74117647058823
PASS actualColor(11, 11)[3] is within 5 of 255

PASS successfullyParsed is true

TEST COMPLETE

