This is a testharness.js-based test.
PASS Setting a StylePropertyMap with an unsupported property name throws TypeError
PASS Setting a StylePropertyMap with an null property name throws TypeError
PASS Setting a StylePropertyMap with an invalid CSSStyleValue throws TypeError
PASS Setting a StylePropertyMap with an invalid String throws TypeError
PASS Setting a property with CSSStyleValue or String updates its value
PASS Setting a list-valued property with CSSStyleValue or String updates its values
FAIL Setting a custom property with CSSStyleValue or String updates its value Failed to execute 'set' on 'StylePropertyMap': Invalid propertyName: --foo
PASS StylePropertyMap.set is case-insensitive
Harness: the test ran to completion.

