browser/devtools/shadereditor/test/browser_se_editors-lazy-init.js

branch
TOR_BUG_9701
changeset 9
a63d609f5ebe
equal deleted inserted replaced
-1:000000000000 0:830fa4132305
1 /* Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ */
3
4 /**
5 * Tests if source editors are lazily initialized.
6 */
7
8 function ifWebGLSupported() {
9 let [target, debuggee, panel] = yield initShaderEditor(SIMPLE_CANVAS_URL);
10 let { gFront, ShadersEditorsView } = panel.panelWin;
11
12 try {
13 yield ShadersEditorsView._getEditor("vs");
14 ok(false, "The promise for a vertex shader editor should be rejected.");
15 } catch (e) {
16 ok(true, "The vertex shader editors wasn't initialized.");
17 }
18
19 try {
20 yield ShadersEditorsView._getEditor("fs");
21 ok(false, "The promise for a fragment shader editor should be rejected.");
22 } catch (e) {
23 ok(true, "The fragment shader editors wasn't initialized.");
24 }
25
26 reload(target);
27 yield once(gFront, "program-linked");
28
29 let vsEditor = yield ShadersEditorsView._getEditor("vs");
30 let fsEditor = yield ShadersEditorsView._getEditor("fs");
31
32 ok(vsEditor, "A vertex shader editor was initialized.");
33 ok(fsEditor, "A fragment shader editor was initialized.");
34
35 isnot(vsEditor, fsEditor,
36 "The vertex shader editor is distinct from the fragment shader editor.");
37
38 let vsEditor2 = yield ShadersEditorsView._getEditor("vs");
39 let fsEditor2 = yield ShadersEditorsView._getEditor("fs");
40
41 is(vsEditor, vsEditor2,
42 "The vertex shader editor instances are cached.");
43 is(fsEditor, fsEditor2,
44 "The fragment shader editor instances are cached.");
45
46 yield teardown(panel);
47 finish();
48 }

mercurial