Index of /tests/evil/acid/004

Acid4 will be primarily a visual test, not especially scripted. It will likely focus on the following specifications and areas: * http://dev.w3.org/csswg/css3-multicol/ * http://dev.w3.org/csswg/css3-background/ It may also include subpixel positioning; will likely be partially or entirely in rtl mode and may contain non-ASCII Unicode characters with special formatting requirements, e.g. U+200B; and may contain empty inline boxes that are styled. The test itself will not be developed in public, but a list of features tested will be compiled and distributed before the test is announced to ensure there is broad agreement on the set of features tested. Before it is announced, browser vendors will be asked to suggest the best six-month window for release in the next 12 months. LESSONS FROM ACID3 ======================================================================== - don't include minor bugs - don't ask for specific tests, write the tests yourself - request feedback from early on (t=0) in the cycle, both publically and directly to specific people - ask for feedback about what things to test - don't actually show the test early in the cycle, to prevent people from targetting it while people are discussing what to test - no performance stuff as part of the test (though as a separate competition is ok if you get everyone to sign off on the test being fair) - make it have a pretty picture - ask browsers for advice on timing the announcment of the test ======================================================================== ROUGH NOTES ======================================================================== Contact: shaver - http://shaver.off.net/diary/2008/03/27/the-missed-opportunity-of-acid-3/#comment-135276 cwilso to determine what he thinks should be tested wide circulation mailing lists Devon Young http://devonyoung.com/contact -- wants to suggest basic bugs that he runs into contact dbaron very early on ABSOLUTELY MUST have test of fractional pixel values, e.g. margin-left of one inline-block + margin-right of another inline-block being 0.24px + 0.76px, also em values of fractional font sizes, etc. http://simon.html5.org/test/opera/ Link: HTTP header text-align: "string" <!DOCTYPE html> <style> div { display: table-cell; border: 1px solid blue; } </style> <p>These columns are in the markup: <div>column1</div> <div>column2</div> <div>column3</div> <p>These columns are created by a script: <script> var div; for (var i = 1; i <= 3; i++) { div = document.createElement("div"); div.innerHTML = "column " + i; document.body.appendChild(div); } </script>

instead of \r for newlines in IE http://annevankesteren.nl/2007/02/ie7-css-hacks URI canonicalisation (case of scheme/host is irrelevant): > Basically, I think you would create an iframe to someresource that > succeeds, wait for it to load, then get the full URL from that frame, > and change the case of the protocol or hostname. You would make an > anchor tag with this new URL, and check if it gets the :visited > pseudo-style. Am I missing something? Opera 9 has bugs in how it handles right-to-left sections (used for Arabic, Hebrew, etc.). In particular it reverses right and left padding on boxes, which is wrong. It would be a very valuable addition to Acid3 to put either <tag dir=rtl> or .class {direction: rtl} on the page to verify that table and box rendering is correct in that mode. - David Weitzman # The entity &8203; -- zero-width space -- works properly in Mozilla, Safari, and Opera. But it leaves a block glyph in IE everywhere used, not just at taken breaks. -- http://gojomo.blogspot.com/2005/03/cross-browser-invisible-word-break-in.html ========= Test implicit calls of function overrides ======= var org = String.prototype.toString; // backup original function String.prototype.toString = function() { return "xyz"; } var idx = "abc".indexOf("y"); String.prototype.toString = org; // avoid side effects if (idx != 1) throw "toString() override not in effect"; return 5; ============================================================ Reasoning based on the ECMAScript Edition 3 spec: the lookup of the "indexOf" property will be done after the primitive string value is promoted with ToObject() (11.21.1 Property Accessors). This will result in a String object. The String.prototype.indexOf() function found by the "indexOf" lookup is defined to call ToString on the "this" value (15.5.4.7). Section 9.8 says that ToString will first call ToPrimitive() and then ToString() on the result. ToPrimitive() will call the internal [[DefaultValue]] function (9.1). Section 8.6.2.6 defines [[DefaultValue]] to execute a toString() function should it exist. And that's the point where a custom function set by the JS programmer should be respected. - Harri Porten, but see next quote: On Sat, 23 Feb 2008, Garrett Smith wrote: > > Test implicit calls of function overrides: > > That's a test of [[PutValue]] combined with a test for [[Get]] on a > Built in (String). > > The note by Harri Porten is wrong. > > The first thing that happens is "." creates an object; ToObject() > which results in a String object being created. The String object. > Then call Get("indexOf") on that object. It is not found on the > object, so it looks in the prototype chain. "indexOf" is found on > String.prototype. next, the call operator () invokes call() on > indexOf, passing the string as the thisArg. > > In indexOf, the value is obtained by calling ToObject(this), which > calls ToPrimitive passing the String object, which results in a string > value. From: Garrett Smith <dhtmlkitchen@gmail.com> > Other bugs: > Webkit doesn't return computed clip values => > http://bugs.webkit.org/show_bug.cgi?id=17433 > Mozilla: computed shorthand values return "" => > https://bugzilla.mozilla.org/show_bug.cgi?id=58638 IE6 renders the inlines badly in this: <!DOCTYPE html> <style>span { border: solid }</style> aa<span>aa<p>aa</span>aa</p>aa</span>aa default <option> when first disabled http://simon.html5.org/test/ie7b2-bugs/049.html empty inlines with borders should render (http://simon.html5.org/test/ie7b2-bugs/043.html) borders on inlines should paint http://simon.html5.org/test/ie7b2-bugs/042.html unknown colours should drop the declaration http://simon.html5.org/test/ie7b2-bugs/038.html !important followed by non-!importatnt should let the !important one win list from dbaron: https://bugzilla.mozilla.org/buglist.cgi?bug_id=4522,25888,87277,118501,148810,258377 check the test cases in webkit, opera, IE as well as gecko Look for bugs with status whiteboard [Hixie-P...] ======================================================================== glazou wants :target tested