Test load events for fontloader.loadFont() with multiple font families.

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


FAIL document.fontloader does not exist
PASS successfullyParsed is true

TEST COMPLETE

