/*global describe it before after */ "use client"; require([ "lib/architect/architect", "lib/chai/chai", "/vfs-root" ], function (architect, chai, baseProc) { var expect = chai.expect; expect.setupArchitectTest([ { packagePath: "plugins/c9.core/c9", workspaceId: "ubuntu/ip-10-35-77-180", startdate: new Date(), debug: true, hosted: true, local: false, davPrefix: "/" }, "plugins/c9.core/ext", "plugins/c9.core/http-xhr", "plugins/c9.core/util", "plugins/c9.ide.ui/forms", "plugins/c9.ide.ui/lib_apf", "plugins/c9.ide.ui/menus", "plugins/c9.ide.ui/anims", "plugins/c9.ide.threewaymerge/threewaymerge", { packagePath: "plugins/c9.core/settings", testing: true }, "plugins/c9.ide.keys/commands", "plugins/c9.ide.keys/editor", { packagePath: "plugins/c9.ide.ui/ui", staticPrefix: "plugins/c9.ide.ui" }, "plugins/c9.ide.editors/document", "plugins/c9.ide.editors/undomanager", "plugins/c9.ide.editors/editors", "plugins/c9.ide.editors/editor", "plugins/c9.ide.editors/tabmanager", "plugins/c9.ide.ui/focus", "plugins/c9.ide.editors/pane", "plugins/c9.ide.editors/tab", "plugins/c9.ide.terminal/terminal", "plugins/c9.ide.ace/ace", { packagePath: "plugins/c9.ide.preferences/preferences", staticPrefix: "plugins/c9.ide.preferences" }, "plugins/c9.ide.preferences/preferencepanel", "plugins/c9.ide.preferences/general", { packagePath: "plugins/c9.fs/fs", baseProc: baseProc }, "plugins/c9.fs/proc", "plugins/c9.vfs.client/vfs_client", "plugins/c9.vfs.client/endpoint", "plugins/c9.ide.auth/auth", "plugins/c9.core/api", { consumes: ["Plugin", "tabManager", "preferences", "settings", "ui", "util", "commands", "preferences.general"], provides: [], setup: main } ], architect); function main(options, imports, register) { var tabs = imports.tabManager; var ui = imports.ui; var prefs = imports.preferences; var settings = imports.settings; var commands = imports.commands; var Plugin = imports.Plugin; var general = imports["preferences.general"]; expect.html.setConstructor(function(tab) { if (typeof tab == "object") return tab.pane.aml.getPage("editor::" + tab.editorType).$ext; }); describe('preferences', function() { this.timeout(20000); before(function(done) { bar.$ext.style.height = "66%"; document.body.style.marginBottom = "66%"; tabs.once("ready", function() { prefs.activate(general); done(); }); }); var plugin = new Plugin(); describe("addSettings", function() { it('should open a pane with just an editor', function(done) { settings.set("user/general/keybindings/@preset", "custom"); prefs.add({ "General": { "Application": {}, "Run / Debug": {} }, "Code Tools": { "Language Support": {}, "Code Tools": {}, "Code Formatter": {} } }, plugin); [ { name: "resume", group: "Run & Debug", hint: "resume the current paused process", bindKey: { mac: "F8", win: "F8" } }, { name: "stepinto", group: "Run & Debug", hint: "step into the function that is next on the execution stack", bindKey: { mac: "F11", win: "F11" } }, { name: "stepover", group: "Run & Debug", hint: "step over the current expression on the execution stack", bindKey: { mac: "F10", win: "F10" } }, { name: "stepout", group: "Run & Debug", hint: "step out of the current function scope", bindKey: { mac: "Shift-F11", win: "Shift-F11" } }, { name: "testing", group: "Code Editor", hint: "step out of the current function scope", bindKey: { mac: "Shift-F11", win: "Shift-F11" } } ].forEach(function(cmd) { commands.addCommand(cmd, prefs); }); tabs.openEditor("preferences", function(err, tab) { expect(tabs.getTabs()).length(1); var checkbox = Array.apply( null, tab.editor.aml.$ext.querySelectorAll(".hsplitbox>.label") ).filter(function(e) { return /ui animation/i.test(e.textContent); })[0].nextSibling.host; expect(checkbox.getValue()).to.equal(true); expect(checkbox.$ext.className).to.match(/checked/i) expect(settings.get("user/general/@animateui")).to.equal(true); settings.set("user/general/@animateui", false); expect(settings.get("user/general/@animateui")).to.equal(false); expect(checkbox.getValue()).to.equal(false); expect(checkbox.$ext.className).to.not.match(/checked/i) done(); }); }); }); if (!onload.remain) { describe("unload()", function() { it('should unload the preferences', function(done) { general.unload(); prefs.unload(); tabs.getTabs()[0].editor.unload(); tabs.getTabs()[0].unload(); tabs.unload(); done(); }); }); } }); register(); } });