Best JavaScript code snippet using testcafe
Manager.js
Source:Manager.js
...15 project.frequencies.forEach(frequency => {16 const interval = frequency.split(':')[0]17 switch (interval) {18 case constants.MONTHLY : {19 const lastBackupDate = this.extractLastBackup(this.parseFileList(filesList), constants.MONTHLY)20 if (lastBackupDate === null || datefns.differenceInMonths(currentDate, lastBackupDate) >= 1) {21 backupToDo.push(constants.MONTHLY)22 }23 break24 }25 case constants.WEEKLY: {26 const lastBackupDate = this.extractLastBackup(this.parseFileList(filesList), constants.WEEKLY)27 if (lastBackupDate === null || datefns.differenceInWeeks(currentDate, lastBackupDate) >= 1) {28 backupToDo.push(constants.WEEKLY)29 }30 break31 }32 case constants.DAILY: {33 const lastBackupDate = this.extractLastBackup(this.parseFileList(filesList), constants.DAILY)34 if (lastBackupDate === null || datefns.differenceInDays(currentDate, lastBackupDate) >= 1) {35 backupToDo.push(constants.DAILY)36 }37 break38 }39 case constants.HOURLY: {40 const lastBackupDate = this.extractLastBackup(this.parseFileList(filesList), constants.HOURLY)41 // we are not using exactly one hour as the script may be slightly shifted42 if (lastBackupDate === null || datefns.differenceInMinutes(currentDate, lastBackupDate) >= 45) {43 backupToDo.push(constants.HOURLY)44 }45 break46 }47 case constants.EVERY4HOURS: {48 const lastBackupDate = this.extractLastBackup(this.parseFileList(filesList), constants.EVERY4HOURS)49 // we are not using exactly 4 hours as the script may be slightly shifted50 if (lastBackupDate === null || datefns.differenceInMinutes(currentDate, lastBackupDate) >= 225) {51 backupToDo.push(constants.EVERY4HOURS)52 }53 break54 }55 }56 })57 return backupToDo58 }59 checkForBackupToDelete (project, filesList) {60 // classify filelist by period61 const parsedFilesList = this.parseFileList(filesList)62 let toDelete = []63 project.frequencies.forEach(frequency => {64 let [interval, limit] = frequency.split(':')65 limit = parseInt(limit)66 if (Number.isInteger(limit) && limit > 0) {67 switch (interval) {68 case constants.MONTHLY: {69 toDelete = [...toDelete, ...this.extractFileToDelete(parsedFilesList, constants.MONTHLY, limit)]70 break71 }72 case constants.WEEKLY: {73 toDelete = [...toDelete, ...this.extractFileToDelete(parsedFilesList, constants.WEEKLY, limit)]74 break75 }...
md5state.mjs
Source:md5state.mjs
...123async function loadFileList(settings)124{125 switch(settings.filelistSource) {126 case "argv": return settings.filelist;127 case "file": return parseFileList(settings, await fs.readFile(settings.filelist, "utf8"));128 case "stdin": return parseFileList(settings, (await getStdin.buffer()).toString("utf8"));129 }130 return [];131}132/**133 * @param {object} settings134 * @param {string} contents135 * @return {string[]}136 */137function parseFileList(settings, contents)138{139 return contents.split("\n").filter(_ => (''+_).length > 0);140}141/**142 *143 * @param {string[]} argv144 * @return {object}145 */146function parseCommandLine(argv) {147 const settings = {148 filelistSource: "argv",149 nonexistent: "[nonexistent]",150 unreadable: false,151 algorithm: "md5",...
parsers.js
Source:parsers.js
1'use strict';2const aguid = require('aguid');3const { match } = require('ramda');4const lodash = require('lodash');5const { map, isNull, reject, partial, flow, zipObject, isUndefined, some, defaultTo } = require('lodash/fp');6const path = require('path');7const crypto = require('crypto');8const base64url = require('base64-url');9const moment = require('moment-timezone');10const {11 modelsForPlatformId, isFirmwareSupported, hasCustomScriptsSupport,12} = require('../../feature-detection/firmware');13const { parseStableVersion, parseSemver, parseCommFirmwareVersion } = require('../semver/parsers');14const { firmwares: firmwaresConfig, secureLinkSecret } = require('../../settings');15const { liftParser } = require('../index');16/**17 * @typedef {Object} FirmwareFileInfo18 * @property {string} filename19 * @property {FirmwareOriginEnum} origin20 * @property {number} size Size in bytes21 */22/**23 * @typedef {Object} CorrespondenceFirmware24 * @property {Object} identification25 * @property {string} identification.id26 * @property {string} identification.version27 * @property {boolean} identification.stable Whether or not is this stable version28 * @property {boolean} identification.unms Whether or not has UNMS support29 * @property {string} identification.filename30 * @property {FirmwareOriginEnum} identification.origin31 * @property {FirmwarePlatformIdEnum} identification.platformId32 * @property {Array.<DeviceModelEnum>} identification.models33 * @property {Object} supports34 * @property {boolean} supports.airMaxCustomScripts35 * @property {boolean} supports.UNMS36 * @property {SemVer} semver37 * @property {string} path38 * @property {string} url39 * @property {string} secureUrl40 * @property {number} size41 * @property {number} date Unix timestamp in milliseconds42 */43/**44 * @param {CorrespondenceFirmware} firmware45 * @return {string} secure url46 */47const secureFirmwareUrl = (firmware) => {48 const hash = crypto.createHash('md5');49 const { urlExpiration } = firmwaresConfig();50 const timestamp = moment().add(urlExpiration, 'milliseconds').unix();51 const { origin, filename } = firmware.identification;52 const secret = secureLinkSecret();53 hash.update(`${timestamp}${origin}${filename} ${secret}`);54 const fingerprint = hash.digest('base64');55 return `/${timestamp}/${base64url.escape(fingerprint)}/${origin}/${filename}`;56};57/**58 * @function generateFirmwareId59 * @params {string} origin60 * @params {string} filename61 * @return {string}62 */63const generateFirmwareId = lodash.memoize(64 (origin, filename) => aguid(`${origin}~${filename}`),65 (origin, filename) => `${origin}~${filename}`66);67const matchFilename = match(/^([\d\w]+)-(.+)\.(\d{6})\.\w{3}$/);68// e100-1.9.6-alpha2.170220.(tar|bin|stk)69// ^ ^ ^70// | | |71// Platform ID | |72// Version |73// compile date74const parseFilename = flow(75 matchFilename,76 zipObject(['filename', 'platformId', 'version', 'date'])77);78/**79 * parseFile :: (Object, Object) -> CorrespondenceFirmware80 * CorrespondenceFirmware = Object81 *82 * @param {Object} auxiliaries83 * @param {FirmwareFileInfo} file84 * @return {?CorrespondenceFirmware}85 */86const parseFile = (auxiliaries, file) => {87 const fileInfo = parseFilename(file.filename);88 // not a valid filename, ignore89 if (some(isUndefined, fileInfo)) { return null }90 const parsedVersion = parseSemver(parseCommFirmwareVersion(fileInfo.version));91 // not a valid semver, ignore92 if (parsedVersion === null) { return null }93 return {94 identification: {95 id: generateFirmwareId(file.origin, file.filename),96 version: parsedVersion.raw,97 stable: parseStableVersion(parsedVersion),98 filename: file.filename,99 origin: file.origin,100 platformId: fileInfo.platformId,101 models: defaultTo([], modelsForPlatformId(fileInfo.platformId)),102 },103 supports: {104 airMaxCustomScripts: hasCustomScriptsSupport(fileInfo.platformId, fileInfo.version),105 UNMS: isFirmwareSupported(fileInfo.platformId, fileInfo.version),106 },107 semver: parsedVersion,108 get path() {109 const { dir } = firmwaresConfig();110 return path.join(dir, file.origin, file.filename);111 },112 url: `${file.origin}/${file.filename}`,113 get secureUrl() {114 return secureFirmwareUrl(this);115 },116 size: file.size,117 date: moment(fileInfo.date, 'YYMMDD').valueOf(),118 };119};120// parseFile :: (Object, Array) -> Array121const parseFileList = (auxiliaries, fileList) => flow(122 map(partial(parseFile, [auxiliaries])),123 reject(isNull)124)(fileList);125module.exports = {126 parseFile,127 parseFileList,128 safeParseFile: liftParser(parseFile),129 safeParseFileList: liftParser(parseFileList),...
nestTrace.js
Source:nestTrace.js
1var glob=require('glob')2var fs=require('fs')3var path = require('path')4// var getDirectories = function (src, callback) {5// glob(src + '/**/*', callback);6// };7// getDirectories('data/', function (err, res) {8// if (err) {9// console.log('Error', err);10// } else {11// var fs=require('fs')12// console.log(res);13// res.forEach((element,index) => {14// if(fs.statSync(element).isDirectory()){15// console.log('delet ',element)16// delete res[index]17// }18 19// });20// fs.writeFileSync( 'fileList.json', JSON.stringify(res,null,'\t') )21// }22// });23function shuffle(arra1) {24 var ctr = arra1.length, temp, index;25 while (ctr > 0) {26 index = Math.floor(Math.random() * ctr);27 ctr--;28 temp = arra1[ctr];29 arra1[ctr] = arra1[index];30 arra1[index] = temp;31 }32 return arra1;33}34// var fileList = JSON.parse (fs.readFileSync('fileList.json','utf8'))35// var parseFileList = {};36// var frontFileList = new Set();37// fileList.forEach(element => {38// console.log(element)39// if(path.extname(element)!= '.txt')40// parseFileList[element.split('.').slice(0, -1).join('.')] = path.extname(element)41// frontFileList.add(element.split('.').slice(0, -1).join('.'));42// });43// fs.writeFileSync( 'parseFileList.json', JSON.stringify(parseFileList,null,'\t') )44// fs.writeFileSync( 'frontFileList.json', JSON.stringify(Array.from(frontFileList),null,'\t') )45var frontFileList = JSON.parse (fs.readFileSync('frontFileList.json','utf8'))46frontFileList = shuffle(frontFileList)47fs.writeFileSync( 'ShileList.json', JSON.stringify(frontFileList,null,'\t') )48console.log(frontFileList.length)49var valList = frontFileList.slice(0,frontFileList.length/4);50var trainList = frontFileList.slice(frontFileList.length/4,frontFileList.length)51console.log('valList lenght = ',valList.length)52console.log('trainList lenght = ',trainList.length)53fs.writeFileSync('valList.json',JSON.stringify(valList,null,'\t')) // frontFileList.length/454fs.writeFileSync('trainList.json',JSON.stringify(trainList,null,'\t'))55var res=''56var parseFileList = JSON.parse(fs.readFileSync('parseFileList.json'))57valList.forEach(element => {58 res=res+'/media/6ef199b6-f7fb-4df2-b134-f47a4bbbd78a/darknet/mask/'+element+parseFileList[element]+'\n'59});60fs.writeFileSync('valList.txt',String(res)) 61res=''62trainList.forEach(element => {63 res=res+'/media/6ef199b6-f7fb-4df2-b134-f47a4bbbd78a/darknet/mask/'+element+parseFileList[element]+'\n'64});...
folder-tree.js
Source:folder-tree.js
...60 files.sort();61 const [folderList, fileList] = groupFilesFolders(path.toString(), files)62 const folderResults = parseFolderList(folderList, path,63 options.recurse?(filePath) => processFolder(filePath, options) : noop)64 const fileResults = parseFileList(fileList, path)65 return {...folderResults, files: fileResults};66}67function capitalize(str) {68 return str.slice(0, 1).toUpperCase() + str.slice(1);...
parseBlogList.js
Source:parseBlogList.js
...53 })54}55const ParseBlogList = function(assetsDir) {56 readDir(assetsDir)57 const fileList = parseFileList(assetsDir, readDir(assetsDir));58 fileList.sort((a,b)=>new Date(a.date)<new Date(b.date));59 const json = JSON.stringify(fileList, null, 4);60 fs.writeFileSync("assets/files.json", json, 'utf-8');61}...
index.js
Source:index.js
...23 return;24 }25 const base = path.parse(data[2]).base.trim();26 const root = { filepath: '', type: 'tree', base, level: -1 };27 const files = parseFileList(data[0]);28 const breadcrumbs = [root];29 const links = config.menu;30 const branches = _.uniq([object, ...parseBranchList(data[1])]);31 const children = files.filter(file => pathname === file.dir);32 const tree = { children };33 res.render('index', { title, links, branches, breadcrumbs, object, tree });34 })35 .catch(next);36});...
get-book-routes.js
Source:get-book-routes.js
...3 * parseFileList4 * @param {*} path5 * description: parse folder filelist to routes6 */7async function parseFileList(fileList, parentPath, docRoute) {8 const { bookConfig } = window.__md_settings__;9 const routes = [];10 const promises = [];11 fileList.forEach((filename) => {12 if (filename === 'index') return;13 const routePath = `${parentPath}/${filename}`;14 const [, pathname, exp] = filename.match(/([^.]*)\.?(\w+)?/);15 if (exp === 'md') {16 const isIndex = filename === (bookConfig.index || 'README.md');17 const path = parentPath + (isIndex ? '' : `/${pathname}`);18 routes.push({19 path: `${docRoute.path}${path || '/'}`,20 file: `${docRoute.source}${routePath}`,21 component: null,22 });23 } else {24 // parse filelist recursive25 promises.push(getBookRoutes(docRoute, routePath));26 }27 });28 const result = await Promise.all(promises);29 result.forEach(({ path, routes: children }) => {30 routes.push({31 title: path.split('/').slice(-1)[0], // filename as folder title32 path,33 children,34 });35 });36 return {37 path: parentPath,38 routes,39 };40}41// fetch & parse folder filelist42async function getBookRoutes(docRoute, path) {43 const { data } = await axios.get(`${docRoute.source}${path}`);44 return parseFileList(data, path, docRoute);45}...
Using AI Code Generation
1const createTestCafe = require('testcafe');2let testcafe = null;3createTestCafe('localhost', 1337, 1338)4 .then(tc => {5 testcafe = tc;6 const runner = testcafe.createRunner();7 .src(['test.js'])8 .browsers(['chrome'])9 .run();10 })11 .then(failedCount => {12 console.log('Tests failed: ' + failedCount);13 testcafe.close();14 });15import createTestCafe from 'testcafe';16let testcafe = null;17createTestCafe('localhost', 1337, 1338)18 .then(tc => {19 testcafe = tc;20 const runner = testcafe.createRunner();21 .src(['test.js'])22 .browsers(['chrome'])23 .run();24 })25 .then(failedCount => {26 console.log('Tests failed: ' + failedCount);27 testcafe.close();28 });29test('My first test', async t => {30 .typeText('#developer-name', 'John Smith')31 .click('#submit-button')32 .expect(Selector('#article-header').innerText).eql('Thank you, John Smith!');33});34 1 passed (2s)35 1 passed (2s)
Using AI Code Generation
1import { parseFileList } from 'testcafe-file-helper';2test('My Test', async t => {3 await t.setFilesToUpload('#upload', parseFileList([4 ]));5});6import { parseFileList } from 'testcafe-file-helper';7test('My Test', async t => {8 await t.setFilesToUpload('#upload', parseFileList([9 ]));10});11import { parseFileList } from 'testcafe-file-helper';12test('My Test', async t => {13 await t.setFilesToUpload('#upload', parseFileList([14 ]));15});16import { parseFileList } from 'testcafe-file-helper';17test('My Test', async t => {18 await t.setFilesToUpload('#upload', parseFileList([19 ]));20});21import { parseFileList } from 'testcafe-file-helper';22test('My Test', async t => {23 await t.setFilesToUpload('#upload', parseFileList([24 ]));25});26import
Using AI Code Generation
1import { parseFileList } from 'testcafe';2test('My test', async t => {3 const fileNames = await parseFileList('./file-list.txt');4 await t.setFilesToUpload('#file-upload', fileNames);5});6import { parseFileList } from 'testcafe';7test('My test', async t => {8 const fileNames = await parseFileList('../test-data/file-list.txt');9 await t.setFilesToUpload('#file-upload', fileNames);10});
Using AI Code Generation
1import { parseFileList } from 'testcafe/lib/utils/file-list';2import { ClientFunction } from 'testcafe';3import fs from 'fs';4test('Testcafe test', async t => {5 const fileList = fs.readFileSync('file-list.txt', 'utf8');6 const parsedFileList = parseFileList(fileList);7 const getLocation = ClientFunction(() => document.location.href);8 for (let i = 0; i < parsedFileList.length; i++) {9 await t.navigateTo(parsedFileList[i]);10 const location = await getLocation();11 await t.expect(location).contains('file');12 }13});14at parseFileList (C:\Users\username\AppData\Roaming15at Testcafe test (C:\Users\username\test.js:12:35)16at processTicksAndRejections (internal/process/task_queues.js:97:5)
Using AI Code Generation
1import { parseFileList } from 'testcafe/lib/utils/file-list';2import { resolve } from 'path';3import { readFileSync } from 'fs';4const fileList = parseFileList(['test.js'], process.cwd());5const file = fileList[0];6const data = readFileSync(resolve(process.cwd(), file.path));7const code = data.toString();8console.log(code);9import { Selector } from 'testcafe';10test('My first test', async t => {11});
Using AI Code Generation
1import { parseFileList } from 'testcafe/lib/utils/file-list';2const fileList = parseFileList('path/to/file1.js,path/to/file2.js');3console.log(fileList);4import fs from 'fs';5import path from 'path';6const fileList = fs.readdirSync(path.join(__dirname, 'path/to/file1.js,path/to/file2.js'));7console.log(fileList);
Using AI Code Generation
1const { parseFileList } = require('testcafe-reporter-xunit/lib/utils');2const fileList = parseFileList('test.js, test2.js, test3.js');3console.log(fileList);4const { parseFileList } = require('testcafe-reporter-xunit/lib/utils');5const fileList = parseFileList('test.js, test2.js, test3.js');6console.log(fileList);7const { parseFileList } = require('testcafe-reporter-xunit/lib/utils');8const fileList = parseFileList('test.js, test2.js, test3.js');9console.log(fileList);10const { parseFileList } = require('testcafe-reporter-xunit/lib/utils');11const fileList = parseFileList('test.js, test2.js, test3.js');12console.log(fileList);13const { parseFileList } = require('testcafe-reporter-xunit/lib/utils');14const fileList = parseFileList('test.js, test2.js, test3.js');15console.log(fileList);16const { parseFileList } = require('testcafe-reporter-xunit/lib/utils');17const fileList = parseFileList('test.js, test2.js, test3.js');18console.log(fileList);19const { parseFileList } = require('testcafe-reporter-xunit/lib/utils');
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!!