diff options
Diffstat (limited to 'devtools/client/styleeditor/test/browser_styleeditor_syncAlreadyOpen.js')
-rw-r--r-- | devtools/client/styleeditor/test/browser_styleeditor_syncAlreadyOpen.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/devtools/client/styleeditor/test/browser_styleeditor_syncAlreadyOpen.js b/devtools/client/styleeditor/test/browser_styleeditor_syncAlreadyOpen.js new file mode 100644 index 000000000..84c1c2a7a --- /dev/null +++ b/devtools/client/styleeditor/test/browser_styleeditor_syncAlreadyOpen.js @@ -0,0 +1,50 @@ +/* vim: set ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +"use strict"; + +// Test that changes in the style inspector are synchronized into the +// style editor. + +const TESTCASE_URI = TEST_BASE_HTTP + "sync.html"; + +const expectedText = ` + body { + border-width: 15px; + color: red; + } + + #testid { + /*! font-size: 4em; */ + } + `; + +add_task(function* () { + yield addTab(TESTCASE_URI); + + let { inspector, view, toolbox } = yield openRuleView(); + + // In this test, make sure the style editor is open before making + // changes in the inspector. + let { ui } = yield openStyleEditor(); + let editor = yield ui.editors[0].getSourceEditor(); + + let onEditorChange = defer(); + editor.sourceEditor.on("change", onEditorChange.resolve); + + yield toolbox.getPanel("inspector"); + yield selectNode("#testid", inspector); + let ruleEditor = getRuleViewRuleEditor(view, 1); + + // Disable the "font-size" property. + let propEditor = ruleEditor.rule.textProps[0].editor; + let onModification = view.once("ruleview-changed"); + propEditor.enable.click(); + yield onModification; + + yield openStyleEditor(); + yield onEditorChange.promise; + + let text = editor.sourceEditor.getText(); + is(text, expectedText, "style inspector changes are synced"); +}); |