# Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

interactive_test: Skip # Must be run manually.
cross_frame_test: Skip # Test reloads itself. Issue 18558

[ $compiler == none && ($runtime == dartium || $runtime == drt) ]

mirrors_js_typed_interop_test: Fail # Missing expected failure (Issue 25044)
js_typed_interop_side_cast_exp_test: Fail, OK # tests dart2js-specific behavior.
js_typed_interop_type1_test: Fail, OK # tests dart2js-specific behavior.
js_typed_interop_type2_test: Fail, OK # tests dart2js-specific behavior.
js_typed_interop_type3_test: Fail, OK # tests dart2js-specific behavior.

native_gc_test: Skip # Dartium JSInterop failure
js_interop_constructor_name_test/HTMLDivElement-methods: Fail # Investigate.
js_interop_constructor_name_test/HTMLDivElement-types: Fail # ditto

[ $compiler == none && ($runtime == drt || $runtime == dartium ) ]
worker_api_test: Fail # Issue 10223
resource_http_test: Fail # Issue 24203
js_function_getter_trust_types_test: Skip # dartium doesn't support trust types.
websocket_test/supported: Skip # Dartium 45 roll timesout

[ $compiler == none && $mode == debug && ($runtime == drt || $runtime == dartium ) ]
datalistelement_test: Skip # Issue 20540

[ $compiler == dart2js ]
input_element_test/attributes: Fail # Issue 21555
wrapping_collections_test: SkipByDesign # Testing an issue that is only relevant to Dartium
js_typed_interop_default_arg_test/default_value: MissingCompileTimeError # Issue #25759
mirrors_js_typed_interop_test: Pass, Slow
js_type_test/dynamic-null-not-Foo: Fail  # Issue 26838
js_type_test/dynamic-String-not-Foo: Fail  # Issue 26838
js_type_test/dynamic-String-not-dynamic-Foo: Fail  # Issue 26838
js_interop_constructor_name_test/HTMLDivElement-types-erroneous1: Fail # Issue 26838
js_interop_constructor_name_test/HTMLDivElement-types-erroneous2: Fail # Issue 26838

[ $compiler == dart2js && $checked ]
js_function_getter_trust_types_test: Skip # --trust-type-annotations incompatible with --checked

[ $compiler == dart2js && $csp && $browser ]
custom/js_custom_test: Fail # Issue 14643
custom/element_upgrade_test: Fail # Issue 17298

[ $compiler == dart2js && $browser ]
custom/created_callback_test: Fail # Support for created constructor. Issue 14835
fontface_loaded_test: Fail # Support for promises.

[ $compiler == dart2js && ($runtime == safari || $runtime == safarimobilesim || $runtime == ff  || $ie) ]
custom/entered_left_view_test/viewless_document: Fail # Polyfill does not handle this
fontface_test: Fail # Fontface not supported on these.
custom/attribute_changed_callback_test/unsupported_on_polyfill: Fail # Polyfill does not support

[ $compiler == none && $runtime == dartium && $system == macos]
canvasrenderingcontext2d_test/drawImage_video_element_dataUrl: Pass,Fail # Issue 11834

[ $compiler == none && ($runtime == drt || $runtime == dartium ) ]
# postMessage in dartium always transfers the typed array buffer, never a view
postmessage_structured_test/typed_arrays: Fail
# Dartium seems to lose the data from the dispatchEvent.
keyboard_event_test: Fail # Issue 13902
fileapi_test/getFile: Pass, Fail # Issue 20488
async_test: RuntimeError, OK  # Uses Isolate.spawn.
isolates_test: RuntimeError, OK  # Uses Isolate.spawn.

[ $compiler == none && ($runtime == drt || $runtime == dartium ) && $mode == debug ]
websocket_test/websocket: Skip # Issue 17666
canvasrenderingcontext2d_test/drawImage_video_element_dataUrl: Skip # Issue 17666

element_offset_test/offset: RuntimeError # Issue 17550
request_animation_frame_test: Skip # Times out, and also passes while taking 4.00 minutes. Issue 19127.
fileapi_test/fileEntry: Pass, RuntimeError # Issue 20488
native_gc_test: Pass, Slow

[ $compiler == none && $runtime == drt && $system == windows ]
worker_test/functional: Pass, Crash # Issue 9929.

[ $compiler == dart2js && $runtime == chrome ]
element_types_test/supported_keygen: RuntimeError # Issue 29055
fileapi_test/entry: Pass, Fail # TODO(dart2js-team): Please triage this failure.
fileapi_test/getDirectory: Fail # TODO(dart2js-team): Please triage this failure.
fileapi_test/getFile: Fail # TODO(dart2js-team): Please triage this failure.
media_stream_test/supported_MediaStreamEvent: RuntimeError # Please triage.
media_stream_test/supported_MediaStreamTrackEvent: RuntimeError # Please triage.
speechrecognition_test/types: RuntimeError # Please triage.

