
FAIL Make sure that relList based feature detection is working for <link> assert_true: tag = LINK, link type = modulepreload must be supported expected true got false
FAIL Make sure that relList based feature detection is working for <a> assert_true: tag = A, link type = opener must be supported expected true got false
FAIL Make sure that relList based feature detection is working for <area> assert_true: tag = AREA, link type = opener must be supported expected true got false
FAIL Make sure that relList based feature detection is working for <form> undefined is not an object (evaluating 'element.relList.contains')

