Testing the Button class iconName property.

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



There should be no iconName by default
PASS button.iconName is ""

Setting an iconName with invalid layout traits should throw
PASS function () { button.iconName = Icons.Pause } threw exception No layout traits specified via layoutDelegate or overriden layouTraits() getter.
PASS button.iconName is ""

Setting macOS inline layout traits and setting play icon
PASS button.image.element.style.webkitMaskImage.includes("macOS/Pause.svg") became true
PASS button.element.style.width is "11px"
PASS button.element.style.height is "13px"
PASS button.image.element.style.width is "11px"
PASS button.image.element.style.height is "13px"
PASS button.element.getAttribute('aria-label') is "Pause"

Setting start icon
PASS button.image.element.style.webkitMaskImage.includes("macOS/Rewind.svg") became true
PASS button.element.style.width is "24px"
PASS button.element.style.height is "16px"
PASS button.image.element.style.width is "24px"
PASS button.image.element.style.height is "16px"
PASS button.element.getAttribute('aria-label') is "Rewind"
PASS successfullyParsed is true

TEST COMPLETE

