diff options
Diffstat (limited to 'devtools/client/debugger/test/mochitest/browser_dbg-reload.js')
-rw-r--r-- | devtools/client/debugger/test/mochitest/browser_dbg-reload.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/devtools/client/debugger/test/mochitest/browser_dbg-reload.js b/devtools/client/debugger/test/mochitest/browser_dbg-reload.js new file mode 100644 index 0000000000..ddeee21346 --- /dev/null +++ b/devtools/client/debugger/test/mochitest/browser_dbg-reload.js @@ -0,0 +1,43 @@ +/* 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/>. */ + +/* + * Test reloading: + * 1. reload the source + * 2. re-sync breakpoints + */ + +add_task(async function() { + const dbg = await initDebugger("reload/doc-reload.html"); + + await waitForSource(dbg, "sjs_code_reload"); + await selectSource(dbg, "sjs_code_reload"); + await addBreakpoint(dbg, "sjs_code_reload", 2); + + await waitForRequestsToSettle(dbg); + await reload(dbg, "sjs_code_reload.sjs"); + await waitForSelectedSource(dbg, "sjs_code_reload.sjs"); + + const source = findSource(dbg, "sjs_code_reload"); + const location = { sourceId: source.id, line: 6, column: 2 }; + + await waitForBreakpoint(dbg, location); + + const breakpointList = dbg.selectors.getBreakpointsList(); + const breakpoint = breakpointList[0]; + + is(breakpointList.length, 1); + is(breakpoint.location.line, 6); + await waitForRequestsToSettle(dbg); +}); + +async function waitForBreakpoint(dbg, location) { + return waitForState( + dbg, + state => { + return dbg.selectors.getBreakpoint(location); + }, + "Waiting for breakpoint" + ); +} |