diff options
Diffstat (limited to 'toolkit/devtools/inspector/test/browser_inspector_reload-02.js')
-rw-r--r-- | toolkit/devtools/inspector/test/browser_inspector_reload-02.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/toolkit/devtools/inspector/test/browser_inspector_reload-02.js b/toolkit/devtools/inspector/test/browser_inspector_reload-02.js new file mode 100644 index 000000000..19a9eb5ec --- /dev/null +++ b/toolkit/devtools/inspector/test/browser_inspector_reload-02.js @@ -0,0 +1,48 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +"use strict"; + +// A test to ensure reloading a page doesn't break the inspector. + +// Reload should reselect the currently selected markup view element. +// This should work even when an element whose selector is inaccessible +// is selected (bug 1038651). +const TEST_URI = 'data:text/xml,<?xml version="1.0" standalone="no"?>' + +'<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"' + +' "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">' + +'<svg width="4cm" height="4cm" viewBox="0 0 400 400"' + +' xmlns="http://www.w3.org/2000/svg" version="1.1">' + +' <title>Example triangle01- simple example of a path</title>' + +' <desc>A path that draws a triangle</desc>' + +' <rect x="1" y="1" width="398" height="398"' + +' fill="none" stroke="blue" />' + +' <path d="M 100 100 L 300 100 L 200 300 z"' + +' fill="red" stroke="blue" stroke-width="3" />' + +'</svg>'; + +add_task(function* () { + let { inspector, toolbox } = yield openInspectorForURL(TEST_URI); + + let markupLoaded = inspector.once("markuploaded"); + + info("Reloading page."); + content.location.reload(); + + info("Waiting for markupview to load after reload."); + yield markupLoaded; + + let svgFront = yield getNodeFront("svg", inspector); + is(inspector.selection.nodeFront, svgFront, "<svg> selected after reload."); + + info("Selecting a node to see that inspector still works."); + yield selectNode("rect", inspector); + + info("Reloading page."); + content.location.reload(); + + let rectFront = yield getNodeFront("rect", inspector); + is(inspector.selection.nodeFront, rectFront, "<rect> selected after reload."); +}); |