Tests calling getPropertyValue on computed margin styles involving CSS calc

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


PASS getComputedStyle(document.getElementById('calc'), null).getPropertyValue('margin-left') is getComputedStyle(document.getElementById('control', null)).getPropertyValue('margin-left')
PASS getComputedStyle(document.getElementById('calc'), null).getPropertyValue('margin-top') is getComputedStyle(document.getElementById('control', null)).getPropertyValue('margin-top')
PASS getComputedStyle(document.getElementById('calc'), null).getPropertyValue('margin-right') is getComputedStyle(document.getElementById('control', null)).getPropertyValue('margin-right')
PASS getComputedStyle(document.getElementById('calc'), null).getPropertyValue('margin-bottom') is getComputedStyle(document.getElementById('control', null)).getPropertyValue('margin-bottom')
PASS successfullyParsed is true

TEST COMPLETE

