blob: 8f5e1528b5655108b20bcbc4e6984afbea1d1c7c [file] [log] [blame]
/*
* Copyright (c) 2014, 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.
*/
/**
* @assertion
* @description CSS3 media query test: @media css rule media.mediaText property parsing,
* media query syntax error should be handled correctly (,,,,).
*/
import "dart:html";
import "../../testharness.dart";
const String htmlEL1 = r'''
<link rel="help" href="http://www.w3.org/TR/CSS21/media.html">
<link rel="help" href="http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule">
<!-- this test shows there there is no disconnect between CSS media queries and HTML5 media descriptors -->
<style type="text/css">
p#result { color: red }
@media braille {
/* query will be modified from javascript */
/* the manipulation contains syntax error, and should fail */
p#result { color: red }
}
</style>
''';
const String htmlEL2 = r'''
<p id="result">Failure: test not run</p>
<p id="details"></p>
''';
void main() {
document.head.appendHtml(htmlEL1, treeSanitizer: new NullTreeSanitizer());
document.body.appendHtml(htmlEL2, treeSanitizer: new NullTreeSanitizer());
var styleSheet=document.styleSheets[document.styleSheets.length-1];
var result=document.getElementById("result");
// This shouldn't throw.
styleSheet.media.mediaText = ",,,,";
result.innerHtml = "Success. This text should not be red.";
// This shouldn't throw.
styleSheet.cssRules[1].media.mediaText = ",,,,";
result.innerHtml = "Success. This text should not be red.";
}