I can has a fail: acid3 released
Goalie Ca

All i can say is ouch :D
http://acid3.acidtests.org/

FF 2 got 50/100;
Konqueror kde4 broke and got 1/100; It wanted to open a js file as plain text. FAIL!
Opera 9 got 47;

I will test on safari3 and firefox 3 later.

BAF

I'm dumb! another worthless ACID test? Time for ML to make an animation to include with his browser, static images won't work anymore.

CGamesPlay

I only got a 49 :-/

Archon
Quote:

Konqueror kde4 broke and got 1/100;

KDE3 too.

BAF

FWIW, I got 57/100 in FF3B2, but it was choppy at that.

Thomas Fjellstrom

I think kde4's khtml is just buggy, it was bad before half the team left to work on the newly opened webkit project. But I wasn't expecting kde3's khtml to crash...

Matthew Leverton

It's amazing how much time they spent trying to prove that browsers aren't even close to implementing text book "Javascript" by creating a senseless animation. I would think a traditional unit test would be a lot more productive. :P

Anyway, here's my ACID4! test:

alert(!document.addEventListener ? "FAIL!" : "SUCCESS");

LennyLen
Quote:

Anyway, here's my ACID4! test:
alert(!document.addEventListener ? "FAIL!" : "SUCCESS");


{"name":"594387","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/f\/afe739970d31df176cd185b541e38c2a.jpg","w":424,"h":156,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/f\/afe739970d31df176cd185b541e38c2a"}594387

Opera 9.25 passes. :)

Neil Walker

but how do they know they haven't introduced any bugs into their acid test?

i'm just wondering how you get 50% for something that is nothing remotely like what it is meant to be.

Matthew Leverton

50% doesn't mean you passed the first 50.

Firefox 2:

Quote:

Failed 50 of 100 tests.
Test 0: expected: pre-wrap, got: normal - found unexpected computed style
Test 1: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMDocumentTraversal.createNodeIterator]
Test 2: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMDocumentTraversal.createNodeIterator]
Test 3: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMDocumentTraversal.createNodeIterator]
Test 4: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMDocumentTraversal.createNodeIterator]
Test 7: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMRange.cloneContents]
Test 8: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMRange.setEnd]
Test 9: expected: Hello Wonderful KittyHow are you?, got: - toString() on range selecting Document gave wrong output
Test 10: expected: result, got: - toString() didn't work for attribute node
Test 11: Index or size is negative or greater than the allowed amount
Test 12: collapsed is wrong after insertion
Test 22: expected: 5, got: 14 - wrong exception for createElement('0div')
Test 23: expected: 5, got: 14 - wrong exception for createElementNS('null', '0div')
Test 26: e2 - parent element doesn't exist after looping
Test 27: e2 - parent element doesn't exist after waiting
Test 30: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMEventTarget.dispatchEvent]
Test 31: capture handler called incorrectly
Test 33: expected: 1, got: 0 - whitespace error in class processing
Test 35: expected: 0, got: 1 - :first-child still applies to element that was previously a first child
Test 36: expected: 0, got: 1 - :last-child matched element with a following sibling
Test 37: expected: 1, got: 0 - :only-child did not match only child
Test 38: expected: 0, got: 1 - removing all children didn't make the element match :empty
Test 39: expected: 1, got: 0 - :nth-child(odd) failed with child 0
Test 40: expected: 1, got: 0 - part 1:0
Test 42: expected: 1, got: 0 - rule did not start matching after change
Test 46: expected: uppercase, got: none - case a failed
Test 47: expected: none, got: auto - cursor none not supported
Test 51: expected: 6, got: 5 - wrong number of rows
Test 54: expected: HIDDEN, got: hidden - input control's type content attribute was wrong
Test 60: attribute not specified after removal
Test 61: expected: te st , got: te st - class attribute's value was wrong
Test 67: when calling removeNamedItemNS in a non existent attribute: no exception raised
Test 68: Unpaired surrogate handled wrongly (input was '�text', output was 'ext')
Test 69: An attempt was made to create or change an object in a way which is incorrect with regard to namespaces
Test 71: UTF-8 encoded XML document with invalid character did not have a well-formedness error
Test 72: expected: 1, got: 2 - wrong number of children in HEAD (first test)
Test 73: expected: 20, got: 10 - change failed to take effect
Test 74: expected: 10, got: 0 - click event handler called the wrong number of times
Test 75: getSVGDocument missing on <iframe> element.
Test 76: anim.beginElement is not a function
Test 77: expected: 0, got: 100 - Incorrect animVal value after svg animation.
Test 78: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMSVGTextPositioningElement.getNumberOfChars]
Test 79: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMSVGTextPositioningElement.getRotationOfChar]
Test 82: unexpected 1 in t3
Test 84: illegal radix 0
Test 88: \u002b was not considered a parse error in script
Test 92: expected: function Object() {\n [native code]\n}, got: function (a, b) {\n} - Function object's prototype's constructor was DontDelete (or got magically replaced)
Test 95: expected: string, got: number - type of |"2147483648"| is not string
Test 97: expected: four, got: fail - data: failed as base64 with spaces
Test 98: expected: Sparrow, got: - document.title did not update dynamically
Elapsed time: 3.93s

