loge.hixie.ch

Hixie's Natural Log

About Me

Carbon Neutral Hosting by DreamHost

2008-01-14 09:01 UTC The competition for you to come up with the best test for Acid3

As many of you will have heard by now, I've been working on the next Acid Test. Acid Tests are a way to encourage browser vendors to focus on interoperability. With the Box Acid Test, Todd Fahrner highlighted the CSS box model, and the resulting interoperability was one of the first big successes of the movement towards having browsers properly implement Web standards. Acid2 tested a broader range of technologies, but primarily it was focused on the static processing of HTML and the static rendering of CSS.

With Acid3, we are focusing on the dynamic side of the Web. I have a work in progress which consists of a few rendering tests and 84 subtests, little functions that test specific things from script. But I'd like to have a round 100. That's where you come in. I'm announcing a competition to fill the last sixteen tests!

You have one week to submit one or more tests that fulfill all the following criteria:

  1. The test must consist of the body of a JavaScript function which returns 5 when the test passes, and which throws an exception otherwise. It doesn't matter what kind of exception.
  2. The test must compile with no syntax errors in Firefox 2, IE 7, Opera 9.25, and Safari 3. (You can use eval() to test things that are related to syntax errors, though.)
  3. The test must not crash any of Firefox 2, IE 7, Opera 9.25, and Safari 3.
  4. The test must fail (throw an exception) in either a Firefox trunk build from January 2008 or a Webkit trunk build from January 2008 (or, ideally, both). (Opera and IE are failing plenty of tests already, I don't want to add more tests that only fail in one of those. Of course if you find something that fails in Firefox or Webkit and Opera or IE, so much the better.)
  5. The behaviour expected by the test must be justifiable using only standards that were in the Candidate Recommendation stage or better in 2004. This includes JavaScript (ECMAScript 3), many W3C specs, RFCs, etc.
  6. You must be willing to put your test into the public domain. (I don't want us to end up with any copyright problems later!)

To write your test, you can use the test development console. In fact, I strongly recommend it. To see some example tests, you can look at the source of the current draft.

If you have a test that fulfills all the above conditions, e-mail it to me (ian@hixie.ch), along with a brief justification citing chapter and verse from the relevant specs you are using, and telling me which build of Webkit or Firefox fails the test.

I will then make the 16 final tests from the best submissions, and will put the names of the people who submitted those tests into the JS comments in the test as recognition.

Good luck, and thanks in advance!

Pingbacks: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74