--- /home/igalia/clopez/webkit/webkit/layout-test-results/fast/canvas/canvas-composite-text-alpha-expected.txt +++ /home/igalia/clopez/webkit/webkit/layout-test-results/fast/canvas/canvas-composite-text-alpha-actual.txt @@ -5,85 +5,127 @@ src 255, 0, 0, 255 src 255, 0, 0, 255 src 255, 0, 0, 255 src 0, 255, 0, 0 src 0, 255, 0, 1 src 255, 0, 0, 0 src 255, 0, 0, 127 src 255, 0, 0, 255 src 255, 0, 0, 127 src 127, 0, 0, 255 src 127, 0, 0, 127 src 255, 0, 0, 127 src 255, 127, 0, 32 src 255, 0, 0, 191 src 255, 0, 255, 191 dst 0, 255, 0, 255 dst 0, 255, 0, 0 dst 0, 255, 0, 1 dst 255, 0, 0, 255 dst 255, 0, 0, 255 dst 0, 255, 0, 255 dst 0, 255, 0, 127 dst 0, 255, 0, 127 dst 0, 255, 0, 255 dst 0, 127, 0, 127 dst 0, 127, 0, 255 dst 255, 0, 0, 63 dst 255, 63, 0, 63 dst 0, 255, 0, 127 dst 0, 255, 255, 127 source-over -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 0,255,0,1, destination: 255,0,0,255 +Unexpected composition! expected: 254,1,0,255 actual: 0,1,254,255, composite type: source-over, source: 0,255,0,1, destination: 255,0,0,255 +PASS +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-over, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 170,84,0,190 actual: 0,85,169,191, composite type: source-over, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-over, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected composition! expected: 127,128,0,255 actual: 0,128,127,255, composite type: source-over, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected source! expected: 127,0,0,255 actual: 0,0,127,255, composite type: source-over, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 127,0,0,255 actual: 0,0,127,255, composite type: source-over, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected source! expected: 126,0,0,127 actual: 0,0,126,127, composite type: source-over, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected composition! expected: 63,63,0,255 actual: 0,64,63,255, composite type: source-over, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-over, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected destination! expected: 255,0,0,63 actual: 0,0,255,63, composite type: source-over, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,158 actual: 0,0,255,159, composite type: source-over, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected source! expected: 255,127,0,32 actual: 0,127,255,32, composite type: source-over, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected destination! expected: 255,64,0,63 actual: 0,60,255,63, composite type: source-over, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,85,0,87 actual: 0,85,255,87, composite type: source-over, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected source! expected: 255,0,0,191 actual: 0,0,255,191, composite type: source-over, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 219,35,0,222 actual: 0,36,218,223, composite type: source-over, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected destination! expected: 0,255,255,127 actual: 255,255,0,127, composite type: source-over, source: 255,0,255,191, destination: 0,255,255,127 +Unexpected composition! expected: 219,35,255,222 actual: 255,36,218,223, composite type: source-over, source: 255,0,255,191, destination: 0,255,255,127 source-in -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-in, source: 255,0,0,255, destination: 0,255,0,255 +PASS +PASS +PASS +PASS +PASS +Unexpected composition! expected: 255,0,0,64 actual: 0,0,255,63, composite type: source-in, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-in, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-in, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected composition! expected: 128,0,0,127 actual: 0,0,126,127, composite type: source-in, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 126,0,0,127 actual: 0,0,126,127, composite type: source-in, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected composition! expected: 255,0,0,32 actual: 0,0,255,31, composite type: source-in, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,127,0,8 actual: 0,127,255,8, composite type: source-in, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,0,0,96 actual: 0,0,255,95, composite type: source-in, source: 255,0,0,191, destination: 0,255,0,127 PASS source-out -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-out, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-out, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-out, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-out, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected composition! expected: 255,0,0,254 actual: 0,0,255,254, composite type: source-out, source: 255,0,0,255, destination: 0,255,0,1 +PASS +PASS +PASS +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-out, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,64 actual: 0,0,255,64, composite type: source-out, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-out, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,128 actual: 0,0,255,128, composite type: source-out, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-out, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected source! expected: 127,0,0,255 actual: 0,0,127,255, composite type: source-out, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 127,0,0,128 actual: 0,0,127,128, composite type: source-out, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected source! expected: 126,0,0,127 actual: 0,0,126,127, composite type: source-out, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-out, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,96 actual: 0,0,255,96, composite type: source-out, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected source! expected: 255,127,0,32 actual: 0,127,255,32, composite type: source-out, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,132,0,25 actual: 0,127,255,24, composite type: source-out, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected source! expected: 255,0,0,191 actual: 0,0,255,191, composite type: source-out, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,96 actual: 0,0,255,96, composite type: source-out, source: 255,0,0,191, destination: 0,255,0,127 PASS source-atop -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-atop, source: 255,0,0,255, destination: 0,255,0,255 +PASS +PASS +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-atop, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-atop, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-atop, source: 0,255,0,1, destination: 255,0,0,255 +Unexpected composition! expected: 254,1,0,255 actual: 0,1,254,255, composite type: source-atop, source: 0,255,0,1, destination: 255,0,0,255 +PASS +Unexpected composition! expected: 126,126,0,127 actual: 0,128,126,127, composite type: source-atop, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-atop, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 127,128,0,255 actual: 0,128,127,255, composite type: source-atop, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected composition! expected: 128,0,0,127 actual: 0,0,126,127, composite type: source-atop, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 63,63,0,255 actual: 0,64,63,255, composite type: source-atop, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected destination! expected: 255,0,0,63 actual: 0,0,255,63, composite type: source-atop, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,63 actual: 0,0,255,63, composite type: source-atop, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected destination! expected: 255,64,0,63 actual: 0,60,255,63, composite type: source-atop, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,68,0,63 actual: 0,68,255,63, composite type: source-atop, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 190,62,0,127 actual: 0,64,190,127, composite type: source-atop, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected destination! expected: 0,255,255,127 actual: 255,255,0,127, composite type: source-atop, source: 255,0,255,191, destination: 0,255,255,127 +Unexpected composition! expected: 190,62,255,127 actual: 255,64,190,127, composite type: source-atop, source: 255,0,255,191, destination: 0,255,255,127 destination-over -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected composition! expected: 254,1,0,255 actual: 0,1,254,255, composite type: destination-over, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 0,255,0,1, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 0,255,0,1, destination: 255,0,0,255 +PASS +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: destination-over, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 84,170,0,190 actual: 0,169,85,191, composite type: destination-over, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 128,127,0,255 actual: 0,127,128,255, composite type: destination-over, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: destination-over, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected source! expected: 127,0,0,255 actual: 0,0,127,255, composite type: destination-over, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 63,63,0,255 actual: 0,63,64,255, composite type: destination-over, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected source! expected: 126,0,0,127 actual: 0,0,126,127, composite type: destination-over, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: destination-over, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected destination! expected: 255,0,0,63 actual: 0,0,255,63, composite type: destination-over, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,158 actual: 0,0,255,159, composite type: destination-over, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected source! expected: 255,127,0,32 actual: 0,127,255,32, composite type: destination-over, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected destination! expected: 255,64,0,63 actual: 0,60,255,63, composite type: destination-over, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,82,0,87 actual: 0,79,255,87, composite type: destination-over, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected source! expected: 255,0,0,191 actual: 0,0,255,191, composite type: destination-over, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 109,145,0,222 actual: 0,145,109,223, composite type: destination-over, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected destination! expected: 0,255,255,127 actual: 255,255,0,127, composite type: destination-over, source: 255,0,255,191, destination: 0,255,255,127 +Unexpected composition! expected: 109,145,255,222 actual: 255,145,109,223, composite type: destination-over, source: 255,0,255,191, destination: 0,255,255,127 destination-in PASS PASS @@ -96,174 +138,269 @@ PASS PASS PASS -PASS -PASS -PASS -PASS +Unexpected composition! expected: 255,0,0,32 actual: 0,0,255,31, composite type: destination-in, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,95,0,8 actual: 0,63,255,8, composite type: destination-in, source: 255,127,0,32, destination: 255,63,0,63 +PASS +Unexpected composition! expected: 0,255,255,96 actual: 255,255,0,95, composite type: destination-in, source: 255,0,255,191, destination: 0,255,255,127 destination-out PASS PASS PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-out, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-out, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-out, source: 0,255,0,1, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,254 actual: 0,0,255,254, composite type: destination-out, source: 0,255,0,1, destination: 255,0,0,255 +PASS +PASS +PASS +PASS +PASS +PASS +Unexpected destination! expected: 255,0,0,63 actual: 0,0,255,63, composite type: destination-out, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,32 actual: 0,0,255,32, composite type: destination-out, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected destination! expected: 255,64,0,63 actual: 0,60,255,63, composite type: destination-out, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,63,0,56 actual: 0,60,255,55, composite type: destination-out, source: 255,127,0,32, destination: 255,63,0,63 +PASS +Unexpected destination! expected: 0,255,255,127 actual: 255,255,0,127, composite type: destination-out, source: 255,0,255,191, destination: 0,255,255,127 +Unexpected composition! expected: 0,255,255,32 actual: 255,255,0,32, composite type: destination-out, source: 255,0,255,191, destination: 0,255,255,127 destination-atop -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-atop, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-atop, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-atop, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-atop, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected composition! expected: 254,1,0,255 actual: 0,1,254,255, composite type: destination-atop, source: 255,0,0,255, destination: 0,255,0,1 +PASS +PASS +PASS +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: destination-atop, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 126,126,0,127 actual: 0,126,128,127, composite type: destination-atop, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-atop, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 128,127,0,255 actual: 0,127,128,255, composite type: destination-atop, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: destination-atop, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected source! expected: 127,0,0,255 actual: 0,0,127,255, composite type: destination-atop, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 63,63,0,255 actual: 0,63,64,255, composite type: destination-atop, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected source! expected: 126,0,0,127 actual: 0,0,126,127, composite type: destination-atop, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: destination-atop, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,127, composite type: destination-atop, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected source! expected: 255,127,0,32 actual: 0,127,255,32, composite type: destination-atop, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,111,0,32 actual: 0,111,255,32, composite type: destination-atop, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected source! expected: 255,0,0,191 actual: 0,0,255,191, composite type: destination-atop, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 126,126,0,191 actual: 0,126,128,191, composite type: destination-atop, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 126,126,255,191 actual: 255,126,128,191, composite type: destination-atop, source: 255,0,255,191, destination: 0,255,255,127 lighter -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected composition! expected: 255,255,0,255 actual: 0,255,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected composition! expected: 255,1,0,255 actual: 0,1,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 0,255,0,1, destination: 255,0,0,255 +Unexpected composition! expected: 255,1,0,255 actual: 0,1,255,255, composite type: lighter, source: 0,255,0,1, destination: 255,0,0,255 +PASS +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: lighter, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 127,127,0,254 actual: 0,127,127,254, composite type: lighter, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 255,127,0,255 actual: 0,127,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: lighter, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected composition! expected: 127,255,0,255 actual: 0,255,127,255, composite type: lighter, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected source! expected: 127,0,0,255 actual: 0,0,127,255, composite type: lighter, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 127,63,0,255 actual: 0,63,127,255, composite type: lighter, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected source! expected: 126,0,0,127 actual: 0,0,126,127, composite type: lighter, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected composition! expected: 63,127,0,255 actual: 0,127,63,255, composite type: lighter, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: lighter, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected destination! expected: 255,0,0,63 actual: 0,0,255,63, composite type: lighter, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,190 actual: 0,0,255,190, composite type: lighter, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected source! expected: 255,127,0,32 actual: 0,127,255,32, composite type: lighter, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected destination! expected: 255,64,0,63 actual: 0,60,255,63, composite type: lighter, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,85,0,95 actual: 0,83,255,95, composite type: lighter, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected source! expected: 255,0,0,191 actual: 0,0,255,191, composite type: lighter, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 191,127,0,255 actual: 0,127,191,255, composite type: lighter, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected destination! expected: 0,255,255,127 actual: 255,255,0,127, composite type: lighter, source: 255,0,255,191, destination: 0,255,255,127 +Unexpected composition! expected: 191,127,255,255 actual: 255,127,191,255, composite type: lighter, source: 255,0,255,191, destination: 0,255,255,127 copy -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,1 +PASS +PASS +PASS +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: copy, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,127, composite type: copy, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: copy, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,127, composite type: copy, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected source! expected: 127,0,0,255 actual: 0,0,127,255, composite type: copy, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 127,0,0,255 actual: 0,0,127,255, composite type: copy, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected source! expected: 126,0,0,127 actual: 0,0,126,127, composite type: copy, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected composition! expected: 126,0,0,127 actual: 0,0,126,127, composite type: copy, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: copy, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,127, composite type: copy, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected source! expected: 255,127,0,32 actual: 0,127,255,32, composite type: copy, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,127,0,32 actual: 0,127,255,32, composite type: copy, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected source! expected: 255,0,0,191 actual: 0,0,255,191, composite type: copy, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,191 actual: 0,0,255,191, composite type: copy, source: 255,0,0,191, destination: 0,255,0,127 PASS xor -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected composition! expected: 255,0,0,254 actual: 0,0,255,254, composite type: xor, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 0,255,0,1, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,254 actual: 0,0,255,254, composite type: xor, source: 0,255,0,1, destination: 255,0,0,255 +PASS +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: xor, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 126,126,0,127 actual: 0,127,127,128, composite type: xor, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,128 actual: 0,0,255,128, composite type: xor, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: xor, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected source! expected: 127,0,0,255 actual: 0,0,127,255, composite type: xor, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 127,0,0,128 actual: 0,0,127,128, composite type: xor, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected source! expected: 126,0,0,127 actual: 0,0,126,127, composite type: xor, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: xor, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected destination! expected: 255,0,0,63 actual: 0,0,255,63, composite type: xor, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,128, composite type: xor, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected source! expected: 255,127,0,32 actual: 0,127,255,32, composite type: xor, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected destination! expected: 255,64,0,63 actual: 0,60,255,63, composite type: xor, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,83,0,79 actual: 0,80,255,79, composite type: xor, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected source! expected: 255,0,0,191 actual: 0,0,255,191, composite type: xor, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 190,62,0,127 actual: 0,63,191,128, composite type: xor, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected destination! expected: 0,255,255,127 actual: 255,255,0,127, composite type: xor, source: 255,0,255,191, destination: 0,255,255,127 +Unexpected composition! expected: 190,62,255,127 actual: 255,63,191,128, composite type: xor, source: 255,0,255,191, destination: 0,255,255,127 Tests for stroke text src 255, 0, 0, 255 src 255, 0, 0, 255 src 255, 0, 0, 255 src 0, 255, 0, 0 src 0, 255, 0, 1 src 255, 0, 0, 0 src 255, 0, 0, 127 src 255, 0, 0, 255 src 255, 0, 0, 127 src 127, 0, 0, 255 src 127, 0, 0, 127 src 255, 0, 0, 127 src 255, 127, 0, 32 src 255, 0, 0, 191 src 255, 0, 255, 191 dst 0, 255, 0, 255 dst 0, 255, 0, 0 dst 0, 255, 0, 1 dst 255, 0, 0, 255 dst 255, 0, 0, 255 dst 0, 255, 0, 255 dst 0, 255, 0, 127 dst 0, 255, 0, 127 dst 0, 255, 0, 255 dst 0, 127, 0, 127 dst 0, 127, 0, 255 dst 255, 0, 0, 63 dst 255, 63, 0, 63 dst 0, 255, 0, 127 dst 0, 255, 255, 127 source-over -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 0,255,0,1, destination: 255,0,0,255 +Unexpected composition! expected: 254,1,0,255 actual: 0,1,254,255, composite type: source-over, source: 0,255,0,1, destination: 255,0,0,255 +PASS +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-over, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 170,84,0,190 actual: 0,85,169,191, composite type: source-over, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-over, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-over, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected composition! expected: 127,128,0,255 actual: 0,128,127,255, composite type: source-over, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected source! expected: 127,0,0,255 actual: 0,0,127,255, composite type: source-over, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 127,0,0,255 actual: 0,0,127,255, composite type: source-over, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected source! expected: 126,0,0,127 actual: 0,0,126,127, composite type: source-over, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected composition! expected: 63,63,0,255 actual: 0,64,63,255, composite type: source-over, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-over, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected destination! expected: 255,0,0,63 actual: 0,0,255,63, composite type: source-over, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,158 actual: 0,0,255,159, composite type: source-over, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected source! expected: 255,127,0,32 actual: 0,127,255,32, composite type: source-over, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected destination! expected: 255,64,0,63 actual: 0,60,255,63, composite type: source-over, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,85,0,87 actual: 0,85,255,87, composite type: source-over, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected source! expected: 255,0,0,191 actual: 0,0,255,191, composite type: source-over, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 219,35,0,222 actual: 0,36,218,223, composite type: source-over, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected destination! expected: 0,255,255,127 actual: 255,255,0,127, composite type: source-over, source: 255,0,255,191, destination: 0,255,255,127 +Unexpected composition! expected: 219,35,255,222 actual: 255,36,218,223, composite type: source-over, source: 255,0,255,191, destination: 0,255,255,127 source-in -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-in, source: 255,0,0,255, destination: 0,255,0,255 +PASS +PASS +PASS +PASS +PASS +Unexpected composition! expected: 255,0,0,64 actual: 0,0,255,63, composite type: source-in, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-in, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-in, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected composition! expected: 128,0,0,127 actual: 0,0,126,127, composite type: source-in, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 126,0,0,127 actual: 0,0,126,127, composite type: source-in, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected composition! expected: 255,0,0,32 actual: 0,0,255,31, composite type: source-in, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,127,0,8 actual: 0,127,255,8, composite type: source-in, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,0,0,96 actual: 0,0,255,95, composite type: source-in, source: 255,0,0,191, destination: 0,255,0,127 PASS source-out -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-out, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-out, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-out, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-out, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected composition! expected: 255,0,0,254 actual: 0,0,255,254, composite type: source-out, source: 255,0,0,255, destination: 0,255,0,1 +PASS +PASS +PASS +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-out, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,64 actual: 0,0,255,64, composite type: source-out, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-out, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,128 actual: 0,0,255,128, composite type: source-out, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-out, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected source! expected: 127,0,0,255 actual: 0,0,127,255, composite type: source-out, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 127,0,0,128 actual: 0,0,127,128, composite type: source-out, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected source! expected: 126,0,0,127 actual: 0,0,126,127, composite type: source-out, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-out, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,96 actual: 0,0,255,96, composite type: source-out, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected source! expected: 255,127,0,32 actual: 0,127,255,32, composite type: source-out, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,132,0,25 actual: 0,127,255,24, composite type: source-out, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected source! expected: 255,0,0,191 actual: 0,0,255,191, composite type: source-out, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,96 actual: 0,0,255,96, composite type: source-out, source: 255,0,0,191, destination: 0,255,0,127 PASS source-atop -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-atop, source: 255,0,0,255, destination: 0,255,0,255 +PASS +PASS +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-atop, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-atop, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: source-atop, source: 0,255,0,1, destination: 255,0,0,255 +Unexpected composition! expected: 254,1,0,255 actual: 0,1,254,255, composite type: source-atop, source: 0,255,0,1, destination: 255,0,0,255 +PASS +Unexpected composition! expected: 126,126,0,127 actual: 0,128,126,127, composite type: source-atop, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,127, composite type: source-atop, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 127,128,0,255 actual: 0,128,127,255, composite type: source-atop, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected composition! expected: 128,0,0,127 actual: 0,0,126,127, composite type: source-atop, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 63,63,0,255 actual: 0,64,63,255, composite type: source-atop, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected destination! expected: 255,0,0,63 actual: 0,0,255,63, composite type: source-atop, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,63 actual: 0,0,255,63, composite type: source-atop, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected destination! expected: 255,64,0,63 actual: 0,60,255,63, composite type: source-atop, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,68,0,63 actual: 0,68,255,63, composite type: source-atop, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 190,62,0,127 actual: 0,64,190,127, composite type: source-atop, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected destination! expected: 0,255,255,127 actual: 255,255,0,127, composite type: source-atop, source: 255,0,255,191, destination: 0,255,255,127 +Unexpected composition! expected: 190,62,255,127 actual: 255,64,190,127, composite type: source-atop, source: 255,0,255,191, destination: 0,255,255,127 destination-over -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected composition! expected: 254,1,0,255 actual: 0,1,254,255, composite type: destination-over, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 0,255,0,1, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 0,255,0,1, destination: 255,0,0,255 +PASS +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: destination-over, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 84,170,0,190 actual: 0,169,85,191, composite type: destination-over, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-over, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 128,127,0,255 actual: 0,127,128,255, composite type: destination-over, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: destination-over, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected source! expected: 127,0,0,255 actual: 0,0,127,255, composite type: destination-over, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 63,63,0,255 actual: 0,63,64,255, composite type: destination-over, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected source! expected: 126,0,0,127 actual: 0,0,126,127, composite type: destination-over, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: destination-over, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected destination! expected: 255,0,0,63 actual: 0,0,255,63, composite type: destination-over, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,158 actual: 0,0,255,159, composite type: destination-over, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected source! expected: 255,127,0,32 actual: 0,127,255,32, composite type: destination-over, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected destination! expected: 255,64,0,63 actual: 0,60,255,63, composite type: destination-over, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,82,0,87 actual: 0,79,255,87, composite type: destination-over, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected source! expected: 255,0,0,191 actual: 0,0,255,191, composite type: destination-over, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 109,145,0,222 actual: 0,145,109,223, composite type: destination-over, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected destination! expected: 0,255,255,127 actual: 255,255,0,127, composite type: destination-over, source: 255,0,255,191, destination: 0,255,255,127 +Unexpected composition! expected: 109,145,255,222 actual: 255,145,109,223, composite type: destination-over, source: 255,0,255,191, destination: 0,255,255,127 destination-in PASS PASS @@ -276,88 +413,141 @@ PASS PASS PASS -PASS -PASS -PASS -PASS +Unexpected composition! expected: 255,0,0,32 actual: 0,0,255,31, composite type: destination-in, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,95,0,8 actual: 0,63,255,8, composite type: destination-in, source: 255,127,0,32, destination: 255,63,0,63 +PASS +Unexpected composition! expected: 0,255,255,96 actual: 255,255,0,95, composite type: destination-in, source: 255,0,255,191, destination: 0,255,255,127 destination-out PASS PASS PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-out, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-out, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-out, source: 0,255,0,1, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,254 actual: 0,0,255,254, composite type: destination-out, source: 0,255,0,1, destination: 255,0,0,255 +PASS +PASS +PASS +PASS +PASS +PASS +Unexpected destination! expected: 255,0,0,63 actual: 0,0,255,63, composite type: destination-out, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,32 actual: 0,0,255,32, composite type: destination-out, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected destination! expected: 255,64,0,63 actual: 0,60,255,63, composite type: destination-out, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,63,0,56 actual: 0,60,255,55, composite type: destination-out, source: 255,127,0,32, destination: 255,63,0,63 +PASS +Unexpected destination! expected: 0,255,255,127 actual: 255,255,0,127, composite type: destination-out, source: 255,0,255,191, destination: 0,255,255,127 +Unexpected composition! expected: 0,255,255,32 actual: 255,255,0,32, composite type: destination-out, source: 255,0,255,191, destination: 0,255,255,127 destination-atop -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-atop, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-atop, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-atop, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-atop, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected composition! expected: 254,1,0,255 actual: 0,1,254,255, composite type: destination-atop, source: 255,0,0,255, destination: 0,255,0,1 +PASS +PASS +PASS +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: destination-atop, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 126,126,0,127 actual: 0,126,128,127, composite type: destination-atop, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: destination-atop, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 128,127,0,255 actual: 0,127,128,255, composite type: destination-atop, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: destination-atop, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected source! expected: 127,0,0,255 actual: 0,0,127,255, composite type: destination-atop, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 63,63,0,255 actual: 0,63,64,255, composite type: destination-atop, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected source! expected: 126,0,0,127 actual: 0,0,126,127, composite type: destination-atop, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: destination-atop, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,127, composite type: destination-atop, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected source! expected: 255,127,0,32 actual: 0,127,255,32, composite type: destination-atop, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,111,0,32 actual: 0,111,255,32, composite type: destination-atop, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected source! expected: 255,0,0,191 actual: 0,0,255,191, composite type: destination-atop, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 126,126,0,191 actual: 0,126,128,191, composite type: destination-atop, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 126,126,255,191 actual: 255,126,128,191, composite type: destination-atop, source: 255,0,255,191, destination: 0,255,255,127 lighter -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected composition! expected: 255,255,0,255 actual: 0,255,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected composition! expected: 255,1,0,255 actual: 0,1,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 0,255,0,1, destination: 255,0,0,255 +Unexpected composition! expected: 255,1,0,255 actual: 0,1,255,255, composite type: lighter, source: 0,255,0,1, destination: 255,0,0,255 +PASS +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: lighter, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 127,127,0,254 actual: 0,127,127,254, composite type: lighter, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 255,127,0,255 actual: 0,127,255,255, composite type: lighter, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: lighter, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected composition! expected: 127,255,0,255 actual: 0,255,127,255, composite type: lighter, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected source! expected: 127,0,0,255 actual: 0,0,127,255, composite type: lighter, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 127,63,0,255 actual: 0,63,127,255, composite type: lighter, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected source! expected: 126,0,0,127 actual: 0,0,126,127, composite type: lighter, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected composition! expected: 63,127,0,255 actual: 0,127,63,255, composite type: lighter, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: lighter, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected destination! expected: 255,0,0,63 actual: 0,0,255,63, composite type: lighter, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,190 actual: 0,0,255,190, composite type: lighter, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected source! expected: 255,127,0,32 actual: 0,127,255,32, composite type: lighter, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected destination! expected: 255,64,0,63 actual: 0,60,255,63, composite type: lighter, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,85,0,95 actual: 0,83,255,95, composite type: lighter, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected source! expected: 255,0,0,191 actual: 0,0,255,191, composite type: lighter, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 191,127,0,255 actual: 0,127,191,255, composite type: lighter, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected destination! expected: 0,255,255,127 actual: 255,255,0,127, composite type: lighter, source: 255,0,255,191, destination: 0,255,255,127 +Unexpected composition! expected: 191,127,255,255 actual: 255,127,191,255, composite type: lighter, source: 255,0,255,191, destination: 0,255,255,127 copy -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,1 +PASS +PASS +PASS +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: copy, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,127, composite type: copy, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: copy, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: copy, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,127, composite type: copy, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected source! expected: 127,0,0,255 actual: 0,0,127,255, composite type: copy, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 127,0,0,255 actual: 0,0,127,255, composite type: copy, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected source! expected: 126,0,0,127 actual: 0,0,126,127, composite type: copy, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected composition! expected: 126,0,0,127 actual: 0,0,126,127, composite type: copy, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: copy, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,127, composite type: copy, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected source! expected: 255,127,0,32 actual: 0,127,255,32, composite type: copy, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,127,0,32 actual: 0,127,255,32, composite type: copy, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected source! expected: 255,0,0,191 actual: 0,0,255,191, composite type: copy, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,191 actual: 0,0,255,191, composite type: copy, source: 255,0,0,191, destination: 0,255,0,127 PASS xor -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS -PASS +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 255,0,0,255, destination: 0,255,0,255 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 255,0,0,255, destination: 0,255,0,0 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected composition! expected: 255,0,0,254 actual: 0,0,255,254, composite type: xor, source: 255,0,0,255, destination: 0,255,0,1 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 0,255,0,0, destination: 255,0,0,255 +Unexpected destination! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 0,255,0,1, destination: 255,0,0,255 +Unexpected composition! expected: 255,0,0,254 actual: 0,0,255,254, composite type: xor, source: 0,255,0,1, destination: 255,0,0,255 +PASS +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: xor, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected composition! expected: 126,126,0,127 actual: 0,127,127,128, composite type: xor, source: 255,0,0,127, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,255 actual: 0,0,255,255, composite type: xor, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected composition! expected: 255,0,0,128 actual: 0,0,255,128, composite type: xor, source: 255,0,0,255, destination: 0,255,0,127 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: xor, source: 255,0,0,127, destination: 0,255,0,255 +Unexpected source! expected: 127,0,0,255 actual: 0,0,127,255, composite type: xor, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected composition! expected: 127,0,0,128 actual: 0,0,127,128, composite type: xor, source: 127,0,0,255, destination: 0,127,0,127 +Unexpected source! expected: 126,0,0,127 actual: 0,0,126,127, composite type: xor, source: 127,0,0,127, destination: 0,127,0,255 +Unexpected source! expected: 255,0,0,127 actual: 0,0,255,127, composite type: xor, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected destination! expected: 255,0,0,63 actual: 0,0,255,63, composite type: xor, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected composition! expected: 255,0,0,127 actual: 0,0,255,128, composite type: xor, source: 255,0,0,127, destination: 255,0,0,63 +Unexpected source! expected: 255,127,0,32 actual: 0,127,255,32, composite type: xor, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected destination! expected: 255,64,0,63 actual: 0,60,255,63, composite type: xor, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected composition! expected: 255,83,0,79 actual: 0,80,255,79, composite type: xor, source: 255,127,0,32, destination: 255,63,0,63 +Unexpected source! expected: 255,0,0,191 actual: 0,0,255,191, composite type: xor, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected composition! expected: 190,62,0,127 actual: 0,63,191,128, composite type: xor, source: 255,0,0,191, destination: 0,255,0,127 +Unexpected destination! expected: 0,255,255,127 actual: 255,255,0,127, composite type: xor, source: 255,0,255,191, destination: 0,255,255,127 +Unexpected composition! expected: 190,62,255,127 actual: 255,63,191,128, composite type: xor, source: 255,0,255,191, destination: 0,255,255,127