[ $compiler == dart2js && $runtime == chromeOnAndroid ]
crypto_test/functional: Pass, Slow # TODO(dart2js-team): Please triage this failure.
input_element_test/supported_datetime-local: Pass, Slow # TODO(dart2js-team): Please triage this failure.

fileapi_test/entry: Fail, Pass # TODO(dart2js-team): Please triage this failure.
fileapi_test/fileEntry: Fail, Pass # TODO(dart2js-team): Please triage this failure.
fileapi_test/getDirectory: Fail, Pass # TODO(dart2js-team): Please triage this failure.
fileapi_test/getFile: Fail, Pass # TODO(dart2js-team): Please triage this failure.

audiocontext_test/supported: RuntimeError # TODO(dart2js-team): Please triage this failure.
audiobuffersourcenode_test/supported: Fail # TODO(dart2js-team): Please triage this failure.
canvasrenderingcontext2d_test/drawImage_video_element: Fail # TODO(dart2js-team): Please triage this failure.
canvasrenderingcontext2d_test/drawImage_video_element_dataUrl: Fail # TODO(dart2js-team): Please triage this failure.
canvasrenderingcontext2d_test/fillText: Fail # TODO(dart2js-team): Please triage this failure.
element_types_test/supported_datalist: Fail # TODO(dart2js-team): Please triage this failure.
input_element_test/supported_week: Fail # TODO(dart2js-team): Please triage this failure.
media_stream_test/supported_media: Fail # TODO(dart2js-team): Please triage this failure.
rtc_test/supported: Fail # TODO(dart2js-team): Please triage this failure.
speechrecognition_test/supported: Fail # TODO(dart2js-team): Please triage this failure.
speechrecognition_test/types: Fail # TODO(dart2js-team): Please triage this failure.
xhr_test/json: Fail # TODO(dart2js-team): Please triage this failure.

[ $runtime == safarimobilesim ]
element_offset_test/offset: RuntimeError # Issue 18573
element_types_test/supported_meter: RuntimeError # Issue 18573

[ $runtime == chrome ]
touchevent_test/supported: Fail # Touch events are only supported on touch devices
element_types_test/supported_object: RuntimeError # Issue 25155
element_types_test/supported_embed: RuntimeError # Issue 25155
svgelement_test/PathElement: RuntimeError # Issue 25665
element_animate_test/timing_dict: RuntimeError # Issue 26730

