Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/layout/style/test/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 9 kB image not shown  

Quelle  test_group_insertRule.html   Sprache: HTML

 
 products/sources/formale Sprachen/C/Firefox/layout/style/test/test_group_insertRule.html


<!DOCTYPE HTML>
<html>
<head>
  <title>CSS Variables Allowed Syntax</title>
  <link rel="author" title="L. David Baron" href="https://dbaron.org/">
  <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
  <link rel="help" href="http://www.w3.org/TR/css3-conditional/#the-cssgroupingrule-interface">
  <meta name="assert" content="requirements in definition of insertRule">
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
<style id="style">
@media print {}
</style>
<script id="metadata_cache">/*
{
  "rule_type": {},
  "rule_length": {},
  "insert_import_throws": {},
  "insert_index_throws1": {},
  "insert_index_throws2": {},
  "insert_media_succeed": {},
  "insert_style_succeed": {},
  "insert_bad_media_throw": {},
  "insert_empty_throw": {},
  "insert_garbage_after_media_throw": {},
  "insert_garbage_after_style_throw": {},
  "insert_two_media_throw": {},
  "insert_style_media_throw": {},
  "insert_media_style_throw": {},
  "insert_two_style_throw": {},
  "insert_retval": {}
}
*/</script>
</head>
<body onload="run()">
<div id=log></div>
<div id="test"></div>
<script>

  var sheet = document.getElementById("style").sheet;

  var grouping_rule = sheet.cssRules[0];

  test(function() {
         assert_equals(grouping_rule.type, CSSRule.MEDIA_RULE,
                       "Rule type of @media rule");
       },
       "rule_type");

  test(function() {
         assert_equals(grouping_rule.cssRules.length, 0,
                       "Starting cssRules.length of @media rule");
       },
       "rule_length");

  test(function() {
         assert_throws("HIERARCHY_REQUEST_ERR",
                       function() {
                         grouping_rule.insertRule("@import url(foo.css);", 0);
                       },
                       "inserting a disallowed rule should throw HIERARCHY_REQUEST_ERR");
       },
       "insert_import_throws");

  test(function() {
         assert_throws("INDEX_SIZE_ERR",
                       function() {
                         grouping_rule.insertRule("p { color: green }", 1);
                       },
                       "inserting at a bad index throws INDEX_SIZE_ERR");
       },
       "insert_index_throws1");
  test(function() {
         grouping_rule.insertRule("p { color: green }", 0);
         assert_equals(grouping_rule.cssRules.length, 1,
                       "Modified cssRules.length of @media rule");
         grouping_rule.insertRule("p { color: blue }", 1);
         assert_equals(grouping_rule.cssRules.length, 2,
                       "Modified cssRules.length of @media rule");
         grouping_rule.insertRule("p { color: aqua }", 1);
         assert_equals(grouping_rule.cssRules.length, 3,
                       "Modified cssRules.length of @media rule");
         assert_throws("INDEX_SIZE_ERR",
                       function() {
                         grouping_rule.insertRule("p { color: green }", 4);
                       },
                       "inserting at a bad index throws INDEX_SIZE_ERR");
         assert_equals(grouping_rule.cssRules.length, 3,
                       "Modified cssRules.length of @media rule");
       },
       "insert_index_throws2");

  test(function() {
         while (grouping_rule.cssRules.length > 0) {
           grouping_rule.deleteRule(0);
         }
         grouping_rule.insertRule("@media print {}", 0);
         assert_equals(grouping_rule.cssRules.length, 1,
                       "Modified cssRules.length of @media rule");
         assert_equals(grouping_rule.cssRules[0].type, CSSRule.MEDIA_RULE,
                       "inserting syntactically correct media rule succeeds");
       },
       "insert_media_succeed");
  test(function() {
         while (grouping_rule.cssRules.length > 0) {
           grouping_rule.deleteRule(0);
         }
         grouping_rule.insertRule("p { color: yellow }", 0);
         assert_equals(grouping_rule.cssRules.length, 1,
                       "Modified cssRules.length of @media rule");
         assert_equals(grouping_rule.cssRules[0].type, CSSRule.STYLE_RULE,
                       "inserting syntactically correct style rule succeeds");
       },
       "insert_style_succeed");
  test(function() {
         while (grouping_rule.cssRules.length > 0) {
           grouping_rule.deleteRule(0);
         }
         assert_throws("SYNTAX_ERR",
                       function() {
                         grouping_rule.insertRule("@media bad syntax;", 0);
                       },
                       "inserting syntactically invalid rule throws syntax error");
         assert_equals(grouping_rule.cssRules.length, 0,
                       "Modified cssRules.length of @media rule");
       },
       "insert_bad_media_throw");
  test(function() {
         while (grouping_rule.cssRules.length > 0) {
           grouping_rule.deleteRule(0);
         }
         assert_throws("SYNTAX_ERR",
                       function() {
                         grouping_rule.insertRule("", 0);
                       },
                       "inserting empty rule throws syntax error");
         assert_equals(grouping_rule.cssRules.length, 0,
                       "Modified cssRules.length of @media rule");
       },
       "insert_empty_throw");
  test(function() {
         while (grouping_rule.cssRules.length > 0) {
           grouping_rule.deleteRule(0);
         }
         assert_throws("SYNTAX_ERR",
                       function() {
                         grouping_rule.insertRule("@media print {} foo", 0);
                       },
                       "inserting rule with garbage afterwards throws syntax error");
         assert_equals(grouping_rule.cssRules.length, 0,
                       "Modified cssRules.length of @media rule");
       },
       "insert_garbage_after_media_throw");
  test(function() {
         while (grouping_rule.cssRules.length > 0) {
           grouping_rule.deleteRule(0);
         }
         assert_throws("SYNTAX_ERR",
                       function() {
                         grouping_rule.insertRule("p { color: yellow } foo", 0);
                       },
                       "inserting rule with garbage afterwards throws syntax error");
         assert_equals(grouping_rule.cssRules.length, 0,
                       "Modified cssRules.length of @media rule");
       },
       "insert_garbage_after_style_throw");
  test(function() {
         while (grouping_rule.cssRules.length > 0) {
           grouping_rule.deleteRule(0);
         }
         assert_throws("SYNTAX_ERR",
                       function() {
                         grouping_rule.insertRule("@media print {} @media print {}", 0);
                       },
                       "inserting multiple rules throws syntax error");
         assert_equals(grouping_rule.cssRules.length, 0,
                       "Modified cssRules.length of @media rule");
       },
       "insert_two_media_throw");
  test(function() {
         while (grouping_rule.cssRules.length > 0) {
           grouping_rule.deleteRule(0);
         }
         assert_throws("SYNTAX_ERR",
                       function() {
                         grouping_rule.insertRule("p { color: yellow } @media print {}", 0);
                       },
                       "inserting multiple rules throws syntax error");
         assert_equals(grouping_rule.cssRules.length, 0,
                       "Modified cssRules.length of @media rule");
       },
       "insert_style_media_throw");
  test(function() {
         while (grouping_rule.cssRules.length > 0) {
           grouping_rule.deleteRule(0);
         }
         assert_throws("SYNTAX_ERR",
                       function() {
                         grouping_rule.insertRule("@media print {} p { color: yellow }", 0);
                       },
                       "inserting multiple rules throws syntax error");
         assert_equals(grouping_rule.cssRules.length, 0,
                       "Modified cssRules.length of @media rule");
       },
       "insert_media_style_throw");
  test(function() {
         while (grouping_rule.cssRules.length > 0) {
           grouping_rule.deleteRule(0);
         }
         assert_throws("SYNTAX_ERR",
                       function() {
                         grouping_rule.insertRule("p { color: yellow } p { color: yellow }", 0);
                       },
                       "inserting multiple rules throws syntax error");
         assert_equals(grouping_rule.cssRules.length, 0,
                       "Modified cssRules.length of @media rule");
       },
       "insert_two_style_throw");

  test(function() {
         while (grouping_rule.cssRules.length > 0) {
           grouping_rule.deleteRule(0);
         }
         var res = grouping_rule.insertRule("p { color: green }", 0);
         assert_equals(res, 0, "return value should be index");
         assert_equals(grouping_rule.cssRules.length, 1,
                       "Modified cssRules.length of @media rule");
         res = grouping_rule.insertRule("p { color: green }", 0);
         assert_equals(res, 0, "return value should be index");
         assert_equals(grouping_rule.cssRules.length, 2,
                       "Modified cssRules.length of @media rule");
         res = grouping_rule.insertRule("p { color: green }", 2);
         assert_equals(res, 2, "return value should be index");
         assert_equals(grouping_rule.cssRules.length, 3,
                       "Modified cssRules.length of @media rule");
       },
       "insert_retval");


</script>
</body>
</html>


Messung V0.5
C=94 H=97 G=95

¤ Dauer der Verarbeitung: 0.0 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.