From 66223f7596bc3e855a0680b3c6b8d463a308eeda Mon Sep 17 00:00:00 2001 From: Vincent Ricard Date: Sat, 10 Oct 2020 21:12:58 +0200 Subject: [PATCH] Implements StyleSheet.media --- components/script/dom/cssstylesheet.rs | 9 + components/script/dom/stylesheet.rs | 6 + .../script/dom/webidls/StyleSheet.webidl | 2 +- .../css/cssom/MediaList2.xhtml.ini | 12 - .../css/cssom/cssimportrule.html.ini | 3 - .../css/cssom/idlharness.html.ini | 36 - .../css/cssom/medialist-dynamic-001.html.ini | 2 - .../cssom/medialist-interfaces-001.html.ini | 3 - .../cssom/medialist-interfaces-002.html.ini | 3 - .../cssom/medialist-interfaces-004.html.ini | 7 - .../metadata/css/cssom/MediaList2.xhtml.ini | 12 - .../metadata/css/cssom/cssimportrule.html.ini | 3 - .../metadata/css/cssom/idlharness.html.ini | 36 - .../css/cssom/medialist-dynamic-001.html.ini | 2 - .../cssom/medialist-interfaces-001.html.ini | 3 - .../cssom/medialist-interfaces-002.html.ini | 3 - .../cssom/medialist-interfaces-004.html.ini | 8 - .../mediaqueries/test_media_queries.html.ini | 890 +----------------- 18 files changed, 38 insertions(+), 1002 deletions(-) delete mode 100644 tests/wpt/metadata-layout-2020/css/cssom/MediaList2.xhtml.ini delete mode 100644 tests/wpt/metadata-layout-2020/css/cssom/medialist-dynamic-001.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/css/cssom/medialist-interfaces-004.html.ini delete mode 100644 tests/wpt/metadata/css/cssom/MediaList2.xhtml.ini delete mode 100644 tests/wpt/metadata/css/cssom/medialist-dynamic-001.html.ini delete mode 100644 tests/wpt/metadata/css/cssom/medialist-interfaces-004.html.ini diff --git a/components/script/dom/cssstylesheet.rs b/components/script/dom/cssstylesheet.rs index 7ee5e44439491..dda321be153a8 100644 --- a/components/script/dom/cssstylesheet.rs +++ b/components/script/dom/cssstylesheet.rs @@ -10,6 +10,7 @@ use crate::dom::bindings::root::{DomRoot, MutNullableDom}; use crate::dom::bindings::str::DOMString; use crate::dom::cssrulelist::{CSSRuleList, RulesSource}; use crate::dom::element::Element; +use crate::dom::medialist::MediaList; use crate::dom::node::{stylesheets_owner_from_node, Node}; use crate::dom::stylesheet::StyleSheet; use crate::dom::window::Window; @@ -100,6 +101,14 @@ impl CSSStyleSheet { pub fn set_origin_clean(&self, origin_clean: bool) { self.origin_clean.set(origin_clean); } + + pub fn medialist(&self) -> DomRoot { + MediaList::new( + self.global().as_window(), + self, + self.style_stylesheet().media.clone(), + ) + } } impl CSSStyleSheetMethods for CSSStyleSheet { diff --git a/components/script/dom/stylesheet.rs b/components/script/dom/stylesheet.rs index 56ce505d152fe..c03776dc7f656 100644 --- a/components/script/dom/stylesheet.rs +++ b/components/script/dom/stylesheet.rs @@ -9,6 +9,7 @@ use crate::dom::bindings::root::DomRoot; use crate::dom::bindings::str::DOMString; use crate::dom::cssstylesheet::CSSStyleSheet; use crate::dom::element::Element; +use crate::dom::medialist::MediaList; use dom_struct::dom_struct; #[dom_struct] @@ -51,6 +52,11 @@ impl StyleSheetMethods for StyleSheet { self.downcast::().and_then(|s| s.get_owner()) } + // https://drafts.csswg.org/cssom/#dom-stylesheet-media + fn Media(&self) -> DomRoot { + self.downcast::().unwrap().medialist() + } + // https://drafts.csswg.org/cssom/#dom-stylesheet-title fn GetTitle(&self) -> Option { self.title.clone() diff --git a/components/script/dom/webidls/StyleSheet.webidl b/components/script/dom/webidls/StyleSheet.webidl index 67ac5f965e14c..cb8290cc30bcb 100644 --- a/components/script/dom/webidls/StyleSheet.webidl +++ b/components/script/dom/webidls/StyleSheet.webidl @@ -12,7 +12,7 @@ interface StyleSheet { // readonly attribute StyleSheet? parentStyleSheet; readonly attribute DOMString? title; - // [SameObject, PutForwards=mediaText] readonly attribute MediaList media; + [SameObject, PutForwards=mediaText] readonly attribute MediaList media; attribute boolean disabled; }; diff --git a/tests/wpt/metadata-layout-2020/css/cssom/MediaList2.xhtml.ini b/tests/wpt/metadata-layout-2020/css/cssom/MediaList2.xhtml.ini deleted file mode 100644 index 1e4eb9d46f693..0000000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom/MediaList2.xhtml.ini +++ /dev/null @@ -1,12 +0,0 @@ -[MediaList2.xhtml] - [MediaList.mediaText] - expected: FAIL - - [MediaList.length] - expected: FAIL - - [MediaList getter] - expected: FAIL - - [MediaList.item] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom/cssimportrule.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/cssimportrule.html.ini index f99f865f998d5..8d50837ea568f 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/cssimportrule.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/cssimportrule.html.ini @@ -8,9 +8,6 @@ [Existence and writability of CSSImportRule attributes] expected: FAIL - [StyleSheet : MediaList mediaText attribute should be updated due to [PutForwards\]] - expected: FAIL - [CSSImportRule : MediaList mediaText attribute should be updated due to [PutForwards\]] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom/idlharness.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/idlharness.html.ini index 6a59f55ca527c..2c49c8bac34dc 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/idlharness.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/idlharness.html.ini @@ -8,9 +8,6 @@ [CSSStyleDeclaration interface: style_element.style must inherit property "parentRule" with the proper type] expected: FAIL - [MediaList interface: sheet.media must inherit property "deleteMedium(CSSOMString)" with the proper type] - expected: FAIL - [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type] expected: FAIL @@ -20,9 +17,6 @@ [Stringification of svg_element.style] expected: FAIL - [MediaList interface: calling item(unsigned long) on sheet.media with too few arguments must throw TypeError] - expected: FAIL - [CSSStyleSheet interface: sheet must inherit property "ownerRule" with the proper type] expected: FAIL @@ -53,18 +47,9 @@ [CSSMarginRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "style" with the proper type] expected: FAIL - [MediaList interface: sheet.media must inherit property "item(unsigned long)" with the proper type] - expected: FAIL - [CSSStyleDeclaration interface: svg_element.style must inherit property "getPropertyValue(CSSOMString)" with the proper type] expected: FAIL - [MediaList interface: sheet.media must inherit property "length" with the proper type] - expected: FAIL - - [StyleSheet interface: sheet must inherit property "media" with the proper type] - expected: FAIL - [SVGStyleElement interface: attribute sheet] expected: FAIL @@ -89,9 +74,6 @@ [StyleSheet interface: attribute type] expected: FAIL - [MediaList interface: calling appendMedium(CSSOMString) on sheet.media with too few arguments must throw TypeError] - expected: FAIL - [Stringification of sheet.cssRules[2\].cssRules[0\]] expected: FAIL @@ -248,9 +230,6 @@ [StyleSheet interface: sheet must inherit property "parentStyleSheet" with the proper type] expected: FAIL - [MediaList interface: calling deleteMedium(CSSOMString) on sheet.media with too few arguments must throw TypeError] - expected: FAIL - [CSSPageRule interface: sheet.cssRules[2\] must inherit property "selectorText" with the proper type] expected: FAIL @@ -275,9 +254,6 @@ [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type] expected: FAIL - [MediaList interface: sheet.media must inherit property "mediaText" with the proper type] - expected: FAIL - [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "removeProperty(CSSOMString)" with the proper type] expected: FAIL @@ -296,9 +272,6 @@ [CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules[4\].style with too few arguments must throw TypeError] expected: FAIL - [MediaList interface: sheet.media must inherit property "appendMedium(CSSOMString)" with the proper type] - expected: FAIL - [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "length" with the proper type] expected: FAIL @@ -323,9 +296,6 @@ [SVGElement interface: svg_element must inherit property "style" with the proper type] expected: FAIL - [StyleSheet interface: attribute media] - expected: FAIL - [CSSPageRule interface: attribute style] expected: FAIL @@ -344,9 +314,6 @@ [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type] expected: FAIL - [MediaList must be primary interface of sheet.media] - expected: FAIL - [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "PAGE_RULE" with the proper type] expected: FAIL @@ -407,9 +374,6 @@ [CSSStyleDeclaration interface: svg_element.style must inherit property "cssText" with the proper type] expected: FAIL - [Stringification of sheet.media] - expected: FAIL - [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "type" with the proper type] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom/medialist-dynamic-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/medialist-dynamic-001.html.ini deleted file mode 100644 index 0d28942060d2e..0000000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom/medialist-dynamic-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[medialist-dynamic-001.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom/medialist-interfaces-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/medialist-interfaces-001.html.ini index 483b4184033f9..2d952f7936e87 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/medialist-interfaces-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/medialist-interfaces-001.html.ini @@ -8,6 +8,3 @@ [mediatest_medialist_serialize_element] expected: FAIL - [mediatest_medialist_serialize_empty] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom/medialist-interfaces-002.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/medialist-interfaces-002.html.ini index a35bd5b44b9ed..3e87b803a3e69 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/medialist-interfaces-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/medialist-interfaces-002.html.ini @@ -2,6 +2,3 @@ [deleteMedium_no_matching_medium_to_remove] expected: FAIL - [deleteMedium_removes_correct_medium] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom/medialist-interfaces-004.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/medialist-interfaces-004.html.ini deleted file mode 100644 index 651a10aa275a4..0000000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom/medialist-interfaces-004.html.ini +++ /dev/null @@ -1,7 +0,0 @@ -[medialist-interfaces-004.html] - [appendMedium_correctly_appends_medium_to_empty_MediaList] - expected: FAIL - - [appendMedium_correctly_appends_medium_to_nonempty_MediaList] - expected: FAIL - diff --git a/tests/wpt/metadata/css/cssom/MediaList2.xhtml.ini b/tests/wpt/metadata/css/cssom/MediaList2.xhtml.ini deleted file mode 100644 index 1e4eb9d46f693..0000000000000 --- a/tests/wpt/metadata/css/cssom/MediaList2.xhtml.ini +++ /dev/null @@ -1,12 +0,0 @@ -[MediaList2.xhtml] - [MediaList.mediaText] - expected: FAIL - - [MediaList.length] - expected: FAIL - - [MediaList getter] - expected: FAIL - - [MediaList.item] - expected: FAIL diff --git a/tests/wpt/metadata/css/cssom/cssimportrule.html.ini b/tests/wpt/metadata/css/cssom/cssimportrule.html.ini index eb8fb0ec633a8..57125ee8bb5c8 100644 --- a/tests/wpt/metadata/css/cssom/cssimportrule.html.ini +++ b/tests/wpt/metadata/css/cssom/cssimportrule.html.ini @@ -21,6 +21,3 @@ [CSSStyleDeclaration cssText attribute should be updated due to [PutForwards\]] expected: FAIL - [StyleSheet : MediaList mediaText attribute should be updated due to [PutForwards\]] - expected: FAIL - diff --git a/tests/wpt/metadata/css/cssom/idlharness.html.ini b/tests/wpt/metadata/css/cssom/idlharness.html.ini index aa800927b12e2..e3b2e64c3c421 100644 --- a/tests/wpt/metadata/css/cssom/idlharness.html.ini +++ b/tests/wpt/metadata/css/cssom/idlharness.html.ini @@ -8,18 +8,12 @@ [CSSStyleDeclaration interface: style_element.style must inherit property "parentRule" with the proper type] expected: FAIL - [MediaList interface: sheet.media must inherit property "deleteMedium(CSSOMString)" with the proper type] - expected: FAIL - [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "removeProperty(CSSOMString)" with the proper type] expected: FAIL [Stringification of svg_element.style] expected: FAIL - [MediaList interface: calling item(unsigned long) on sheet.media with too few arguments must throw TypeError] - expected: FAIL - [CSSStyleSheet interface: sheet must inherit property "ownerRule" with the proper type] expected: FAIL @@ -56,18 +50,9 @@ [CSSMarginRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "style" with the proper type] expected: FAIL - [MediaList interface: sheet.media must inherit property "item(unsigned long)" with the proper type] - expected: FAIL - [CSSStyleDeclaration interface: svg_element.style must inherit property "getPropertyValue(CSSOMString)" with the proper type] expected: FAIL - [MediaList interface: sheet.media must inherit property "length" with the proper type] - expected: FAIL - - [StyleSheet interface: sheet must inherit property "media" with the proper type] - expected: FAIL - [SVGStyleElement interface: attribute sheet] expected: FAIL @@ -227,9 +212,6 @@ [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type] expected: FAIL - [MediaList interface: calling appendMedium(CSSOMString) on sheet.media with too few arguments must throw TypeError] - expected: FAIL - [CSSRule interface: sheet.cssRules[4\] must inherit property "cssText" with the proper type] expected: FAIL @@ -248,9 +230,6 @@ [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type] expected: FAIL - [MediaList interface: calling deleteMedium(CSSOMString) on sheet.media with too few arguments must throw TypeError] - expected: FAIL - [CSSPageRule interface: sheet.cssRules[2\] must inherit property "selectorText" with the proper type] expected: FAIL @@ -275,9 +254,6 @@ [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type] expected: FAIL - [MediaList interface: sheet.media must inherit property "mediaText" with the proper type] - expected: FAIL - [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "length" with the proper type] expected: FAIL @@ -308,9 +284,6 @@ [CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules[4\].style with too few arguments must throw TypeError] expected: FAIL - [MediaList interface: sheet.media must inherit property "appendMedium(CSSOMString)" with the proper type] - expected: FAIL - [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "length" with the proper type] expected: FAIL @@ -335,9 +308,6 @@ [SVGElement interface: svg_element must inherit property "style" with the proper type] expected: FAIL - [StyleSheet interface: attribute media] - expected: FAIL - [CSSPageRule interface: attribute style] expected: FAIL @@ -356,9 +326,6 @@ [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type] expected: FAIL - [MediaList must be primary interface of sheet.media] - expected: FAIL - [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "PAGE_RULE" with the proper type] expected: FAIL @@ -413,9 +380,6 @@ [CSSStyleDeclaration interface: svg_element.style must inherit property "cssText" with the proper type] expected: FAIL - [Stringification of sheet.media] - expected: FAIL - [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "type" with the proper type] expected: FAIL diff --git a/tests/wpt/metadata/css/cssom/medialist-dynamic-001.html.ini b/tests/wpt/metadata/css/cssom/medialist-dynamic-001.html.ini deleted file mode 100644 index 0d28942060d2e..0000000000000 --- a/tests/wpt/metadata/css/cssom/medialist-dynamic-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[medialist-dynamic-001.html] - expected: FAIL diff --git a/tests/wpt/metadata/css/cssom/medialist-interfaces-001.html.ini b/tests/wpt/metadata/css/cssom/medialist-interfaces-001.html.ini index cf6011a8f9d64..ac84d3d0e0075 100644 --- a/tests/wpt/metadata/css/cssom/medialist-interfaces-001.html.ini +++ b/tests/wpt/metadata/css/cssom/medialist-interfaces-001.html.ini @@ -6,9 +6,6 @@ [mediatest_medialist_serialize_comma] expected: FAIL - [mediatest_medialist_serialize_empty] - expected: FAIL - [mediatest_medialist_serialize_lexicographical] expected: FAIL diff --git a/tests/wpt/metadata/css/cssom/medialist-interfaces-002.html.ini b/tests/wpt/metadata/css/cssom/medialist-interfaces-002.html.ini index 87b9a923fa10b..4bedbbc64b27a 100644 --- a/tests/wpt/metadata/css/cssom/medialist-interfaces-002.html.ini +++ b/tests/wpt/metadata/css/cssom/medialist-interfaces-002.html.ini @@ -1,8 +1,5 @@ [medialist-interfaces-002.html] type: testharness - [deleteMedium_removes_correct_medium] - expected: FAIL - [deleteMedium_no_matching_medium_to_remove] expected: FAIL diff --git a/tests/wpt/metadata/css/cssom/medialist-interfaces-004.html.ini b/tests/wpt/metadata/css/cssom/medialist-interfaces-004.html.ini deleted file mode 100644 index cc1b1f3548cca..0000000000000 --- a/tests/wpt/metadata/css/cssom/medialist-interfaces-004.html.ini +++ /dev/null @@ -1,8 +0,0 @@ -[medialist-interfaces-004.html] - type: testharness - [appendMedium_correctly_appends_medium_to_empty_MediaList] - expected: FAIL - - [appendMedium_correctly_appends_medium_to_nonempty_MediaList] - expected: FAIL - diff --git a/tests/wpt/metadata/css/mediaqueries/test_media_queries.html.ini b/tests/wpt/metadata/css/mediaqueries/test_media_queries.html.ini index 5622ef16fae36..3b513c6bfe57b 100644 --- a/tests/wpt/metadata/css/mediaqueries/test_media_queries.html.ini +++ b/tests/wpt/metadata/css/mediaqueries/test_media_queries.html.ini @@ -24,45 +24,12 @@ [subtest_12] expected: FAIL - [subtest_15] - expected: FAIL - [subtest_16] expected: FAIL [subtest_17] expected: FAIL - [subtest_18] - expected: FAIL - - [subtest_19] - expected: FAIL - - [subtest_20] - expected: FAIL - - [subtest_21] - expected: FAIL - - [subtest_22] - expected: FAIL - - [subtest_23] - expected: FAIL - - [subtest_24] - expected: FAIL - - [subtest_25] - expected: FAIL - - [subtest_26] - expected: FAIL - - [subtest_27] - expected: FAIL - [subtest_28] expected: FAIL @@ -78,30 +45,6 @@ [subtest_32] expected: FAIL - [subtest_33] - expected: FAIL - - [subtest_34] - expected: FAIL - - [subtest_35] - expected: FAIL - - [subtest_36] - expected: FAIL - - [subtest_37] - expected: FAIL - - [subtest_38] - expected: FAIL - - [subtest_39] - expected: FAIL - - [subtest_40] - expected: FAIL - [subtest_41] expected: FAIL @@ -123,30 +66,6 @@ [subtest_47] expected: FAIL - [subtest_48] - expected: FAIL - - [subtest_49] - expected: FAIL - - [subtest_50] - expected: FAIL - - [subtest_51] - expected: FAIL - - [subtest_52] - expected: FAIL - - [subtest_53] - expected: FAIL - - [subtest_54] - expected: FAIL - - [subtest_55] - expected: FAIL - [subtest_56] expected: FAIL @@ -168,30 +87,6 @@ [subtest_62] expected: FAIL - [subtest_63] - expected: FAIL - - [subtest_64] - expected: FAIL - - [subtest_65] - expected: FAIL - - [subtest_66] - expected: FAIL - - [subtest_67] - expected: FAIL - - [subtest_68] - expected: FAIL - - [subtest_69] - expected: FAIL - - [subtest_70] - expected: FAIL - [subtest_71] expected: FAIL @@ -213,39 +108,9 @@ [subtest_77] expected: FAIL - [subtest_78] - expected: FAIL - - [subtest_141] - expected: FAIL - - [subtest_142] - expected: FAIL - - [subtest_143] - expected: FAIL - - [subtest_144] - expected: FAIL - - [subtest_145] - expected: FAIL - - [subtest_146] - expected: FAIL - - [subtest_147] - expected: FAIL - - [subtest_148] - expected: FAIL - [subtest_149] expected: FAIL - [subtest_176] - expected: FAIL - [subtest_182] expected: FAIL @@ -255,45 +120,12 @@ [subtest_200] expected: FAIL - [subtest_201] - expected: FAIL - [subtest_202] expected: FAIL [subtest_203] expected: FAIL - [subtest_204] - expected: FAIL - - [subtest_205] - expected: FAIL - - [subtest_206] - expected: FAIL - - [subtest_207] - expected: FAIL - - [subtest_208] - expected: FAIL - - [subtest_209] - expected: FAIL - - [subtest_210] - expected: FAIL - - [subtest_211] - expected: FAIL - - [subtest_212] - expected: FAIL - - [subtest_213] - expected: FAIL - [subtest_214] expected: FAIL @@ -309,30 +141,6 @@ [subtest_218] expected: FAIL - [subtest_219] - expected: FAIL - - [subtest_220] - expected: FAIL - - [subtest_221] - expected: FAIL - - [subtest_222] - expected: FAIL - - [subtest_223] - expected: FAIL - - [subtest_224] - expected: FAIL - - [subtest_225] - expected: FAIL - - [subtest_226] - expected: FAIL - [subtest_227] expected: FAIL @@ -348,18 +156,6 @@ [monochrome_and_color] expected: FAIL - [subtest_238] - expected: FAIL - - [subtest_239] - expected: FAIL - - [subtest_240] - expected: FAIL - - [subtest_241] - expected: FAIL - [subtest_242] expected: FAIL @@ -375,30 +171,6 @@ [subtest_248] expected: FAIL - [subtest_249] - expected: FAIL - - [subtest_250] - expected: FAIL - - [subtest_251] - expected: FAIL - - [subtest_252] - expected: FAIL - - [subtest_253] - expected: FAIL - - [subtest_254] - expected: FAIL - - [subtest_255] - expected: FAIL - - [subtest_256] - expected: FAIL - [subtest_257] expected: FAIL @@ -420,9 +192,6 @@ [subtest_263] expected: FAIL - [subtest_264] - expected: FAIL - [subtest_272] expected: FAIL @@ -444,30 +213,6 @@ [subtest_278] expected: FAIL - [subtest_279] - expected: FAIL - - [subtest_280] - expected: FAIL - - [subtest_281] - expected: FAIL - - [subtest_282] - expected: FAIL - - [subtest_283] - expected: FAIL - - [subtest_284] - expected: FAIL - - [subtest_285] - expected: FAIL - - [subtest_286] - expected: FAIL - [subtest_287] expected: FAIL @@ -489,24 +234,6 @@ [subtest_295] expected: FAIL - [subtest_297] - expected: FAIL - - [subtest_299] - expected: FAIL - - [subtest_302] - expected: FAIL - - [subtest_304] - expected: FAIL - - [subtest_305] - expected: FAIL - - [subtest_306] - expected: FAIL - [subtest_307] expected: FAIL @@ -516,42 +243,18 @@ [subtest_309] expected: FAIL - [subtest_313] - expected: FAIL - - [subtest_317] - expected: FAIL - - [subtest_318] - expected: FAIL - [subtest_320] expected: FAIL [subtest_322] expected: FAIL - [subtest_330] - expected: FAIL - - [subtest_333] - expected: FAIL - [subtest_335] expected: FAIL [subtest_340] expected: FAIL - [subtest_80] - expected: FAIL - - [subtest_81] - expected: FAIL - - [subtest_83] - expected: FAIL - [subtest_87] expected: FAIL @@ -561,18 +264,6 @@ [subtest_91] expected: FAIL - [subtest_93] - expected: FAIL - - [subtest_94] - expected: FAIL - - [subtest_96] - expected: FAIL - - [subtest_100] - expected: FAIL - [subtest_101] expected: FAIL @@ -588,39 +279,9 @@ [subtest_109] expected: FAIL - [subtest_113] - expected: FAIL - - [subtest_114] - expected: FAIL - - [subtest_117] - expected: FAIL - - [subtest_119] - expected: FAIL - - [subtest_120] - expected: FAIL - [subtest_122] expected: FAIL - [subtest_126] - expected: FAIL - - [subtest_127] - expected: FAIL - - [subtest_130] - expected: FAIL - - [subtest_132] - expected: FAIL - - [subtest_133] - expected: FAIL - [subtest_134] expected: FAIL @@ -633,18 +294,6 @@ [subtest_155] expected: FAIL - [subtest_159] - expected: FAIL - - [subtest_160] - expected: FAIL - - [subtest_161] - expected: FAIL - - [subtest_162] - expected: FAIL - [subtest_166] expected: FAIL @@ -657,30 +306,12 @@ [subtest_169] expected: FAIL - [subtest_174] - expected: FAIL - - [subtest_175] - expected: FAIL - - [subtest_178] - expected: FAIL - [subtest_179] expected: FAIL [subtest_185] expected: FAIL - [subtest_186] - expected: FAIL - - [subtest_190] - expected: FAIL - - [subtest_192] - expected: FAIL - [subtest_198] expected: FAIL @@ -693,223 +324,85 @@ [subtest_233] expected: FAIL - [subtest_235] - expected: FAIL - - [subtest_266] - expected: FAIL - - [subtest_268] - expected: FAIL - - [subtest_294] - expected: FAIL - [subtest_310] expected: FAIL [subtest_311] expected: FAIL - [subtest_312] - expected: FAIL - [subtest_325] expected: FAIL - [subtest_328] - expected: FAIL - - [subtest_329] - expected: FAIL - - [subtest_332] - expected: FAIL - - [subtest_360] - expected: FAIL - - [subtest_334] - expected: FAIL - - [subtest_342] - expected: FAIL - - [subtest_348] - expected: FAIL - [subtest_351] expected: FAIL [subtest_352] expected: FAIL - [subtest_355] - expected: FAIL - - [subtest_356] - expected: FAIL - - [subtest_362] - expected: FAIL - - [subtest_293] - expected: FAIL - - [subtest_296] - expected: FAIL - - [subtest_298] - expected: FAIL - - [subtest_300] - expected: FAIL - - [subtest_301] - expected: FAIL - - [subtest_303] - expected: FAIL - - [subtest_327] - expected: FAIL - - [subtest_331] - expected: FAIL - - [subtest_336] - expected: FAIL - - [subtest_341] - expected: FAIL - - [subtest_343] - expected: FAIL - - [subtest_344] - expected: FAIL - - [subtest_345] - expected: FAIL - - [subtest_346] - expected: FAIL - - [subtest_347] - expected: FAIL - - [subtest_349] - expected: FAIL - - [subtest_353] - expected: FAIL - - [subtest_357] - expected: FAIL - - [subtest_358] - expected: FAIL - - [subtest_363] - expected: FAIL - - [subtest_365] - expected: FAIL - - [subtest_371] - expected: FAIL - - [subtest_374] - expected: FAIL - - [subtest_375] - expected: FAIL - - [subtest_378] - expected: FAIL - - [subtest_379] - expected: FAIL - - [subtest_382] - expected: FAIL - - [subtest_383] - expected: FAIL - - [subtest_384] - expected: FAIL - - [subtest_385] - expected: FAIL - - [subtest_2] - expected: FAIL - - [subtest_79] + [subtest_355] expected: FAIL - [subtest_82] + [subtest_356] expected: FAIL - [subtest_84] + [subtest_293] expected: FAIL - [subtest_85] + [subtest_296] expected: FAIL - [subtest_86] + [subtest_336] expected: FAIL - [subtest_89] + [subtest_341] expected: FAIL - [subtest_90] + [subtest_353] expected: FAIL - [subtest_92] + [subtest_365] expected: FAIL - [subtest_95] + [subtest_371] expected: FAIL - [subtest_97] + [subtest_382] expected: FAIL - [subtest_98] + [subtest_383] expected: FAIL - [subtest_99] + [subtest_384] expected: FAIL - [subtest_102] + [subtest_385] expected: FAIL - [subtest_103] + [subtest_2] expected: FAIL - [subtest_105] + [subtest_86] expected: FAIL - [subtest_108] + [subtest_89] expected: FAIL - [subtest_110] + [subtest_90] expected: FAIL - [subtest_111] + [subtest_92] expected: FAIL - [subtest_112] + [subtest_102] expected: FAIL - [subtest_115] + [subtest_103] expected: FAIL - [subtest_116] + [subtest_105] expected: FAIL - [subtest_118] + [subtest_110] expected: FAIL [subtest_121] @@ -924,15 +417,6 @@ [subtest_125] expected: FAIL - [subtest_128] - expected: FAIL - - [subtest_129] - expected: FAIL - - [subtest_131] - expected: FAIL - [subtest_135] expected: FAIL @@ -960,18 +444,6 @@ [subtest_154] expected: FAIL - [subtest_156] - expected: FAIL - - [subtest_157] - expected: FAIL - - [subtest_158] - expected: FAIL - - [subtest_163] - expected: FAIL - [subtest_164] expected: FAIL @@ -981,18 +453,6 @@ [subtest_170] expected: FAIL - [subtest_171] - expected: FAIL - - [subtest_172] - expected: FAIL - - [subtest_173] - expected: FAIL - - [subtest_177] - expected: FAIL - [subtest_180] expected: FAIL @@ -1005,21 +465,6 @@ [subtest_184] expected: FAIL - [subtest_187] - expected: FAIL - - [subtest_188] - expected: FAIL - - [subtest_189] - expected: FAIL - - [subtest_191] - expected: FAIL - - [subtest_193] - expected: FAIL - [subtest_195] expected: FAIL @@ -1035,48 +480,12 @@ [subtest_231] expected: FAIL - [subtest_234] - expected: FAIL - - [subtest_236] - expected: FAIL - - [subtest_237] - expected: FAIL - [subtest_243] expected: FAIL [subtest_245] expected: FAIL - [subtest_265] - expected: FAIL - - [subtest_267] - expected: FAIL - - [subtest_269] - expected: FAIL - - [subtest_270] - expected: FAIL - - [subtest_271] - expected: FAIL - - [subtest_314] - expected: FAIL - - [subtest_315] - expected: FAIL - - [subtest_316] - expected: FAIL - - [subtest_319] - expected: FAIL - [subtest_321] expected: FAIL @@ -1104,15 +513,6 @@ [subtest_354] expected: FAIL - [subtest_359] - expected: FAIL - - [subtest_361] - expected: FAIL - - [subtest_364] - expected: FAIL - [subtest_366] expected: FAIL @@ -1128,18 +528,6 @@ [subtest_370] expected: FAIL - [subtest_372] - expected: FAIL - - [subtest_373] - expected: FAIL - - [subtest_376] - expected: FAIL - - [subtest_377] - expected: FAIL - [subtest_380] expected: FAIL @@ -1329,15 +717,6 @@ [subtest_505] expected: FAIL - [subtest_509] - expected: FAIL - - [subtest_510] - expected: FAIL - - [subtest_511] - expected: FAIL - [subtest_512] expected: FAIL @@ -1425,42 +804,6 @@ [subtest_568] expected: FAIL - [subtest_569] - expected: FAIL - - [subtest_570] - expected: FAIL - - [subtest_571] - expected: FAIL - - [subtest_572] - expected: FAIL - - [subtest_573] - expected: FAIL - - [subtest_574] - expected: FAIL - - [subtest_575] - expected: FAIL - - [subtest_576] - expected: FAIL - - [subtest_577] - expected: FAIL - - [subtest_578] - expected: FAIL - - [subtest_579] - expected: FAIL - - [subtest_580] - expected: FAIL - [subtest_581] expected: FAIL @@ -1485,39 +828,6 @@ [subtest_588] expected: FAIL - [subtest_589] - expected: FAIL - - [subtest_590] - expected: FAIL - - [subtest_591] - expected: FAIL - - [subtest_592] - expected: FAIL - - [subtest_593] - expected: FAIL - - [subtest_594] - expected: FAIL - - [subtest_595] - expected: FAIL - - [subtest_596] - expected: FAIL - - [subtest_597] - expected: FAIL - - [subtest_598] - expected: FAIL - - [subtest_600] - expected: FAIL - [subtest_601] expected: FAIL @@ -1557,15 +867,6 @@ [subtest_624] expected: FAIL - [subtest_625] - expected: FAIL - - [subtest_626] - expected: FAIL - - [subtest_627] - expected: FAIL - [subtest_628] expected: FAIL @@ -1575,12 +876,6 @@ [subtest_630] expected: FAIL - [subtest_631] - expected: FAIL - - [subtest_632] - expected: FAIL - [subtest_634] expected: FAIL @@ -1602,36 +897,6 @@ [subtest_646] expected: FAIL - [subtest_650] - expected: FAIL - - [subtest_651] - expected: FAIL - - [subtest_652] - expected: FAIL - - [subtest_653] - expected: FAIL - - [subtest_654] - expected: FAIL - - [subtest_655] - expected: FAIL - - [subtest_656] - expected: FAIL - - [subtest_657] - expected: FAIL - - [subtest_658] - expected: FAIL - - [subtest_659] - expected: FAIL - [subtest_660] expected: FAIL @@ -1644,36 +909,6 @@ [subtest_663] expected: FAIL - [subtest_664] - expected: FAIL - - [subtest_665] - expected: FAIL - - [subtest_666] - expected: FAIL - - [subtest_667] - expected: FAIL - - [subtest_668] - expected: FAIL - - [subtest_669] - expected: FAIL - - [subtest_670] - expected: FAIL - - [subtest_671] - expected: FAIL - - [subtest_672] - expected: FAIL - - [subtest_673] - expected: FAIL - [subtest_674] expected: FAIL @@ -1686,24 +921,6 @@ [subtest_677] expected: FAIL - [subtest_678] - expected: FAIL - - [subtest_679] - expected: FAIL - - [subtest_680] - expected: FAIL - - [subtest_681] - expected: FAIL - - [subtest_685] - expected: FAIL - - [subtest_686] - expected: FAIL - [subtest_688] expected: FAIL @@ -1746,15 +963,6 @@ [subtest_714] expected: FAIL - [subtest_719] - expected: FAIL - - [subtest_720] - expected: FAIL - - [subtest_721] - expected: FAIL - [subtest_723] expected: FAIL @@ -1800,12 +1008,6 @@ [subtest_741] expected: FAIL - [subtest_718] - expected: FAIL - - [subtest_599] - expected: FAIL - [subtest_611] expected: FAIL @@ -1824,9 +1026,6 @@ [subtest_769] expected: FAIL - [subtest_768] - expected: FAIL - [subtest_760] expected: FAIL @@ -1836,18 +1035,6 @@ [subtest_762] expected: FAIL - [subtest_765] - expected: FAIL - - [subtest_764] - expected: FAIL - - [subtest_767] - expected: FAIL - - [subtest_766] - expected: FAIL - [subtest_602] expected: FAIL @@ -1860,12 +1047,6 @@ [subtest_691] expected: FAIL - [subtest_639] - expected: FAIL - - [subtest_638] - expected: FAIL - [subtest_736] expected: FAIL @@ -1875,42 +1056,15 @@ [subtest_735] expected: FAIL - [subtest_633] - expected: FAIL - - [subtest_637] - expected: FAIL - [subtest_635] expected: FAIL [subtest_689] expected: FAIL - [subtest_682] - expected: FAIL - - [subtest_683] - expected: FAIL - - [subtest_687] - expected: FAIL - - [subtest_684] - expected: FAIL - [subtest_740] expected: FAIL - [subtest_707] - expected: FAIL - - [subtest_706] - expected: FAIL - - [subtest_705] - expected: FAIL - [subtest_738] expected: FAIL