browser/devtools/styleeditor/test/browser_styleeditor_init.js

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* vim: set ts=2 et sw=2 tw=80: */
     2 /* Any copyright is dedicated to the Public Domain.
     3    http://creativecommons.org/publicdomain/zero/1.0/ */
     5 const TESTCASE_URI = TEST_BASE + "simple.html";
     7 let gUI;
     9 function test()
    10 {
    11   waitForExplicitFinish();
    13   addTabAndCheckOnStyleEditorAdded(panel => gUI = panel.UI, testEditorAdded);
    15   content.location = TESTCASE_URI;
    16 }
    18 let gEditorAddedCount = 0;
    19 function testEditorAdded(aEditor)
    20 {
    21   if (aEditor.styleSheet.styleSheetIndex == 0) {
    22     gEditorAddedCount++;
    23     testFirstStyleSheetEditor(aEditor);
    24   }
    25   if (aEditor.styleSheet.styleSheetIndex == 1) {
    26     gEditorAddedCount++;
    27     testSecondStyleSheetEditor(aEditor);
    28   }
    30   if (gEditorAddedCount == 2) {
    31     gUI = null;
    32     finish();
    33   }
    34 }
    36 function testFirstStyleSheetEditor(aEditor)
    37 {
    38   // Note: the html <link> contains charset="UTF-8".
    39   ok(aEditor._state.text.indexOf("\u263a") >= 0,
    40      "stylesheet is unicode-aware.");
    42   //testing TESTCASE's simple.css stylesheet
    43   is(aEditor.styleSheet.styleSheetIndex, 0,
    44      "first stylesheet is at index 0");
    46   is(aEditor, gUI.editors[0],
    47      "first stylesheet corresponds to StyleEditorChrome.editors[0]");
    49   let summary = aEditor.summary;
    51   let name = summary.querySelector(".stylesheet-name > label").getAttribute("value");
    52   is(name, "simple.css",
    53      "first stylesheet's name is `simple.css`");
    55   let ruleCount = summary.querySelector(".stylesheet-rule-count").textContent;
    56   is(parseInt(ruleCount), 1,
    57      "first stylesheet UI shows rule count as 1");
    59   ok(summary.classList.contains("splitview-active"),
    60      "first stylesheet UI is focused/active");
    61 }
    63 function testSecondStyleSheetEditor(aEditor)
    64 {
    65   //testing TESTCASE's inline stylesheet
    66   is(aEditor.styleSheet.styleSheetIndex, 1,
    67      "second stylesheet is at index 1");
    69   is(aEditor, gUI.editors[1],
    70      "second stylesheet corresponds to StyleEditorChrome.editors[1]");
    72   let summary = aEditor.summary;
    74   let name = summary.querySelector(".stylesheet-name > label").getAttribute("value");
    75   ok(/^<.*>$/.test(name),
    76      "second stylesheet's name is surrounded by `<>`");
    78   let ruleCount = summary.querySelector(".stylesheet-rule-count").textContent;
    79   is(parseInt(ruleCount), 3,
    80      "second stylesheet UI shows rule count as 3");
    82   ok(!summary.classList.contains("splitview-active"),
    83      "second stylesheet UI is NOT focused/active");
    84 }

mercurial