Firefox 3, Beta 2:

Quote:

Failed 44 of 100 tests.
Test 0: expected: pre-wrap, got: normal - found unexpected computed style
Test 1: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMDocumentTraversal.createNodeIterator]
Test 2: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMDocumentTraversal.createNodeIterator]
Test 3: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMDocumentTraversal.createNodeIterator]
Test 4: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMDocumentTraversal.createNodeIterator]
Test 7: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMRange.cloneContents]
Test 9: expected: Hello Wonderful KittyHow are you?, got: - toString() on range selecting Document gave wrong output
Test 10: expected: result, got: - toString() didn't work for attribute node
Test 11: when inserting <a> into Document with another child: wrong exception raised
Test 22: expected: 5, got: 14 - wrong exception for createElement('0div')
Test 23: expected: 5, got: 14 - wrong exception for createElementNS('null', '0div')
Test 26: e2 - parent element doesn't exist after looping
Test 27: e2 - parent element doesn't exist after waiting
Test 30: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMEventTarget.dispatchEvent]
Test 33: expected: 1, got: 0 - whitespace error in class processing
Test 35: expected: 0, got: 1 - :first-child still applies to element that was previously a first child
Test 36: expected: 0, got: 1 - :last-child matched element with a following sibling
Test 37: expected: 1, got: 0 - :only-child did not match only child
Test 38: expected: 0, got: 1 - removing all children didn't make the element match :empty
Test 39: expected: 1, got: 0 - :nth-child(odd) failed with child 0
Test 40: expected: 1, got: 0 - part 1:0
Test 42: expected: 1, got: 0 - rule did not start matching after change
Test 46: expected: uppercase, got: none - case a failed
Test 47: expected: none, got: auto - cursor none not supported
Test 54: expected: HIDDEN, got: hidden - input control's type content attribute was wrong
Test 60: attribute not specified after removal
Test 61: expected: te st , got: te st - class attribute's value was wrong
Test 67: when calling removeNamedItemNS in a non existent attribute: no exception raised
Test 68: Unpaired surrogate handled wrongly (input was '�ext', output was '�ext')
Test 69: An attempt was made to create or change an object in a way which is incorrect with regard to namespaces
Test 70 took 23 attempts.
Test 71: UTF-8 encoded XML document with invalid character did not have a well-formedness error
Test 72: expected: 1, got: 2 - wrong number of children in HEAD (first test)
Test 74: expected: 10, got: 0 - click event handler called the wrong number of times
Test 75: getSVGDocument missing on <iframe> element.
Test 76: anim.beginElement is not a function
Test 77: expected: 0, got: 100 - Incorrect animVal value after svg animation.
Test 78: expected: 4776, got: 2776 - getComputedTextLength failed.
Test 79: expected: 90, got: 0 - getRotationOfChar(0) failed.
Test 82: unexpected 1 in t3
Test 84: precision 0 out of range
Test 88: \u002b was not considered a parse error in script
Test 92: expected: function Object() {\n [native code]\n}, got: function (a, b) {\n} - Function object's prototype's constructor was DontDelete (or got magically replaced)
Test 95: expected: string, got: number - type of |"2147483648"| is not string
Test 98: expected: Sparrow, got: - document.title did not update dynamically
Elapsed time: 4.90s

ReyBrujo

Yeah, 2.0.0.11 gets 51/100, but the graphics has nothing to do with the reference. Firefox 3.0 gets 55/100, but at least the animation is smooth (as smooth as Firefox will ever have it) and gets the shapes well enough.

This is with Firefox-3.0 Gran Paradiso, which may be somewhat old (hasn't been updated often in Ubuntu repository)

{"name":"594388","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/f\/f\/ffe522f5257340b21e198d7621f2232d.png","w":1024,"h":718,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/f\/f\/ffe522f5257340b21e198d7621f2232d"}594388

Neil Walker

So you're saying it's more important to 'pass' the tests than look remotely like what it is supposed to. Sounds like a great plan to me ;)

Thomas Harte

I'm not 100% certain what score IE7 (I'm at work, leave me alone) gets:
http://www.allegro.cc/files/attachment/594389

