/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; // Test that the displayed numbering of inline and user-created stylesheets are independent of their absolute index // See bug 1247083. const SIMPLE = TEST_BASE_HTTP + "simple.css"; const LONG = TEST_BASE_HTTP + "doc_long.css"; const DOCUMENT_WITH_LONG_SHEET = "data:text/html;charset=UTF-8," + encodeURIComponent( [ "", "", " ", " Style editor numbering test page", // first inline stylesheet " ", // first external stylesheet ' ', // second external stylesheet ' ', // second inline stylesheet " ", " ", " ", " ", "", ].join("\n") ); add_task(async function () { info("Test that inline stylesheets are numbered correctly"); const { ui } = await openStyleEditorForURL(DOCUMENT_WITH_LONG_SHEET); is(ui.editors.length, 4, "4 editors present."); const firstEditor = ui.editors[0]; is( firstEditor.styleSheetFriendlyIndex, 0, "1st inline stylesheet's index is 0" ); is( firstEditor.styleSheet.styleSheetIndex, 0, "1st inline stylesheet is also the first stylesheet declared" ); is(firstEditor.styleSheet.ruleCount, 1, "1st inline stylesheet has 1 rule"); const secondEditor = ui.editors[3]; is( secondEditor.styleSheetFriendlyIndex, 1, "2nd inline stylesheet's index is 1" ); is( secondEditor.styleSheet.styleSheetIndex, 3, "2nd inline stylesheet is the last stylesheet" ); is(secondEditor.styleSheet.ruleCount, 2, "2nd inline stylesheet has 2 rules"); }); add_task(async function () { info("Test that user-created stylesheets are numbered correctly"); const { panel, ui } = await openStyleEditorForURL(DOCUMENT_WITH_LONG_SHEET); await createNewStyleSheet(ui, panel.panelWindow); await createNewStyleSheet(ui, panel.panelWindow); is(ui.editors.length, 6, "6 editors present."); ok(ui.editors[4].isNew, "2nd to last editor is user-created"); is( ui.editors[4].styleSheetFriendlyIndex, 0, "2nd to last user created stylesheet's index is 0" ); ok(ui.editors[5].isNew, "Last editor is user-created"); is( ui.editors[5].styleSheetFriendlyIndex, 1, "Last user created stylesheet's index is 1" ); });