/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ /** * Tests naviating from a page to another will repopulate * the audio graph if both pages have an AudioContext. */ add_task(function* () { let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL); let { panelWin } = panel; let { gFront, $ } = panelWin; let events = Promise.all([ get3(gFront, "create-node"), waitForGraphRendered(panelWin, 3, 2) ]); reload(target); yield events; var { nodes, edges } = countGraphObjects(panelWin); is(nodes, 3, "should only be 3 nodes."); is(edges, 2, "should only be 2 edges."); events = Promise.all([ getN(gFront, "create-node", 15), waitForGraphRendered(panelWin, 15, 0) ]); navigate(target, SIMPLE_NODES_URL); yield events; is($("#reload-notice").hidden, true, "The 'reload this page' notice should be hidden after context found after navigation."); is($("#waiting-notice").hidden, true, "The 'waiting for an audio context' notice should be hidden after context found after navigation."); is($("#content").hidden, false, "The tool's content should reappear without closing and reopening the toolbox."); var { nodes, edges } = countGraphObjects(panelWin); is(nodes, 15, "after navigation, should have 15 nodes"); is(edges, 0, "after navigation, should have 0 edges."); yield teardown(target); });