style attribute set to a JavaScript object. First, the names of certain CSS style properties use camel case. For example, the last challenge set the size of the font with fontSize instead of font-size. Hyphenated words like font-size are invalid syntax for JavaScript object properties, so React uses camel case. As a rule, any hyphenated style properties are written using camel case in JSX.
All property value length units (like height, width, and fontSize) are assumed to be in px unless otherwise specified. If you want to use em, for example, you wrap the value and the units in quotes, like {fontSize: "4em"}. Other than the length values that default to px, all other property values should be wrapped in quotes.
object to a constant to keep your code organized. Uncomment the styles constant and declare an object with three style properties and their values. Give the div a color of "purple", a font-size of 40, and a border of "2px solid purple". Then set the style attribute equal to the styles constant.
styles variable should be an object with three properties.
testString: assert(Object.keys(styles).length === 3, 'The styles variable should be an object with three properties.');
- text: The styles variable should have a color property set to a value of purple.
testString: assert(styles.color === 'purple', 'The styles variable should have a color property set to a value of purple.');
- text: The styles variable should have a fontSize property set to a value of 40.
testString: assert(styles.fontSize === 40, 'The styles variable should have a fontSize property set to a value of 40.');
- text: The styles variable should have a border property set to a value of 2px solid purple.
testString: assert(styles.border === "2px solid purple", 'The styles variable should have a border property set to a value of 2px solid purple.');
- text: The component should render a div element.
testString: assert((function() { const mockedComponent = Enzyme.shallow(React.createElement(Colorful)); return mockedComponent.type() === 'div'; })(), 'The component should render a div element.');
- text: The div element should have its styles defined by the styles object.
testString: assert((function() { const mockedComponent = Enzyme.shallow(React.createElement(Colorful)); return (mockedComponent.props().style.color === "purple" && mockedComponent.props().style.fontSize === 40 && mockedComponent.props().style.border === "2px solid purple"); })(), 'The div element should have its styles defined by the styles object.');
```