Testing behaviors of CSSPrimitiveValue on the ic unit.

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


PASS divWidth.primitiveType is CSSPrimitiveValue.CSS_UNKNOWN
PASS divWidth.getFloatValue(CSSPrimitiveValue.CSS_S) threw exception InvalidAccessError: The object does not support the operation or argument..
PASS divWidth.getCounterValue() threw exception InvalidAccessError: The object does not support the operation or argument..
PASS divWidth.getRGBColorValue() threw exception InvalidAccessError: The object does not support the operation or argument..
PASS divWidth.getRectValue() threw exception InvalidAccessError: The object does not support the operation or argument..
PASS divWidth.getStringValue() threw exception InvalidAccessError: The object does not support the operation or argument..
PASS successfullyParsed is true

TEST COMPLETE

