This test verifies that dragging a color from one input to another changes the color of the second input. To test manually, drag from inputs on the left and drop into inputs on the right.

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


Drag and drop should work between two color inputs.


Disabled color inputs should not be draggable.


Disabled color inputs should not change color when a color is dropped.


Read-only color inputs should behave like default color inputs.


PASS element('src').value is "#ff0000"
PASS element('dest').value is "#ff0000"
PASS element('disabled-src').value is "#9a9a9a"
PASS element('dest-disabled-src').value is "#ff0000"
PASS element('src-disabled-dest').value is "#ff0000"
PASS element('disabled-dest').value is "#9a9a9a"
PASS element('readonly-src').value is "#ff0000"
PASS element('readonly-dest').value is "#ff0000"
PASS successfullyParsed is true

TEST COMPLETE

