summaryrefslogtreecommitdiffstats
path: root/devtools/client/shadereditor/test/browser_se_editors-lazy-init.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/shadereditor/test/browser_se_editors-lazy-init.js')
-rw-r--r--devtools/client/shadereditor/test/browser_se_editors-lazy-init.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/devtools/client/shadereditor/test/browser_se_editors-lazy-init.js b/devtools/client/shadereditor/test/browser_se_editors-lazy-init.js
new file mode 100644
index 000000000..b2d9d888e
--- /dev/null
+++ b/devtools/client/shadereditor/test/browser_se_editors-lazy-init.js
@@ -0,0 +1,34 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+/**
+ * Tests if source editors are lazily initialized.
+ */
+
+function* ifWebGLSupported() {
+ let { target, panel } = yield initShaderEditor(SIMPLE_CANVAS_URL);
+ let { gFront, ShadersEditorsView } = panel.panelWin;
+
+ reload(target);
+ yield once(gFront, "program-linked");
+
+ let vsEditor = yield ShadersEditorsView._getEditor("vs");
+ let fsEditor = yield ShadersEditorsView._getEditor("fs");
+
+ ok(vsEditor, "A vertex shader editor was initialized.");
+ ok(fsEditor, "A fragment shader editor was initialized.");
+
+ isnot(vsEditor, fsEditor,
+ "The vertex shader editor is distinct from the fragment shader editor.");
+
+ let vsEditor2 = yield ShadersEditorsView._getEditor("vs");
+ let fsEditor2 = yield ShadersEditorsView._getEditor("fs");
+
+ is(vsEditor, vsEditor2,
+ "The vertex shader editor instances are cached.");
+ is(fsEditor, fsEditor2,
+ "The fragment shader editor instances are cached.");
+
+ yield teardown(panel);
+ finish();
+}