On Wed, 9 Apr 2008, L. David Baron wrote:
> 
> I have found what I believe are a number of errors in test 46 of
> Acid3 ( http://acid3.acidtests.org/ ).

Thanks! I have attached a patch describing the fixes I have made to 
address these bugs.

Maciej, howcome: Since WebKit and Opera previously passed the test, the 
changes likely affect the results of the test in your respective browsers. 
Please let me know if you disagree with these changes. As David notes in 
the original e-mail, the problems are mostly due to changes in the Media 
Queries specification, though there is one flat out error as well.

I haven't yet updated the test, but you can see the updated version here:

   http://acid3.acidtests.org/new.html

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'
--- index.html  2008-04-04 02:15:31.992889000 +0000
+++ new.html    2008-04-10 05:52:43.835649000 +0000
@@ -1757,29 +1757,29 @@
       style.appendChild(doc.createTextNode('@media not all and (min-color: 0) 
{ #b { text-transform: uppercase; } }'));
       style.appendChild(doc.createTextNode('@media only all and (min-color: 0) 
{ #c { text-transform: uppercase; } }'));                    // matches
       style.appendChild(doc.createTextNode('@media (bogus) { #d { 
text-transform: uppercase; } }'));
       style.appendChild(doc.createTextNode('@media all and (bogus) { #e { 
text-transform: uppercase; } }'));
       style.appendChild(doc.createTextNode('@media not all and (bogus) { #f { 
text-transform: uppercase; } }'));                            // matches
       style.appendChild(doc.createTextNode('@media only all and (bogus) { #g { 
text-transform: uppercase; } }'));
-      style.appendChild(doc.createTextNode('@media (bogus), all { #h { 
text-transform: uppercase; } }'));
+      style.appendChild(doc.createTextNode('@media (bogus), all { #h { 
text-transform: uppercase; } }'));                                   // matches
       style.appendChild(doc.createTextNode('@media all and (bogus), all { #i { 
text-transform: uppercase; } }'));                           // matches
       style.appendChild(doc.createTextNode('@media not all and (bogus), all { 
#j { text-transform: uppercase; } }'));                       // matches
       style.appendChild(doc.createTextNode('@media only all and (bogus), all { 
#k { text-transform: uppercase; } }'));                      // matches
-      style.appendChild(doc.createTextNode('@media all, (bogus) { #l { 
text-transform: uppercase; } }'));
+      style.appendChild(doc.createTextNode('@media all, (bogus) { #l { 
text-transform: uppercase; } }'));                                   // matches
       style.appendChild(doc.createTextNode('@media all, all and (bogus) { #m { 
text-transform: uppercase; } }'));                           // matches
       style.appendChild(doc.createTextNode('@media all, not all and (bogus) { 
#n { text-transform: uppercase; } }'));                       // matches
       style.appendChild(doc.createTextNode('@media all, only all and (bogus) { 
#o { text-transform: uppercase; } }'));                      // matches
       style.appendChild(doc.createTextNode('@media all and color { #p { 
text-transform: uppercase; } }'));
       style.appendChild(doc.createTextNode('@media all and min-color: 0 { #q { 
text-transform: uppercase; } }'));
       style.appendChild(doc.createTextNode('@media all, all and color { #r { 
text-transform: uppercase; } }'));
       style.appendChild(doc.createTextNode('@media all, all and min-color: 0 { 
#s { text-transform: uppercase; } }'));
       style.appendChild(doc.createTextNode('@media all and min-color: 0, all { 
#t { text-transform: uppercase; } }'));
-      style.appendChild(doc.createTextNode('@media (min-color: 0) and 
(min-monochrome: 0) { #u { text-transform: uppercase; } }'));
-      style.appendChild(doc.createTextNode('@media (min-color: 0), 
(min-monochrome: 0) { #v { text-transform: uppercase; } }'));
-      style.appendChild(doc.createTextNode('@media all and (min-color: 0), all 
and (min-monochrome: 0) { #w { text-transform: uppercase; } }')); // matches
-      style.appendChild(doc.createTextNode('@media not all and (min-color: 0), 
not all and (min-monochrome: 0) { #x { text-transform: uppercase; } }')); // 
matches
+      style.appendChild(doc.createTextNode('@media (max-color: 0) and 
(max-monochrome: 0) { #u { text-transform: uppercase; } }'));
+      style.appendChild(doc.createTextNode('@media (min-color: 1), 
(min-monochrome: 1) { #v { text-transform: uppercase; } }'));            // 
matches
+      style.appendChild(doc.createTextNode('@media all and (min-color: 0) and 
(min-monochrome: 0) { #w { text-transform: uppercase; } }')); // matches
+      style.appendChild(doc.createTextNode('@media not all and (min-color: 1), 
not all and (min-monochrome: 1) { #x { text-transform: uppercase; } }')); // 
matches
       style.appendChild(doc.createTextNode('@media all and (min-height: 1em) 
and (min-width: 1em) { #y1 { text-transform: uppercase; } }'));
       style.appendChild(doc.createTextNode('@media all and (max-height: 1em) 
and (min-width: 1em) { #y2 { text-transform: uppercase; } }'));
       style.appendChild(doc.createTextNode('@media all and (min-height: 1em) 
and (max-width: 1em) { #y3 { text-transform: uppercase; } }'));
       style.appendChild(doc.createTextNode('@media all and (max-height: 1em) 
and (max-width: 1em) { #y4 { text-transform: uppercase; } }')); // matches
       doc.getElementsByTagName('head')[0].appendChild(style);
       var names = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 
'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y1', 'y2', 'y3', 
'y4'];
@@ -1798,27 +1798,27 @@
       check('b', false);
       check('c', true);
       check('d', false);
       check('e', false);
       check('f', true);
       check('g', false);
-      check('h', false);
+      check('h', true);
       check('i', true);
       check('j', true); // 10
       check('k', true);
-      check('l', false);
+      check('l', true);
       check('m', true);
       check('n', true);
       check('o', true);
       check('p', false);
       check('q', false);
       check('r', false);
       check('s', false);
       check('t', false); // 20
       check('u', false);
-      check('v', false);
+      check('v', true);
       check('w', true);
       check('x', true);
       // here the viewport is 0x0
       check('y1', false); // 25
       check('y2', false);
       check('y3', false);

Reply via email to