Alastair’s Place

Software development, Cocoa, Objective-C, life. Stuff like that.

Safari 3.1 and Acid3

OK, so I get 75/100 on Acid3 with Safari 3.1, with the following failures:

Failed 25 tests.
Test 01 failed: method [object NodeIterator].nextNode() didn't forward exception
Test 02 failed: expected '[object HTMLElement]' but got 'null' - expectation 13 failed
Test 04 failed: expected 'null' but got '[object HTMLIFrameElement]' - expectation 21 failed
Test 06 failed: expected '[object HTMLTitleElement]' but got 'null' - failed to handle regrafting 
correctly
Test 11 failed: when trying to surround two halves of comment: wrong exception raised; code = 3
Test 13 failed: collapsed is wrong after deletion
Test 18 failed: expected '10' but got '1' - DOCTYPE nodeType wrong
Test 23 failed: no exception for createElementNS('null', ':div')
Test 25 failed: failed to raise exception
Test 26 failed: e1 - parent element doesn't exist after looping
Test 27 failed: e1 - parent element doesn't exist after waiting
Test 38 failed: Value undefined (result of expression p.childNodes[1].replaceWholeText) is not object.
Test 42 failed: expected '1' but got '0' - rule did not start matching after change
Test 44 failed: expected '0' but got '1' - misparsed selectors
Test 46 failed: expected 'none' but got 'uppercase' - case y1 failed (index 25)
Test 59 failed: expected 'submit' but got '' - <button> doesn't have type=submit
Test 65 passed, but took 20ms 
Test 70 failed: UTF-8 encoded XML document with invalid character did not have a well-formedness error
Test 71 failed: expected '2' but got '1' - wrong number of children in #document (first test)
Test 72 failed: expected '3' but got '2' - cssRules isn't live
Test 75 failed: Value undefined (result of expression anim.beginElement) is not object.
Test 76 failed: expected '0' but got '100' - Incorrect animVal value after svg animation.
Test 77 failed: expected '42' but got '65' - getSubStringLength #1 failed.
Test 79 failed: expected '34' but got '33' - SVGSVGTextElement.getNumberOfChars() incorrect
Test 86 failed: calling setMilliseconds() with no arguments didn't result in NaN
Test 92 failed: Function object's prototype's constructor was ReadOnly
Total elapsed time: 0.32s

This compares with the latest Webkit nightly build, which managed a stonking 92/100:

Failed 8 tests.
Test 02 failed: reached expectation 13 when expecting expectation 12
Test 23 failed: no exception for createElementNS('null', ':div')
Test 25 failed: failed to raise exception
Test 26 passed, but took 74ms 
Test 65 passed, but took 17ms 
Test 69 passed, but took 31 attempts.
Test 70 failed: UTF-8 encoded XML document with invalid character did not have a well-formedness error
Test 75 failed: Value undefined (result of expression anim.beginElement) is not object.
Test 76 failed: expected '0' but got '100' - Incorrect animVal value after svg animation.
Test 77 failed: expected '4776' but got '5550' - getComputedTextLength failed.
Test 79 failed: expected '34' but got '33' - SVGSVGTextElement.getNumberOfChars() incorrect
Total elapsed time: 5.31s

Interestingly both of them seem to achieve the scores above plus or minus a point. I’m not sure why that is.

Anyway, pretty impressive, especially given the state of Acid3 rendering on other browsers.