Mypal/devtools/client/shadereditor/test/browser_se_editors-lazy-init.js
2019-03-11 13:26:37 +03:00

35 lines
1.0 KiB
JavaScript

/* 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();
}