[ $runtime == chrome && $system == macos ]
canvasrenderingcontext2d_test/drawImage_video_element: Skip # Times out. Please triage this failure.
canvasrenderingcontext2d_test/drawImage_video_element_dataUrl: Skip # Times out. Please triage this failure.
transition_event_test/functional: Skip # Times out. Issue 22167
request_animation_frame_test: Skip # Times out. Issue 22167
custom/*: Pass, Timeout # Issue 26789
custom_elements_test: Pass, Timeout # Issue 26789
custom_element_method_clash_test: Pass, Timeout # Issue 26789
custom_element_name_clash_test: Pass, Timeout # Issue 26789

[$runtime == drt || $runtime == dartium || $runtime == chrome || $runtime == chromeOnAndroid ]
webgl_1_test: Pass, Fail # Issue 8219

[ $compiler == none && ($runtime == drt || $runtime == dartium) && $system == windows ]
websql_test: Skip # Issue 4941: stderr contains a backtrace.

[ $compiler == none && ($runtime == drt || $runtime == dartium) && $mode == debug]
websql_test: Fail, Pass # Issue 4941: stderr contains a backtrace.
native_gc_test: Pass, Slow

[$runtime == ie10 || $runtime == ie11]
indexeddb_5_test: Fail # Issue 12893
js_test/transferrables: RuntimeError # Issue 14246
element_test/click: Fail # IE does not support firing this event.
serialized_script_value_test: Fail
websocket_test/websocket: Fail # Issue 7875. Closed with "working as intended".
canvasrenderingcontext2d_test/drawImage_video_element: Fail # IE does not support drawImage w/ video element
canvasrenderingcontext2d_test/drawImage_video_element_dataUrl: Fail # IE does not support drawImage w/ video element
no_linked_scripts_htmltest: Skip # Times out on IE.  Issue 21537
scripts_htmltest: Skip # Times out on IE.  Issue 21537
two_scripts_htmltest: Skip # Times out on IE.  Issue 21537
deferred_multi_app_htmltest: Skip # Times out on IE.  Issue 21537
localstorage_test: Pass, RuntimeError # Issue 22166
storage_test: Pass, RuntimeError # Issue 22166
postmessage_structured_test/more_primitives: Fail # Does not support the MessageEvent constructor.
notification_test/supported_notification: Fail # Notification not supported on IE
event_test: RuntimeError # Issue 23437. Only three failures, but hard to break them out.
wheelevent_test: RuntimeError # Issue 23437
text_event_test: RuntimeError # Issue 23437
transition_event_test/functional: Skip # Times out. Issue 22167
request_animation_frame_test: Skip # Times out. Issue 22167
js_util_test/callConstructor: RuntimeError # Issue 26978
element_animate_test: Fail # Element.animate not supported on these browsers.
gamepad_test: Fail # IE does not support Navigator.getGamepads()

[$runtime == ie10 ]
# IE10 Feature support statuses-
# All changes should be accompanied by platform support annotation changes.
audiobuffersourcenode_test/supported: Fail
audiocontext_test/supported: Fail
crypto_test/supported: Fail
css_test/supportsPointConversions: Fail
element_types_test/supported_content: Fail
element_types_test/supported_details: Fail
element_types_test/supported_keygen: Fail
element_types_test/supported_meter: Fail
element_types_test/supported_output: Fail
element_types_test/supported_shadow: Fail
element_types_test/supported_template: Fail
fileapi_test/supported: Fail
history_test/supported_HashChangeEvent: Fail
indexeddb_1_test/supportsDatabaseNames: Fail
input_element_test/supported_date: Fail
input_element_test/supported_datetime-local: Fail
input_element_test/supported_month: Fail
input_element_test/supported_time: Fail
input_element_test/supported_week: Fail
js_util_test/hasProperty: RuntimeError # Issue 26978
js_util_test/getProperty: RuntimeError # Issue 26978
media_stream_test/supported_MediaStreamEvent: Fail
media_stream_test/supported_MediaStreamTrackEvent: Fail
media_stream_test/supported_media: Fail
mediasource_test/supported: Fail
mutationobserver_test/supported: Fail
rtc_test/supported: Fail
shadow_dom_test/supported: Fail
speechrecognition_test/supported: Fail
svgelement_test/supported_altGlyph: Fail
svgelement_test/supported_animate: Fail
svgelement_test/supported_animateMotion: Fail
svgelement_test/supported_animateTransform: Fail
svgelement_test/supported_foreignObject: Fail
svgelement_test/supported_set: Fail
touchevent_test/supported: Fail # IE does not support TouchEvents
webgl_1_test/supported: Fail
websql_test/supported: Fail
xhr_test/json: Fail # IE10 returns string, not JSON object
xhr_test/supported_overrideMimeType: Fail
xsltprocessor_test/supported: Fail
worker_test/functional: Fail # IE uses incorrect security context for Blob URIs.
transferables_test: Fail # Issue 9846

[ $compiler == dart2js && $minified ]
canvas_pixel_array_type_alias_test/types2_runtimeTypeName: Fail, OK # Issue 12605

[ $compiler == dart2js && $runtime == chrome ]
css_test/supportsPointConversions: Fail # Issues 21710
css_test/functional: Fail # Issues 21710

[ $runtime == ie11 ]
custom/document_register_type_extensions_test/single-parameter: Fail # Issue 13193.
canvasrenderingcontext2d_test/arc: Pass, Fail # Pixel unexpected value. Please triage this failure.
worker_test/functional: Pass, Fail # Issues 20659.
transferables_test: Pass, Fail # Issues 20659.

# IE11 Feature support statuses-
# These results not yet noted in platform support annotations.
# All changes should be accompanied by platform support annotation changes.
audiobuffersourcenode_test/supported: Fail
audiocontext_test/supported: Fail
crypto_test/supported: Fail
css_test/supportsPointConversions: Fail
element_types_test/supported_content: Fail
element_types_test/supported_details: Fail
element_types_test/supported_keygen: Fail
element_types_test/supported_meter: Fail
element_types_test/supported_output: Fail
element_types_test/supported_shadow: Fail
element_types_test/supported_template: Fail
fileapi_test/supported: Fail
history_test/supported_HashChangeEvent: Fail
indexeddb_1_test/supportsDatabaseNames: Fail
input_element_test/supported_date: Fail
input_element_test/supported_datetime-local: Fail
input_element_test/supported_month: Fail
input_element_test/supported_time: Fail
input_element_test/supported_week: Fail
media_stream_test/supported_MediaStreamEvent: Fail
media_stream_test/supported_MediaStreamTrackEvent: Fail
media_stream_test/supported_media: Fail
mediasource_test/supported: Pass, Fail # Should pass on Windows 8
mediasource_test/functional: Pass, Fail # Fails on Windows 8
rtc_test/supported: Fail
shadow_dom_test/supported: Fail
speechrecognition_test/supported: Fail
svgelement_test/supported_altGlyph: Fail
svgelement_test/supported_animate: Fail
svgelement_test/supported_animateMotion: Fail
svgelement_test/supported_animateTransform: Fail
svgelement_test/supported_foreignObject: Fail
svgelement_test/supported_set: Fail
touchevent_test/supported: Fail # IE does not support TouchEvents
webgl_1_test/functional: Fail
websql_test/supported: Fail
xhr_test/json: Fail # IE10 returns string, not JSON object
xsltprocessor_test/supported: Fail

[ $runtime == ie10 ]
custom/document_register_type_extensions_test/construction: Fail # Issue 13193
custom/element_upgrade_test: Fail # Issue 18247
worker_api_test: Fail # IE does not support URL.createObjectURL in web workers.
custom/document_register_template_test: Pass, Slow # Issue 28792

[ $compiler == dart2js && $runtime == drt && $unchecked ]
audiocontext_test/functional: Pass, Fail

[ $runtime == safari || $runtime == safarimobilesim ]
worker_api_test: Skip # Issue 13221
webgl_1_test: Pass, Fail # Issue 8219
canvasrenderingcontext2d_test/drawImage_video_element: Fail # Safari does not support drawImage w/ video element
canvasrenderingcontext2d_test/drawImage_video_element_dataUrl: Fail # Safari does not support drawImage w/ video element
element_test: Pass, Fail # Issue 21434
mediasource_test: Pass, Fail # MediaSource only available on Safari 8 desktop, we can't express that.
element_animate_test: Fail # Element.animate not supported on these browsers.
gamepad_test: Fail # Safari does not support Navigator.getGamepads()

# Safari Feature support statuses-
# All changes should be accompanied by platform support annotation changes.
element_types_test/supported_content: Fail
element_types_test/supported_datalist: Fail
element_types_test/supported_shadow: Fail
fileapi_test/supported: Fail
indexeddb_1_test/supportsDatabaseNames: Fail
media_stream_test/supported_MediaStreamEvent: Fail
media_stream_test/supported_MediaStreamTrackEvent: Fail
media_stream_test/supported_media: Fail
rtc_test/supported: Fail
shadow_dom_test/supported: Fail
speechrecognition_test/supported: Fail

[ $runtime == safarimobilesim ]
performance_api_test/supported: Fail
indexeddb_1_test/supported: Fail
element_types_test/supported_template: Fail
xhr_test/json: Fail # Safari doesn't support JSON response type
notification_test/constructors: Pass # Safari mobile will pass this test on the basis that notifications aren't supported at all.
notification_test/supported_notification: RuntimeError # Issue 22869
wheelevent_test: RuntimeError # Safarimobilesim does not support WheelEvent
event_test: RuntimeError # Safarimobilesim does not support WheelEvent

[ $runtime == safari ]
audiobuffersourcenode_test/functional: RuntimeError
input_element_test/supported_month: RuntimeError
input_element_test/supported_time: RuntimeError
input_element_test/supported_week: RuntimeError
input_element_test/supported_date: Fail
input_element_test/supported_datetime-local: Fail
touchevent_test/supported: Fail # Safari does not support TouchEvents
notification_test/constructors: Fail # Safari doesn't let us access the fields of the Notification to verify them.
indexeddb_1_test/functional: Skip # Times out. Issue 21433
indexeddb_2_test: RuntimeError # Issue 21433
indexeddb_4_test: RuntimeError # Issue 21433
indexeddb_5_test: RuntimeError # Issue 21433
indexeddb_3_test: Skip # Times out 1 out of 10.

[  $compiler == dart2js && $runtime == ff ]
history_test/history: Skip # Issue 22050
xhr_test/xhr: Pass, Fail # Issue 11602
dart_object_local_storage_test: Skip  # sessionStorage NS_ERROR_DOM_NOT_SUPPORTED_ERR
webgl_1_test: Pass, Fail   # Issue 8219
text_event_test: Fail # Issue 17893
element_animate_test/timing_dict: RuntimeError # Issue 26730
messageevent_test: Pass, RuntimeError # Issue 28983
serialized_script_value_test: Pass, RuntimeError # Issue 28983
element_types_test/supported_content: Pass, RuntimeError # Issue 28983
element_types_test/supported_shadow: Pass, RuntimeError # Issue 28983

# Firefox Feature support statuses-
# All changes should be accompanied by platform support annotation changes.
element_classes_test: RuntimeError # Issue 27535
element_types_test/supported_embed: Fail
element_types_test/supported_keygen: Fail
element_types_test/supported_object: Fail
fileapi_test/supported: Fail
indexeddb_1_test/supportsDatabaseNames: Fail
input_element_test/supported_date: Fail
input_element_test/supported_datetime-local: Fail
input_element_test/supported_month: Fail
input_element_test/supported_time: Fail
input_element_test/supported_week: Fail
media_stream_test/supported_MediaStreamEvent: Fail
media_stream_test/supported_MediaStreamTrackEvent: Fail
shadow_dom_test/supported: Fail
speechrecognition_test/supported: Fail
touchevent_test/supported: Fail
websql_test/supported: Fail

# 'html' tests import the HTML library, so they only make sense in
# a browser environment.
[ $runtime == vm || $runtime == dart_precompiled ]
*: Skip

[ $compiler == dart2js && ($runtime == drt || $runtime == ff) ]
request_animation_frame_test: Skip # Async test hangs.

[ $runtime == drt ]
webgl_extensions_test: Skip # webgl does not work properly on DRT, which is 'headless'.

[ $runtime == dartium && ($system == windows || $system == linux) ]
webgl_extensions_test: Fail # WebGL extension tests fail on Dartium without graphics. This is dependent on our bot configuration.

[ $runtime == chrome && ($system == windows || $system == linux) ]
webgl_extensions_test: Fail # WebGL extension tests fail without graphics. This is dependent on our bot configuration.

[ $compiler == dart2js && $csp && ($runtime == drt || $runtime == safari || $runtime == ff || $runtime == chrome || $runtime == chromeOnAndroid) ]
# Note: these tests are all injecting scripts by design.  This is not allowed under CSP.
# TODO(sra): Change these tests to use a same-origin JavaScript script file.
event_customevent_test: SkipByDesign
js_interop_1_test: SkipByDesign
js_test: SkipByDesign
js_array_test: SkipByDesign
js_util_test: SkipByDesign
js_typed_interop_bind_this_test: SkipByDesign
js_typed_interop_callable_object_test: SkipByDesign
js_typed_interop_test: SkipByDesign
js_typed_interop_default_arg_test: SkipByDesign
js_typed_interop_type_test: SkipByDesign
js_typed_interop_type1_test: SkipByDesign
js_typed_interop_type3_test: SkipByDesign
js_typed_interop_window_property_test: SkipByDesign
js_function_getter_test: SkipByDesign
js_function_getter_trust_types_test: SkipByDesign
js_dart_to_string_test: SkipByDesign
mirrors_js_typed_interop_test: SkipByDesign
postmessage_structured_test: SkipByDesign

[ $compiler == dart2js &&  ($runtime == chrome || $runtime == drt) ]
svgelement_test/supported_altGlyph: RuntimeError # Issue 25787

[ ($runtime == dartium) && ($system == macos || $system == windows || $system == linux)]
# Desktop operating systems do not support touch events on chrome 34 dartium.
touchevent_test/supported: Fail

[ (($runtime == dartium || $runtime == drt) && $system == macos) || $system == windows ]
xhr_test/xhr: Skip # Times out.  Issue 21527

[ $compiler == dart2analyzer ]
custom/document_register_basic_test: StaticWarning
custom/element_upgrade_test: StaticWarning
datalistelement_test: StaticWarning
documentfragment_test: StaticWarning
element_add_test: StaticWarning
element_test: StaticWarning
events_test: StaticWarning
htmlelement_test: StaticWarning
js_function_getter_trust_types_test: skip # dart2js specific flags.
localstorage_test: StaticWarning
mutationobserver_test: StaticWarning
queryall_test: fail
track_element_constructor_test: StaticWarning
transferables_test: StaticWarning
typed_arrays_range_checks_test: StaticWarning
typing_test: StaticWarning
webgl_1_test: StaticWarning
window_nosuchmethod_test: StaticWarning
js_typed_interop_default_arg_test/default_value: MissingCompileTimeError # Issue #25759

[ $compiler == dart2analyzer && $builder_tag == strong ]
*: Skip # Issue 28649

[ $compiler == dart2js && $fast_startup ]
custom/constructor_calls_created_synchronously_test: Fail # mirrors not supported
custom/js_custom_test: Fail # mirrors not supported
custom/mirrors_test: Fail # mirrors not supported
mirrors_js_typed_interop_test: Fail # mirrors not supported
