Best JavaScript code snippet using karma
index.test.js
Source: index.test.js
...16 expect(obtainConfigObject).not.to.be.null;17 done();18 });19 it('should get the correct file name according to stage and name', done => {20 expect(getConfigPath('global', 'myprogram', 'production')).to.equal('/etc/myprogram/production.conf.json');21 expect(getConfigPath('global', 'myprogram', 'staging')).to.equal('/etc/myprogram/staging.conf.json');22 expect(getConfigPath('global', 'myprogram', 'development')).to.equal('/etc/myprogram/development.conf.json');23 expect(getConfigPath('global', 'myprogram', 'test')).to.equal('/etc/myprogram/test.conf.json');24 expect(getConfigPath('global', 'myprogram', 'local')).to.equal('/etc/myprogram/local.conf.json');25 done();26 });27 it('should get the correct file name according to config type and name', done => {28 expect(getConfigPath('global', 'myprogram', 'production')).to.equal('/etc/myprogram/production.conf.json');29 expect(getConfigPath('user', 'myprogram', 'production')).to.equal(path.join(process.env.HOME, '.myprogram', '/production.conf.json'));30 expect(getConfigPath('local', 'myprogram', 'production')).to.equal('production.conf.json');31 done();32 });33 it('should not accept invalid config types', done => {34 expect(getConfigPath.bind(null, 'invalidtype', 'myprogram', 'production')).to.throw('Unsupported type: invalidtype');35 done();36 });37 it('should not accept invalid stage types', done => {38 expect(getConfigPath.bind(null, 'global', 'myprogram', 'invalidstage')).to.throw('Unsupported env type! invalidstage');39 done();40 });41 it('should overwrite according to this order: global, user, local, env, arg', done => {42 const config = obtainConfigObject('./test/global.json', './test/user.json', './test/local.json');43 expect(config.get('fromGlobal')).to.equal(1);44 expect(config.get('fromUser')).to.equal(2);45 expect(config.get('fromLocal')).to.equal(3);46 done();47 });48 it('should create a config on call', done => {49 expect(senodeconf('test')).not.to.be.null;50 done();51 });52 it('should allow specifying custom environments', done => {53 expect(senodeconf.bind(null, 'test', {allowedEnv: ['foo', 'development']})).not.to.throw();54 done();55 });56 it('should allow setting a default environment that is used if NODE_ENV is not specified', done => {57 expect(senodeconf.bind(null, 'test', {allowedEnv: ['foo'], defaultEnv: 'foo'})).not.to.throw();58 done();59 });60 it('should throw an error if an illegal template string is provided', done => {61 expect(createStageConfigFileNameFromTemplate.bind(null, 'foo.json', 'test')).to.throw();62 expect(createStageConfigFileNameFromTemplate.bind(null, '%%STAGE%%%%STAGE%%.json', 'test')).to.throw();63 expect(createStageConfigFileNameFromTemplate.bind(null, '%%STAGE%%_%%STAGE%%.json', 'test')).to.throw();64 done();65 });66 it('should create a proper config file name according to the template specification', done => {67 expect(createStageConfigFileNameFromTemplate('%%STAGE%%.json', 'development')).to.equal('development.json');68 done();69 });70 it('should use the template string to get the config path', done => {71 expect(getConfigPath('global', 'myprogram', 'production', {72 configFileNameTemplate: '%%STAGE%%_WAT.json'73 })).to.equal('/etc/myprogram/production_WAT.json');74 done();75 });76 it('should use the default env separator if no other has been specified', done => {77 const opts = {78 };79 const oldNconf = _senodeconf.__get__('nconf');80 const nconfSpy = {81 argv: sinon.stub().returnsThis(),82 env: sinon.stub().returnsThis(),83 file: sinon.stub().returnsThis()84 };85 _senodeconf.__set__('nconf', nconfSpy);86 obtainConfigObject(...['global', 'user', 'local'].map(type => getConfigPath('local', 'name', 'development', opts)), opts);87 expect(nconfSpy.env.calledWith({separator: '_'})).to.be.true;88 _senodeconf.__set__('nconf', oldNconf);89 done();90 });91 it('should use the specified env separator', done => {92 const opts = {93 envSeparator: '___'94 };95 const oldNconf = _senodeconf.__get__('nconf');96 const nconfSpy = {97 argv: sinon.stub().returnsThis(),98 env: sinon.stub().returnsThis(),99 file: sinon.stub().returnsThis()100 };101 _senodeconf.__set__('nconf', nconfSpy);102 obtainConfigObject(...['global', 'user', 'local'].map(type => getConfigPath('local', 'name', 'development', opts)), opts);103 expect(nconfSpy.env.calledWith({separator: '___'})).to.be.true;104 _senodeconf.__set__('nconf', oldNconf);105 done();106 });...
vorlon.pluginsconfig.js
Source: vorlon.pluginsconfig.js
...6 var PluginsConfig = (function () {7 function PluginsConfig() {8 }9 PluginsConfig.prototype.getPluginsFor = function (sessionid, callback) {10 var configurationFile = fs.readFileSync(config.VORLON.ConfigProvider.getConfigPath(), "utf8");11 var configurationString = configurationFile.toString().replace(/^\uFEFF/, '');12 var configuration = JSON.parse(configurationString);13 try {14 var sessionConfig = configuration.sessions[sessionid];15 }16 catch (e) {17 if (!sessionConfig || !sessionConfig.plugins || !sessionConfig.plugins.length) {18 sessionConfig = {19 includeSocketIO: (configuration.includeSocketIO != undefined) ? configuration.includeSocketIO : true,20 plugins: configuration.plugins21 };22 }23 }24 if (callback)25 callback(null, sessionConfig);26 };27 PluginsConfig.prototype.setPluginState = function (pluginid, callback) {28 var configurationFile = fs.readFileSync(config.VORLON.ConfigProvider.getConfigPath(), "utf8");29 var configurationString = configurationFile.toString().replace(/^\uFEFF/, '');30 var configuration = JSON.parse(configurationString);31 for (var i = 0; i < configuration.plugins.length; i++) {32 if (configuration.plugins[i].id == pluginid) {33 configuration.plugins[i].enabled = !configuration.plugins[i].enabled;34 fs.writeFileSync(config.VORLON.ConfigProvider.getConfigPath(), JSON.stringify(configuration, null, 4), "utf8");35 return callback(null);36 }37 }38 return callback('PluginID unknown');39 };40 PluginsConfig.prototype.setPluginName = function (pluginid, name, callback) {41 var configurationFile = fs.readFileSync(config.VORLON.ConfigProvider.getConfigPath(), "utf8");42 var configurationString = configurationFile.toString().replace(/^\uFEFF/, '');43 var configuration = JSON.parse(configurationString);44 if (!name) {45 return callback(true);46 }47 for (var i = 0; i < configuration.plugins.length; i++) {48 if (configuration.plugins[i].id == pluginid) {49 configuration.plugins[i].name = name;50 fs.writeFileSync(config.VORLON.ConfigProvider.getConfigPath(), JSON.stringify(configuration, null, 4), "utf8");51 return callback(null);52 }53 }54 return callback('PluginID unknown');55 };56 PluginsConfig.prototype.setPluginPanel = function (pluginid, panel, callback) {57 var configurationFile = fs.readFileSync(config.VORLON.ConfigProvider.getConfigPath(), "utf8");58 var configurationString = configurationFile.toString().replace(/^\uFEFF/, '');59 var configuration = JSON.parse(configurationString);60 var panelPosible = ['top', 'bottom'];61 if (!panel) {62 return callback('Panel must be defined');63 }64 if (panelPosible.indexOf(panel) == -1) {65 return callback('Panel wrong value');66 }67 for (var i = 0; i < configuration.plugins.length; i++) {68 if (configuration.plugins[i].id == pluginid) {69 configuration.plugins[i].panel = panel;70 fs.writeFileSync(config.VORLON.ConfigProvider.getConfigPath(), JSON.stringify(configuration, null, 4), "utf8");71 return callback(null);72 }73 }74 return callback('PluginID unknown');75 };76 PluginsConfig.prototype.setPluginsPosition = function (positions, callback) {77 var configurationFile = fs.readFileSync(config.VORLON.ConfigProvider.getConfigPath(), "utf8");78 var configurationString = configurationFile.toString().replace(/^\uFEFF/, '');79 var configuration = JSON.parse(configurationString);80 if (!positions) {81 return callback('Positions must be defined');82 }83 positions = JSON.parse(positions);84 var lookup = {};85 var plugins_reorganised = [];86 for (var i = 0; i < configuration.plugins.length; i++) {87 lookup[configuration.plugins[i].id] = configuration.plugins[i];88 }89 for (var i = 0; i < positions.length; i++) {90 plugins_reorganised.push(lookup[positions[i]]);91 }92 configuration.plugins = plugins_reorganised;93 fs.writeFileSync(config.VORLON.ConfigProvider.getConfigPath(), JSON.stringify(configuration, null, 4), "utf8");94 return callback('PluginID unknown');95 };96 return PluginsConfig;97 }());98 VORLON.PluginsConfig = PluginsConfig;...
karma.a9c61c27b4e500ac938fad831bc446560a369720.lib.init.formatters.js
Source: karma.a9c61c27b4e500ac938fad831bc446560a369720.lib.init.formatters.js
...37}3839class JavaScriptFormatter {40 constructor () {41 this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.js')42 this.REQUIREJS_TEMPLATE_FILE = getConfigPath('requirejs.config.tpl.js')43 }4445 generateConfigFile (answers) {46 const replacements = this.formatAnswers(answers)4748 return FileUtils49 .readFile(this.TEMPLATE_FILE_PATH)50 .replace(/%(.*)%/g, (a, key) => replacements[key])51 }5253 writeConfigFile (path, answers) {54 FileUtils.saveFile(path, this.generateConfigFile(answers))55 }5657 writeRequirejsConfigFile (path) {58 FileUtils.copyFile(this.REQUIREJS_TEMPLATE_FILE, path)59 }6061 formatAnswers (answers) {62 return {63 DATE: new Date(),64 BASE_PATH: answers.basePath,65 FRAMEWORKS: formatLine(answers.frameworks),66 FILES: formatFiles(answers.files, answers.onlyServedFiles),67 EXCLUDE: formatFiles(answers.exclude, []),68 AUTO_WATCH: answers.autoWatch ? 'true' : 'false',69 BROWSERS: formatLine(answers.browsers),70 PREPROCESSORS: formatPreprocessors(answers.preprocessors)71 }72 }73}7475class CoffeeFormatter extends JavaScriptFormatter {76 constructor () {77 super()78 this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.coffee')79 this.REQUIREJS_TEMPLATE_FILE = getConfigPath('requirejs.config.tpl.coffee')80 }81}8283class LiveFormatter extends JavaScriptFormatter {84 constructor () {85 super()86 this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.ls')87 }88}8990class TypeFormatter extends JavaScriptFormatter {91 constructor () {92 super()93 this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.ts')94 }95}9697exports.JavaScript = JavaScriptFormatter98exports.Coffee = CoffeeFormatter99exports.Live = LiveFormatter100exports.Type = TypeFormatter101102exports.createForPath = function (path) {103 if (/\.coffee$/.test(path)) {104 return new CoffeeFormatter()105 }106107 if (/\.ls$/.test(path)) {
...
karma.095fc7e04cc7abb3f44a275a6c7a8b693a260f28.lib.init.formatters.js
Source: karma.095fc7e04cc7abb3f44a275a6c7a8b693a260f28.lib.init.formatters.js
...37}3839class JavaScriptFormatter {40 constructor () {41 this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.js')42 this.REQUIREJS_TEMPLATE_FILE = getConfigPath('requirejs.config.tpl.js')43 }4445 generateConfigFile (answers) {46 const replacements = this.formatAnswers(answers)4748 return FileUtils49 .readFile(this.TEMPLATE_FILE_PATH)50 .replace(/%(.*)%/g, (a, key) => replacements[key])51 }5253 writeConfigFile (path, answers) {54 FileUtils.saveFile(path, this.generateConfigFile(answers))55 }5657 writeRequirejsConfigFile (path) {58 FileUtils.copyFile(this.REQUIREJS_TEMPLATE_FILE, path)59 }6061 formatAnswers (answers) {62 return {63 DATE: new Date(),64 BASE_PATH: answers.basePath,65 FRAMEWORKS: formatLine(answers.frameworks),66 FILES: formatFiles(answers.files, answers.onlyServedFiles),67 EXCLUDE: formatFiles(answers.exclude, []),68 AUTO_WATCH: answers.autoWatch ? 'true' : 'false',69 BROWSERS: formatLine(answers.browsers),70 PREPROCESSORS: formatPreprocessors(answers.preprocessors)71 }72 }73}7475class CoffeeFormatter extends JavaScriptFormatter {76 constructor () {77 super()78 this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.coffee')79 this.REQUIREJS_TEMPLATE_FILE = getConfigPath('requirejs.config.tpl.coffee')80 }81}8283class LiveFormatter extends JavaScriptFormatter {84 constructor () {85 super()86 this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.ls')87 }88}8990class TypeFormatter extends JavaScriptFormatter {91 constructor () {92 super()93 this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.ts')94 }95}9697exports.JavaScript = JavaScriptFormatter98exports.Coffee = CoffeeFormatter99exports.Live = LiveFormatter100exports.Type = TypeFormatter101102exports.createForPath = function (path) {103 if (/\.coffee$/.test(path)) {104 return new CoffeeFormatter()105 }106107 if (/\.ls$/.test(path)) {
...
formatters.js
Source: formatters.js
...27 return path.join(__dirname, `/../../${file}`)28}29class JavaScriptFormatter {30 constructor () {31 this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.js')32 this.REQUIREJS_TEMPLATE_FILE = getConfigPath('requirejs.config.tpl.js')33 }34 generateConfigFile (answers) {35 const replacements = this.formatAnswers(answers)36 return FileUtils37 .readFile(this.TEMPLATE_FILE_PATH)38 .replace(/%(.*)%/g, (a, key) => replacements[key])39 }40 writeConfigFile (path, answers) {41 FileUtils.saveFile(path, this.generateConfigFile(answers))42 }43 writeRequirejsConfigFile (path) {44 FileUtils.copyFile(this.REQUIREJS_TEMPLATE_FILE, path)45 }46 formatAnswers (answers) {47 return {48 DATE: new Date(),49 BASE_PATH: answers.basePath,50 FRAMEWORKS: formatLine(answers.frameworks),51 FILES: formatFiles(answers.files, answers.onlyServedFiles),52 EXCLUDE: formatFiles(answers.exclude, []),53 AUTO_WATCH: answers.autoWatch ? 'true' : 'false',54 BROWSERS: formatLine(answers.browsers),55 PREPROCESSORS: formatPreprocessors(answers.preprocessors)56 }57 }58}59class CoffeeFormatter extends JavaScriptFormatter {60 constructor () {61 super()62 this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.coffee')63 this.REQUIREJS_TEMPLATE_FILE = getConfigPath('requirejs.config.tpl.coffee')64 }65}66class LiveFormatter extends JavaScriptFormatter {67 constructor () {68 super()69 this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.ls')70 }71}72class TypeFormatter extends JavaScriptFormatter {73 constructor () {74 super()75 this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.ts')76 }77}78exports.JavaScript = JavaScriptFormatter79exports.Coffee = CoffeeFormatter80exports.Live = LiveFormatter81exports.Type = TypeFormatter82exports.createForPath = function (path) {83 if (/\.coffee$/.test(path)) {84 return new CoffeeFormatter()85 }86 if (/\.ls$/.test(path)) {87 return new LiveFormatter()88 }89 if (/\.ts$/.test(path)) {...
config.js
Source: config.js
1/*2 Handles config for the app, all config are stored in the user data directory3 */4const fs = require("fs");5const file = require("./file.js")6module.exports = {7 create: function (name, path, data) {8 if (!path || path.trim().length === 0) {9 path = file.get(name).path();10 name = path = file.get(name).filename();11 }12 // let stream = fs.createWriteStream(getConfigPath (name, path), ["a"]);13 if (data && typeof data === "string") {14 fs.writeFileSync(getConfigPath (name, path), data);15 } else if (data && typeof data !== "string") {16 fs.writeFileSync(getConfigPath (name, path), JSON.stringify(data, null, 4));17 }18 },19 get: function (name, path) {20 if (!path || path.trim().length === 0) {21 path = file.get(name).path();22 name = file.get(name).name();23 }24 // console.log(getConfigPath (name, path))25 // gets a config.json26 try {27 return JSON.parse(fs.readFileSync(getConfigPath (name, path)))28 } catch (e) {29 console.error(e)30 }31 },32 delete: function (name, path) {33 if (!path || path.trim().length === 0) {34 path = file.get(name).path();35 name = path = file.get(name).filename();36 }37 // deletes a config.json38 fs.unlinkSync(getConfigPath (name, path));39 },40 rename: function (name, path) {41 if (!path || path.trim().length === 0) {42 path = file.get(name).path();43 name = path = file.get(name).filename();44 }45 fs.renameSync(getConfigPath (name, path))46 }47};48function getConfigPath (name, path) {49 let filepath = path;50 // create a config.json51 if (path.trim().indexOf("/", path.trim().length - 1) === -1) {52 filepath += "/";53 }54 if (name.indexOf(".json") === -1) {55 filepath += name+".json";56 }57 return filepath;...
apiController.js
Source: apiController.js
...3ISY.ApiController.BuildVersion= function(customMapConfig){4 var apiPathPrefix = 'assets/';5 var configName = customMapConfig.GetConfigName();6 function getGeoInnsynConfig(){7 return getConfigPath() + configName + '.xml';8 }9 function getLayerStatus(){10 return getConfigPath() + 'LayerStatus.json';11 }12 function getDefaultMarkerPath(){13 return apiPathPrefix + 'img/pin-md-red.png';14 }15 function getDefaultWinMapIco(){16 return apiPathPrefix + 'img/WinMap_64.png';17 }18 function getConfigPath(){19 return apiPathPrefix + 'mapConfig/';20 }21 return {22 GetGeoInnsynConfig: getGeoInnsynConfig,23 GetLayerStatus: getLayerStatus,24 GetDefaultMarkerPath: getDefaultMarkerPath,25 GetDefaultWinMapIco: getDefaultWinMapIco,26 GetConfigPath: getConfigPath27 };28};29ISY.ApiController.DistVersion = function(customMapConfig){30 var baseUrl = 'http://geoinnsyn.nois.no/';31 var apiPathPrefix = 'api/v1/';32 var defaultMapConfig = 'demo';33 var configName = customMapConfig.GetConfigName() === undefined ? defaultMapConfig : customMapConfig.GetConfigName();34 function getGeoInnsynConfig(){35 return getConfigPath() + configName;36 }37 function getLayerStatus(){38 return getConfigPath() + configName + '/status';39 }40 function getDefaultMarkerPath(){41 return baseUrl + 'assets/img/pin-md-red.png';42 }43 function getConfigList() {44 return getConfigPath() + 'list';45 }46 function getConfigPath(){47 return baseUrl + apiPathPrefix + 'mapConfig/';48 }49 return {50 GetGeoInnsynConfig: getGeoInnsynConfig,51 GetLayerStatus: getLayerStatus,52 GetDefaultMarkerPath: getDefaultMarkerPath,53 GetConfigList: getConfigList,54 GetConfigPath: getConfigPath55 };...
util.js
Source: util.js
...4const merge = require("deepmerge");5module.exports = {6 // TODO: migration system that changes values if their name/location in the config were changed7 Config: class {8 constructor(configData = fs.readFileSync(module.exports.getConfigPath(), "utf-8")) {9 this.path = module.exports.getConfigPath();10 this.data = merge(require("./mcutils.config.json"), JSON.parse(configData));11 this.save();12 }13 save() {14 fs.writeFileSync(this.path, `${JSON.stringify(this.data, null, " ")}\n`);15 }16 },17 getConfigPath() {18 return path.join(process.cwd(), "mcutils.config.json");19 },20 configExists() {21 return fs.existsSync(this.getConfigPath());22 },23 getConfig() {24 if (this.configExists()) {25 return new this.Config();26 }27 warn("Config doesn't exist, creating one");28 fs.writeFileSync(this.getConfigPath(), fs.readFileSync(path.join(__dirname, "mcutils.config.json"), "utf-8"));29 return new this.Config();30 },...
Using AI Code Generation
1var path = require('path');2var configPath = path.resolve(__dirname, 'karma.conf.js');3var karma = require('karma').server;4karma.start({5}, function() {6 console.log('Karma has exited with ' + exitCode);7 process.exit(exitCode);8});
Using AI Code Generation
1var path = require('path');2var configPath = path.resolve(__dirname, 'karma.conf.js');3var karma = require('karma');4var config = karma.config;5var server = karma.server;6var cfg = config.parseConfig(configPath);7server.start(cfg, function(exitCode) {8 console.log('Karma has exited with ' + exitCode);9 process.exit(exitCode);10});
Using AI Code Generation
1var karmaServer = require('karma').Server;2var karmaConfig = karmaServer.getConfigPath();3console.log(karmaConfig);4module.exports = function(config) {5 config.set({6 preprocessors: {},7 })8}
Using AI Code Generation
1import KarmaConfiguration from 'karma-configuration';2const karmaConfiguration = new KarmaConfiguration();3const karmaConfigPath = karmaConfiguration.getConfigPath();4import KarmaConfiguration from 'karma-configuration';5const karmaConfiguration = new KarmaConfiguration();6const karmaConfig = karmaConfiguration.getKarmaConfig();7import KarmaConfiguration from 'karma-configuration';8const karmaConfiguration = new KarmaConfiguration();9const karmaConfigPath = karmaConfiguration.getKarmaConfigPath();10import KarmaConfiguration from 'karma-configuration';11const karmaConfiguration = new KarmaConfiguration();12const karmaConfigObject = karmaConfiguration.getKarmaConfigObject();13import KarmaConfiguration from 'karma-configuration';14const karmaConfiguration = new KarmaConfiguration();15const karmaConfigFilePath = karmaConfiguration.getKarmaConfigFilePath();16import KarmaConfiguration from 'karma-configuration';17const karmaConfiguration = new KarmaConfiguration();18const karmaConfigFileContent = karmaConfiguration.getKarmaConfigFileContent();19import KarmaConfiguration from 'karma-configuration';20const karmaConfiguration = new KarmaConfiguration();21const karmaConfigFileObject = karmaConfiguration.getKarmaConfigFileObject();
Check out the latest blogs from LambdaTest on this topic:
Dries Buytaert, a graduate student at the University of Antwerp, came up with the idea of developing something similar to a chat room. Moreover, he modified the conventional chat rooms into a website where his friends could post their queries and reply through comments. However, for this project, he thought of creating a temporary archive of posts.
The count of mobile users is on a steep rise. According to the research, by 2025, it is expected to reach 7.49 billion users worldwide. 70% of all US digital media time comes from mobile apps, and to your surprise, the average smartphone owner uses ten apps per day and 30 apps each month.
Lack of training is something that creates a major roadblock for a tester. Often, testers working in an organization are all of a sudden forced to learn a new framework or an automation tool whenever a new project demands it. You may be overwhelmed on how to learn test automation, where to start from and how to master test automation for web applications, and mobile applications on a new technology so soon.
Mobile application development is on the rise like never before, and it proportionally invites the need to perform thorough testing with the right mobile testing strategies. The strategies majorly involve the usage of various mobile automation testing tools. Mobile testing tools help businesses automate their application testing and cut down the extra cost, time, and chances of human error.
Even though several frameworks are available in the market for automation testing, Selenium is one of the most renowned open-source frameworks used by experts due to its numerous features and benefits.
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!