Check if the appearance of a validation message for <select> is good.


The top of the bubble should be on the bottom of the host node:
PASS bubbleRect.top is hostRect.bottom

A long text should fit in the bubble:
PASS getValidationMessageBubbleNode(host).offsetWidth is >= getTextNode(getValidationMessageBubbleNode(host)).offsetWidth

PASS successfullyParsed is true

TEST COMPLETE