Maybe it'd work better if I installed the Microsoft HTML Viewer. That's an addon I hope they start bundling with the browser soon.

Matthew Leverton
Quote:

So you're saying it's more important to 'pass' the tests than look remotely like what it is supposed to. Sounds like a great plan to me

It's a series of 100 Javascript tests; so the real goal is to pass those tests. But of course you must also have compliance in other areas (CSS) for it to display properly.

So yes, it would be possible to pass all 100 tests and still look completely wrong. But of course you wouldn't get credit for "passing" the ACID3 test. (Do we really need a complex Javascript animation to show that browsers have trouble with HTML and CSS?)

ReyBrujo

Same was said about the CSS test. Everyone passes tests: people at school, at job, when learning languages. That you have studied differently doesn't matter as long as you are able to correctly interpret and answer the final tests. If the browser maker take the time to correct this, I don't see any problem.

It won't make your stay in internet better (it may even make it slower if they need to add workarounds), but isn't the internet experience supposed to be standard?

Simon Parzer

What's the point in Javascript again? I mean, why do we need it and what is it good for? Ah, right, scripting. To make browsers slow and Jikto possible. To enable "web applications" with horrible user interfaces and reaction times.
With recent developments it won't take long until Javascript gets its own VM and Just-in-Time compiler.

IMO, what we really need is a better concept. HTML sucks, CSS isn't the best solution either. And Javascript is just wrong. Furthermore, it's already too many different technologies. No wonder all browsers supporting them are bloated.

ReyBrujo

AJAX! To have comment system like Digg that query the server once every time you type!

HTML 5 is on the way, give it a couple of years more of polishing.

Matthew Leverton

Tests at school can be as irrelevant as these ones.

A browser that passes one of the Acid tests does not indicate that it is superior. It probably means they wrote code like:

if (foo.bar == blah)
{
  // hack for Acid compliance
}

:P

Now if the source to these tests were private and the browsers just happened to pass them based on their implementation of the standards, then yes they would be be some sort of valid indication of compliance.

ReyBrujo

The only way to do that is to create an application that uses the browser viewer as a control, or supplying a closed control like an Active X. I think these tests help developers to clear some confusion about standards (like "Hey, we did it this way but was supposed to be this other way!"). Working with HL7 specifications from different companies alone is such a pain, there are always examples that leave you "Uh?" because they were not included in the standard, but that did not mean it should be omitted.l

Jeff Bernard

The test doesn't seem to be stable. I get a different score every time I go to the page.

ReyBrujo

I think I got a number the first time, and another thereafter, but was not sure. Maybe it has to do with caching?

Goalie Ca
Quote:

The test doesn't seem to be stable. I get a different score every time I go to the page.

Or it is quite possible your browser does different things each time. Probably hidden state in the js interpreter or maybe some sort of race condition or memory bug.

Thomas Harte
Quote:

It probably means they wrote code like: ...

All of Firefox and Konqueror, and the rendering engine of Safari are open source. It'd be pretty easy to spot.

EDIT: oh, and Safari 3 isn't so hot either:
{"name":"594391","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/7\/b\/7bef4b77094e0a9e344718b493ddaf37.png","w":659,"h":296,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/7\/b\/7bef4b77094e0a9e344718b493ddaf37"}594391

CGamesPlay
Quote:

All of Firefox and Konqueror, and the rendering engine of Safari are open source. It'd be pretty easy to spot.

This just in: IE8 passes Acid2! :)

ReyBrujo

For future reference, here is IE6 (13/100). I wonder how IE5 would do.

http://www.allegro.cc/files/attachment/594392

So, basically the same score as IE7. Apparently they like reusing old engines ;)

Thomas Fjellstrom
Quote:

Apparently they like reusing old engines ;)

They have no choice, they decided that to not "break the internet" again, they include all of the old rendering modes, and add any new ones along the way. IE 7 and 8 now use a <meta> tag to specify a TRUE standards compliant mode (at least as far as IE can comprehend), otherwise you get the broken IE 5 quirks mode by default, and if you specify an actual doctype header, you get IE 6's broken standards mode. Good times.

psycho

By the way, Konqueror 4 improved in the meantime...
It now runs tests 1 to 49.

MiquelFire

IE7 doesn't use the <meta>, just the doctype switch. IE 8 introduced the <meta> tag (HTTP header as well) switch anyway.

Thread #594963. Printed from Allegro.cc