The font size in the popup should be same as the font size of the SELECT element except the third OPTION.

foo
bar
qux
baz
foo
bar

PASS successfullyParsed is true

TEST COMPLETE

