Alternate stylesheet (link) title test 5

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

PASS successfullyParsed is true

TEST COMPLETE

PASS getComputedStyle(element).getPropertyValue('text-decoration') is 'underline solid rgb(51, 51, 51)'
PASS getComputedStyle(element).getPropertyValue('font-size') is '12px'
PASS getComputedStyle(document.body).getPropertyValue('border-top-color') is 'rgb(0, 128, 0)'
PASS successfullyParsed is true

TEST COMPLETE

Alternate stylesheets

This document has 3 stylesheets, one with a title, and 1 alternate stylesheet. It should:

Have a green border at the top of the page
An underlined H1
12px text
