Best JavaScript code snippet using playwright-internal
resultsService.js
Source: resultsService.js
...48 getResultColumns: function (userPermissions, lang, userSettings, resultSchemaJsonString) {49 var baseSchema = [];50 baseSchema.length = 051 getBaseColObj("", "actionImage", "string", baseSchema);52 getBaseColObj(toTitleCase(lang.resultDate.caption), "resultDate", "date", baseSchema);53 getBaseColObj(toTitleCase(lang.locationName.caption), "locationName", "string", baseSchema);54 getBaseColObj(toTitleCase(lang.unitNo.caption), "unitNo", "number", baseSchema);55 getBaseColObj(toTitleCase(lang.unitName.caption), "unitName", "string", baseSchema);56 getBaseColObj(toTitleCase(lang.plans.caption), "planName", "string", baseSchema);57 getBaseColObj(toTitleCase(lang.userName.caption), "userName", "string", baseSchema);58 getBaseColObj(toTitleCase(lang.lower.caption), "lower", "number", baseSchema);59 getBaseColObj(toTitleCase(lang.upper.caption), "upper", "number", baseSchema);60 getBaseColObj(toTitleCase(lang.rLU.caption), "rlu", "number", baseSchema);61 getBaseColObj(toTitleCase(lang.notes.caption), "notes", "string", baseSchema); 62 getBaseColObj(toTitleCase(lang.group.caption), "groupName", "string", baseSchema);63 getBaseColObj(toTitleCase(lang.surface.caption), "surfaceName", "string", baseSchema);64 getBaseColObj(toTitleCase(lang.createdBy.caption), "createdBy", "string", baseSchema);65 getBaseColObj(toTitleCase(lang.rank.caption), "rank", "number", baseSchema);66 getBaseColObj(toTitleCase(lang.zone.caption), "zone", "string", baseSchema); 67 getBaseColObj(toTitleCase(lang.unitType.caption), "unitType", "string", baseSchema);68 getBaseColObj(toTitleCase(lang.roomNumber.caption), "roomNumber", "number", baseSchema);69 getBaseColObj(toTitleCase(lang.personnel.caption), "personnel", "string", baseSchema);70 getBaseColObj(toTitleCase(lang.correctiveAction.caption), "correctiveAction", "string", baseSchema);71 getBaseColObj(toTitleCase(lang.customColumn1.caption), "customColumn1", "string", baseSchema);72 getBaseColObj(toTitleCase(lang.customColumn2.caption), "customColumn2", "string", baseSchema);73 getBaseColObj(toTitleCase(lang.customColumn3.caption), "customColumn3", "string", baseSchema);74 getBaseColObj(toTitleCase(lang.customColumn4.caption), "customColumn4", "string", baseSchema);75 getBaseColObj(toTitleCase(lang.customColumn5.caption), "customColumn5", "string", baseSchema);76 getBaseColObj(toTitleCase(lang.customColumn6.caption), "customColumn6", "string", baseSchema);77 getBaseColObj(toTitleCase(lang.customColumn7.caption), "customColumn7", "string", baseSchema);78 getBaseColObj(toTitleCase(lang.customColumn8.caption), "customColumn8", "string", baseSchema);79 getBaseColObj(toTitleCase(lang.customColumn9.caption), "customColumn9", "string", baseSchema);80 getBaseColObj(toTitleCase(lang.customColumn10.caption), "customColumn10", "string", baseSchema);81 getBaseColObj(toTitleCase(lang.isResultMarkedDeleted.caption), "isDeleted", "boolean", baseSchema);82 83 if (resultSchemaJsonString) {84 var arrRsltSchmaCols = angular.fromJson(resultSchemaJsonString);85 Object.assign(baseSchema, arrRsltSchmaCols);86 }87 setDefaultValues(baseSchema, userSettings, userPermissions)88 89 90 return baseSchema;91 }92 };93 function setDefaultValues(baseSchema, userSettings, userPermissions)94 { 95 $.grep(baseSchema, function (b, index) {96 if (b.dataField === "actionImage") {97 b.caption = "";98 b.width = 30;99 b.cellTemplate = function (container, options) {100 if (typeof options !== "undefined" && options !== null && options.data !== null) {101 $("<div class='" + options.data.resultState + "'> </div>").appendTo(container);102 }103 };104 b.allowFiltering = false;105 b.allowReordering = false;106 b.allowGrouping = false;107 b.allowSorting = false;108 b.showInColumnChooser = false;109 b.allowResizing = false;110 baseSchema[index] = b;111 }112 if (b.dataField === "resultDate") {113 114 b.allowHiding = false;115 b.format = userSettings.dateFormatShort;116 baseSchema[index] = b;117 }118 if (b.dataField === "locationName") {119 b.allowEditing = userPermissions.canEditResultLocation;120 baseSchema[index] = b;121 }122 if (b.dataField === "testType") {123 b.calculateCellValue = function (data) {124 if (typeof data !== "undefined" && data !== null) {125 if (data.testType === "repeatReading") { return toTitleCase(lang.repeatReading.caption); }126 else if (data.testType === "reTested") { return toTitleCase(lang.reTested.caption); }127 else if (data.testType === "reTestResult") { return toTitleCase(lang.reTestResult.caption); }128 else { return toTitleCase(lang.normal.caption); }129 }130 };131 baseSchema[index] = b;132 }133 if (b.dataField === "resultState") {134 b.calculateCellValue = function (data) {135 if (typeof data !== "undefined" && data !== null) {136 if (data.resultState === "pass") { return toTitleCase(lang.pass.caption); }137 else if (data.resultState === "fail") { return toTitleCase(lang.fail.caption); }138 else { return toTitleCase(lang.caution.caption); }139 }140 };141 baseSchema[index] = b;142 }143 if (b.dataField === "groupName") {144 b.allowEditing = userPermissions.canEditResultGroup;145 baseSchema[index] = b;146 }147 if (b.dataField === "surfaceName") {148 b.allowEditing = userPermissions.canEditResultSurface;149 baseSchema[index] = b;150 } 151 if (b.dataField === "notes") {152 b.allowEditing = userPermissions.canEditResultNotes;...
application.js
Source: application.js
...18 var dlength = d.data.length;19 for(var i=0; i<dlength ;i++){20 if(d.data[i][9] === 'BREWER' || d.data[i][9] === 'FARM BREWER' || d.data[i][9] === 'MICRO BREWER' || d.data[i][9] === 'RESTAURANT BREWER') {21 var o={};22 o.name = toTitleCase(d.data[i][16] || d.data[i][15]);23 o.address = toTitleCase(d.data[i][17]);24 o.city = toTitleCase(d.data[i][19]);25 o.state = d.data[i][20];26 o.zip = d.data[i][21];27 o.latitude = d.data[i][26];28 o.longitude = d.data[i][27];29 o.type = toTitleCase(d.data[i][9]);30 results.push(o);31 }32 }33 response = {34 "length": results.length,35 "breweries":results36 };37 res.write(JSON.stringify(response));38 res.end();39 });40 });41}42function getCideries(req, res) {43 var myreq = https.get("https://data.ny.gov/api/views/c2hv-vmqn/rows.json", function(r) {44 var str="";45 var results=[];46 var response={};47 r.setEncoding('utf8');48 r.on('data', function (chunk) {49 str += chunk;50 });51 r.on('end', function () {52 var d = JSON.parse(str);53 var dlength = d.data.length;54 for(var i=0; i<dlength ;i++){55 if(d.data[i][9] === 'CIDER PRODUCER') {56 var o={};57 o.name = toTitleCase(d.data[i][16] || d.data[i][15]);58 o.address = toTitleCase(d.data[i][17]);59 o.city = toTitleCase(d.data[i][19]);60 o.state = d.data[i][20];61 o.zip = d.data[i][21];62 o.latitude = d.data[i][26];63 o.longitude = d.data[i][27];64 o.type = toTitleCase(d.data[i][9]);65 results.push(o);66 }67 }68 response = {69 "length": results.length,70 "cideries":results71 };72 res.write(JSON.stringify(response));73 res.end();74 });75 });76}77function getDistilleries(req, res) {78 var myreq = https.get("https://data.ny.gov/api/views/c2hv-vmqn/rows.json", function(r) {79 var str="";80 var results=[];81 var response={};82 r.setEncoding('utf8');83 r.on('data', function (chunk) {84 str += chunk;85 });86 r.on('end', function () {87 var d = JSON.parse(str);88 var dlength = d.data.length;89 for(var i=0; i<dlength ;i++){90 if(d.data[i][9] === 'DISTILLER "A-1"' || d.data[i][9] === 'DISTILLER "B-1"' || d.data[i][9] === 'DISTILLER "C"' || d.data[i][9] === 'FARM DISTILLER "D"') {91 var o={};92 o.name = toTitleCase(d.data[i][16] || d.data[i][15]);93 o.address = toTitleCase(d.data[i][17]);94 o.city = toTitleCase(d.data[i][19]);95 o.state = d.data[i][20];96 o.zip = d.data[i][21];97 o.latitude = d.data[i][26];98 o.longitude = d.data[i][27];99 o.type = toTitleCase(d.data[i][9]);100 results.push(o);101 }102 }103 response = {104 "length": results.length,105 "distilleries":results106 };107 res.write(JSON.stringify(response));108 res.end();109 });110 });111}112function getWineries(req, res) {113 var myreq = https.get("https://data.ny.gov/api/views/c2hv-vmqn/rows.json", function(r) {114 var str="";115 var results=[];116 var response={};117 r.setEncoding('utf8');118 r.on('data', function (chunk) {119 str += chunk;120 });121 r.on('end', function () {122 var d = JSON.parse(str);123 var dlength = d.data.length;124 for(var i=0; i<dlength ;i++){125 if(d.data[i][9] === 'FARM WINERY' || d.data[i][9] === 'WINERY' || d.data[i][9] === 'WINERY / FARM WINERY RETAIL') {126 var o={};127 o.name = toTitleCase(d.data[i][16] || d.data[i][15]);128 o.address = toTitleCase(d.data[i][17]);129 o.city = toTitleCase(d.data[i][19]);130 o.state = d.data[i][20];131 o.zip = d.data[i][21];132 o.latitude = d.data[i][26];133 o.longitude = d.data[i][27];134 o.type = toTitleCase(d.data[i][9]);135 results.push(o);136 }137 }138 response = {139 "length": results.length,140 "wineries":results141 };142 res.write(JSON.stringify(response));143 res.end();144 });145 });146}147function brewery(req, res) {148 var url_parts = url.parse(req.url, true);149 var apikey = require('./apikey').breweryDbApiKey;150 var api_url = ('http://api.brewerydb.com/v2/search?q=XXX&type=brewery&key=' + apikey).replace('XXX', url_parts.query.name);151 var myreq = http.get(api_url, function(r) {152 var str="";153 var results=[];154 var response={};155 r.setEncoding('utf8');156 r.on('data', function (chunk) {157 str += chunk;158 });159 r.on('end', function () {160 var d = JSON.parse(str);161 if(d.data && d.data.length > 0) {162 var o={};163 o.name = d.data[0].name;164 o.description = d.data[0].description;165 o.established = d.data[0].established;166 o.website = d.data[0].website;167 o.logo = d.data[0].images.large;168 results.push(o);169 }170 response = {"brewery":results};171 res.write(JSON.stringify(response));172 res.end();173 });174 });175}176/* helper function */177function toTitleCase(str) {178 if(!str) {return '';}179 return str.replace(/\w\S*/g, function(txt){180 return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();181 });...
stats.js
Source: stats.js
...80 let embed = new RichEmbed()81 .setThumbnail(ava)82 .setTimestamp()83 if (typeof result.stats === 'undefined') {84 embed.setAuthor(`${result.skill.toTitleCase()} hiscore for ${result.name.trim().toTitleCase()}`)85 embed.setDescription(`${ typeof emojis !== 'undefined' && typeof emojis.find(item => item.name == result.skill.toTitleCase()) !== 'undefined' ? emojis.find(item => item.name == result.skill.toTitleCase()) : 'overall'.toTitleCase()} ${result.detail.level.toLocaleString().mdbold()}\n` +86 `${ typeof emojis !== 'undefined' && typeof emojis.find(item => item.name == 'xp'.toTitleCase()) !== 'undefined' ? emojis.find(item => item.name == 'xp'.toTitleCase()) : 'xp'.toTitleCase()} ${result.detail.exp.toLocaleString()}\n` +87 `${ typeof emojis !== 'undefined' && typeof emojis.find(item => item.name == 'rank'.toTitleCase()) !== 'undefined' ? emojis.find(item => item.name == 'rank'.toTitleCase()) : 'rank'.toTitleCase()} ${result.detail.rank.toLocaleString()}`)88 }89 else {90 embed.setAuthor(`Stats for ${result.name.trim().toTitleCase()}`)91 .setDescription(`${ typeof emojis !== 'undefined' && typeof emojis.find(item => item.name == 'overall'.toTitleCase()) !== 'undefined' ? emojis.find(item => item.name == 'overall'.toTitleCase()) : 'overall'.toTitleCase()} ${result.stats['overall'].level.toLocaleString().mdbold()}\n` +92 `${ typeof emojis !== 'undefined' && typeof emojis.find(item => item.name == 'xp'.toTitleCase()) !== 'undefined' ? emojis.find(item => item.name == 'xp'.toTitleCase()) : 'xp'.toTitleCase()} ${result.stats['overall'].exp.toLocaleString()}\n` +93 `${ typeof emojis !== 'undefined' && typeof emojis.find(item => item.name == 'rank'.toTitleCase()) !== 'undefined' ? emojis.find(item => item.name == 'rank'.toTitleCase()) : 'rank'.toTitleCase()} ${result.stats['overall'].rank.toLocaleString()}`)94 for (let skillType in skillTypes) {95 let subset = skillTypes[skillType];96 let set = '';97 subset.skills.forEach(function (skill) {98 let emoji = typeof emojis !== 'undefined' && typeof emojis.find(item => item.name == skill.toTitleCase()) !== 'undefined' ? emojis.find(item => item.name == skill.toTitleCase()) : skill.toTitleCase();99 set += `${emoji} ${result.stats[skill].level.toString().toTitleCase().mdbold()} | ${result.stats[skill].exp.toLocaleString()} \n`;100 });101 skillType = skillType.toTitleCase();102 embed.addField(skillType, set, true);103 }104 }105 return embed;106 }...
osstats.js
Source: osstats.js
...75 let embed = new RichEmbed()76 .setThumbnail(ava)77 .setTimestamp()78 if (typeof result.stats === 'undefined') {79 embed.setAuthor(`${result.skill.toTitleCase()} hiscore for ${result.name.trim().toTitleCase()}`)80 embed.setDescription(`${ typeof emojis !== 'undefined' && typeof emojis.find(item => item.name == result.skill.toTitleCase()) !== 'undefined' ? emojis.find(item => item.name == result.skill.toTitleCase()) : 'overall'.toTitleCase()} ${result.detail.level.toLocaleString().mdbold()}\n` +81 `${ typeof emojis !== 'undefined' && typeof emojis.find(item => item.name == 'xp'.toTitleCase()) !== 'undefined' ? emojis.find(item => item.name == 'xp'.toTitleCase()) : 'xp'.toTitleCase()} ${result.detail.exp.toLocaleString()}\n` +82 `${ typeof emojis !== 'undefined' && typeof emojis.find(item => item.name == 'rank'.toTitleCase()) !== 'undefined' ? emojis.find(item => item.name == 'rank'.toTitleCase()) : 'rank'.toTitleCase()} ${result.detail.rank.toLocaleString()}`)83 }84 else {85 embed.setAuthor(`Stats for ${result.name.trim().toTitleCase()}`)86 .setDescription(`${ typeof emojis !== 'undefined' && typeof emojis.find(item => item.name == 'overall'.toTitleCase()) !== 'undefined' ? emojis.find(item => item.name == 'overall'.toTitleCase()) : 'overall'.toTitleCase()} ${result.stats['overall'].level.toLocaleString().mdbold()}\n` +87 `${ typeof emojis !== 'undefined' && typeof emojis.find(item => item.name == 'xp'.toTitleCase()) !== 'undefined' ? emojis.find(item => item.name == 'xp'.toTitleCase()) : 'xp'.toTitleCase()} ${result.stats['overall'].exp.toLocaleString()}\n` +88 `${ typeof emojis !== 'undefined' && typeof emojis.find(item => item.name == 'rank'.toTitleCase()) !== 'undefined' ? emojis.find(item => item.name == 'rank'.toTitleCase()) : 'rank'.toTitleCase()} ${result.stats['overall'].rank.toLocaleString()}`)89 for (let skillType in skillTypes) {90 let subset = skillTypes[skillType];91 let set = '';92 subset.skills.forEach(function (skill) {93 let emoji = typeof emojis !== 'undefined' && typeof emojis.find(item => item.name == skill.toTitleCase()) !== 'undefined' ? emojis.find(item => item.name == skill.toTitleCase()) : skill.toTitleCase();94 set += `${emoji} ${result.stats[skill].level.toString().toTitleCase().mdbold()} | ${result.stats[skill].exp.toLocaleString()} \n`;95 });96 skillType = skillType.toTitleCase();97 embed.addField(skillType, set, true);98 }99 }100 return embed;101 }...
toTitleCase.test.js
Source: toTitleCase.test.js
1import toTitleCase from '../../src/utils/toTitleCase';2describe('toTitleCase()', () => {3 // Tests taken from https://github.com/gouch/to-title-case/blob/master/test/tests.json4 it('should convert correctly to title case', () => {5 expect(toTitleCase('follow step-by-step instructions')).toEqual(6 'Follow Step-by-Step Instructions'7 );8 expect(toTitleCase('this sub-phrase is nice')).toEqual(9 'This Sub-Phrase Is Nice'10 );11 expect(toTitleCase('catchy title: a subtitle')).toEqual(12 'Catchy Title: A Subtitle'13 );14 expect(toTitleCase("catchy title: 'a quoted subtitle'")).toEqual(15 "Catchy Title: 'A Quoted Subtitle'"16 );17 expect(toTitleCase('catchy title: "\'a twice quoted subtitle\'"')).toEqual(18 'Catchy Title: "\'A Twice Quoted Subtitle\'"'19 );20 expect(toTitleCase("'a title inside double quotes'")).toEqual(21 "'A Title Inside Double Quotes'"22 );23 expect(toTitleCase('all words capitalized')).toEqual(24 'All Words Capitalized'25 );26 expect(toTitleCase('small words are for by and of lowercase')).toEqual(27 'Small Words Are for by and of Lowercase'28 );29 expect(toTitleCase('a small word starts')).toEqual('A Small Word Starts');30 expect(toTitleCase('a small word it ends on')).toEqual(31 'A Small Word It Ends On'32 );33 expect(toTitleCase('do questions work?')).toEqual('Do Questions Work?');34 expect(toTitleCase('multiple sentences. more than one.')).toEqual(35 'Multiple Sentences. More Than One.'36 );37 expect(toTitleCase('Ends with small word of')).toEqual(38 'Ends With Small Word Of'39 );40 expect(toTitleCase("double quoted 'inner' word")).toEqual(41 "Double Quoted 'Inner' Word"42 );43 expect(toTitleCase("single quoted 'inner' word")).toEqual(44 "Single Quoted 'Inner' Word"45 );46 expect(toTitleCase('fancy double quoted "inner" word')).toEqual(47 'Fancy Double Quoted "Inner" Word'48 );49 expect(toTitleCase("fancy single quoted 'inner' word")).toEqual(50 "Fancy Single Quoted 'Inner' Word"51 );52 expect(toTitleCase('this vs. that')).toEqual('This vs. That');53 expect(toTitleCase('this vs that')).toEqual('This vs That');54 expect(toTitleCase('this v. that')).toEqual('This v. That');55 expect(toTitleCase('this v that')).toEqual('This v That');56 expect(toTitleCase('address email@example.com titles')).toEqual(57 'Address email@example.com Titles'58 );59 expect(toTitleCase('pass camelCase through')).toEqual(60 'Pass camelCase Through'61 );62 expect(toTitleCase("don't break")).toEqual("Don't Break");63 expect(toTitleCase('catchy title: substance subtitle')).toEqual(64 'Catchy Title: Substance Subtitle'65 );66 expect(toTitleCase('we keep NASA capitalized')).toEqual(67 'We Keep NASA Capitalized'68 );69 expect(toTitleCase('leave Q&A unscathed')).toEqual('Leave Q&A Unscathed');70 expect(71 toTitleCase('Scott Moritz and TheStreet.comâs million iPhone la-la land')72 ).toEqual('Scott Moritz and TheStreet.comâs Million iPhone La-La Land');73 expect(toTitleCase('you have a http://example.com/foo/ title')).toEqual(74 'You Have a http://example.com/foo/ Title'75 );76 expect(toTitleCase('your hair[cut] looks (nice)')).toEqual(77 'Your Hair[cut] Looks (Nice)'78 );79 expect(toTitleCase('keep that colo(u)r')).toEqual('Keep That Colo(u)r');80 expect(toTitleCase('have you read "The Lottery"?')).toEqual(81 'Have You Read "The Lottery"?'82 );83 expect(84 toTitleCase(85 'Read markdown_rules.txt to find out how _underscores around words_ will be interpreted'86 )87 ).toEqual(88 'Read markdown_rules.txt to Find Out How _Underscores Around Words_ Will Be Interpreted'89 );90 expect(91 toTitleCase(92 'Read markdown_rules.txt to find out how *asterisks around words* will be interpreted'93 )94 ).toEqual(95 'Read markdown_rules.txt to Find Out How *Asterisks Around Words* Will Be Interpreted'96 );97 expect(98 toTitleCase(99 'Notes and observations regarding Appleâs announcements from âThe Beat Goes Onâ special event'100 )101 ).toEqual(102 'Notes and Observations Regarding Appleâs Announcements From âThe Beat Goes Onâ Special Event'103 );104 expect(105 toTitleCase('Drink this piña colada while you listen to ænima')106 ).toEqual('Drink This Piña Colada While You Listen to Ãnima');107 expect(toTitleCase('capitalize hyphenated words on-demand')).toEqual(108 'Capitalize Hyphenated Words On-Demand'109 );110 expect(toTitleCase('take them on: special lower cases')).toEqual(111 'Take Them On: Special Lower Cases'112 );113 });...
findUser.js
Source: findUser.js
...11 [].forEach.call(stBtns, function(el) {12 el.addEventListener('click', e =>{13 let source = e.target || e.srcElement;14 let city = matchCity(source.getAttribute('data-city'));15 document.getElementById("awesomeplete_input").value = `${toTitleCase(city.city)}, ${city.country}`16 updateListeners(city);17 })18 });19 /* AUTO COMPLETE FUNCTIONALITY */20 // https://www.sitepoint.com/javascript-autocomplete-widget-awesomplete/21 var input = document.getElementById("awesomeplete_input");22 var awesomplete = new Awesomplete(input, {23 list: cities,24 autoFirst: true,25 minChars: 4,26 data: function (item, input) {27 return { label: `${toTitleCase(item.city)}, ${item.country}`, value: `${toTitleCase(item.city)}, ${item.country}` };28 }29 });30 // window.addEventListener('awesomplete-select', e => {31 //32 // var city = matchCity(e.text.label)33 // console.log('select', city)34 // updateListeners(city);35 // })36 window.addEventListener('awesomplete-close', e => {37 //console.log(e)38 var city = matchCity(document.querySelector('.visually-hidden').innerHTML);39 document.getElementById("awesomeplete_input").value = `${toTitleCase(city.city)}, ${city.country}`40 console.log('close', city)41 updateListeners(city);42 })43 function matchCity (label){44 return cities.filter(c => {45 return (label == `${toTitleCase(c.city)}, ${c.country}`) ? true : false;46 })[0];47 }48 /* AUTO FIND FUNCTIONALITY */49 //get user location via browser lat/long50 var locateBtn = document.querySelector('.gv-locate-btn');51 locateBtn.addEventListener('click', loc => {52 locateBtn.setAttribute('data-focus', 'true');53 geocode(loc, (err, resp) => {54 if (!err) {55 var center = resp.features[0].center;56 sendEvent('location', {'latlng': [center[1], center[0]]});57 }58 });59 });60 //turn on the auto locate button if available61 if ('geolocation' in navigator) {62 userLocationEl.style.display = 'inline-block';63 userLocationEl.addEventListener('click', () => {64 userLocationEl.removeAttribute('data-has-error');65 userLocationEl.setAttribute('data-is-loading', '');66 navigator.geolocation.getCurrentPosition(function (position) {67 userLocationEl.removeAttribute('data-is-loading');68 sendEvent('location', {'latlng': [position.coords.latitude, position.coords.longitude]});69 }, function (err) {70 userLocationEl.removeAttribute('data-is-loading');71 userLocationEl.addAttribute('data-has-error', '');72 });73 userLocationEl.blur();74 });75 }76 //handle if the location event is returned77 window.addEventListener('location', evt => {78 var latlng = evt.detail.latlng;79 var rankedCities = cities80 .map(city => { return {city, 'distance': distance([city.lat, city.lon], latlng), 'name': toTitleCase(city.city) }; })81 .sort((a, b) => a.distance - b.distance);82 var city = rankedCities[0].city;83 var howFar = rankedCities[0].distance;84 document.getElementById("awesomeplete_input").value = `${toTitleCase(city.city)}, ${city.country}`85 updateListeners(city);86 });87 function registerListener(fn){88 listeners.push(fn);89 }90 function updateListeners(cityData){91 listeners.forEach(function(fn){92 fn(cityData)93 })94 }95 return {96 registerListener: registerListener97 }98}
yupLocale.js
Source: yupLocale.js
1import { toTitleCase } from 'utils/textCase'2const yupLocale = {3 mixed: {4 default: ({ path }) => ({ key: 'yup.mixed.default', values: { path: toTitleCase(path) } }),5 required: ({ path }) => ({ key: 'yup.mixed.required', values: { path: toTitleCase(path) } }),6 oneOf: ({ path, values }) => ({ key: 'yup.mixed.oneOf', values: { path: toTitleCase(path), values } }),7 notOneOf: ({ path, values }) => ({ key: 'yup.mixed.notOneOf', values: { path: toTitleCase(path), values } }),8 notType: ({ path, type }) => ({ key: 'yup.mixed.notType', values: { path: toTitleCase(path), type } }),9 defined: ({ path }) => ({ key: 'yup.mixed.defined', values: { path: toTitleCase(path) } })10 },11 string: {12 length: ({ path, length }) => ({ key: 'yup.string.length', values: { path: toTitleCase(path), length } }),13 min: ({ path, min }) => ({ key: 'yup.string.min', values: { path: toTitleCase(path), min } }),14 max: ({ path, max }) => ({ key: 'yup.string.max', values: { path: toTitleCase(path), max } }),15 matches: ({ path, regex }) => ({ key: 'yup.string.matches', values: { path: toTitleCase(path), regex } }),16 email: ({ path }) => ({ key: 'yup.string.email', values: { path: toTitleCase(path) } }),17 url: ({ path }) => ({ key: 'yup.string.url', values: { path: toTitleCase(path) } }),18 uuid: ({ path }) => ({ key: 'yup.string.uuid', values: { path: toTitleCase(path) } }),19 trim: ({ path }) => ({ key: 'yup.string.trim', values: { path: toTitleCase(path) } }),20 lowercase: ({ path }) => ({ key: 'yup.string.lowercase', values: { path: toTitleCase(path) } }),21 uppercase: ({ path }) => ({ key: 'yup.string.uppercase', values: { path: toTitleCase(path) } })22 },23 number: {24 min: ({ path, min }) => ({ key: 'yup.number.min', values: { path: toTitleCase(path), min } }),25 max: ({ path, max }) => ({ key: 'yup.number.max', values: { path: toTitleCase(path), max } }),26 lessThan: ({ path, less }) => ({ key: 'yup.number.lessThan', values: { path: toTitleCase(path), less } }),27 moreThan: ({ path, more }) => ({ key: 'yup.number.moreThan', values: { path: toTitleCase(path), more } }),28 positive: ({ path }) => ({ key: 'yup.number.positive', values: { path: toTitleCase(path) } }),29 negative: ({ path }) => ({ key: 'yup.number.negative', values: { path: toTitleCase(path) } }),30 integer: ({ path }) => ({ key: 'yup.number.integer', values: { path: toTitleCase(path) } })31 },32 date: {33 min: ({ path, min }) => ({ key: 'yup.min.min', values: { path: toTitleCase(path), min } }),34 max: ({ path, max }) => ({ key: 'yup.min.max', values: { path: toTitleCase(path), max } })35 },36 boolean: {37 isValue: ({ path, value }) => ({ key: 'yup.boolean.isValue', values: { path: toTitleCase(path), value } })38 },39 object: {40 noUnknown: ({ path, unknown }) => ({ key: 'yup.boolean.noUnknown', values: { path: toTitleCase(path), unknown } })41 },42 array: {43 min: ({ path, min }) => ({ key: 'yup.array.min', values: { path: toTitleCase(path), min } }),44 max: ({ path, max }) => ({ key: 'yup.array.max', values: { path: toTitleCase(path), max } }),45 length: ({ path, length }) => ({ key: 'yup.array.default', values: { path: toTitleCase(path), length } })46 }47}...
toTitleCase.spec.js
Source: toTitleCase.spec.js
1import { toTitleCase } from '../../../src/global/mixins';2describe('toTitleCase.js', () => {3 it('converts any case string to title case', () => {4 expect(toTitleCase('interlockManagementSystem')).toEqual('Interlock Management System');5 expect(toTitleCase('dateOfBirth')).toEqual('Date of Birth');6 expect(toTitleCase('isEmployee')).toEqual('Is Employee');7 expect(toTitleCase('deviceModel')).toEqual('Device Model');8 expect(toTitleCase('manufacturerName')).toEqual('Manufacturer Name');9 expect(toTitleCase('toTheMoon')).toEqual('To the Moon');10 expect(toTitleCase('theCar')).toEqual('The Car');11 expect(toTitleCase('personOf')).toEqual('Person Of');12 expect(toTitleCase('toAndFrom')).toEqual('To and From');13 expect(toTitleCase('thisShouldWorkJustFine')).toEqual('This Should Work Just Fine');14 expect(toTitleCase('to the moon')).toEqual('To the Moon');15 expect(toTitleCase('the car')).toEqual('The Car');16 expect(toTitleCase('person of')).toEqual('Person Of');17 expect(toTitleCase('to and from')).toEqual('To and From');18 expect(toTitleCase('this should work just fine')).toEqual('This Should Work Just Fine');19 expect(toTitleCase('This is a test')).toEqual('This Is a Test');20 expect(toTitleCase('to The moon')).toEqual('To the Moon');21 expect(toTitleCase('to And from')).toEqual('To and From');22 expect(toTitleCase('this Should Work just fine')).toEqual('This Should Work Just Fine');23 });...
Using AI Code Generation
1const { toTitleCase } = require('@playwright/test/lib/utils/utils');2const { test, expect } = require('@playwright/test');3test('toTitleCase', () => {4 expect(toTitleCase('hello world')).toBe('Hello World');5 expect(toTitleCase('hello-world')).toBe('Hello-World');6 expect(toTitleCase('hello_world')).toBe('Hello_World');7 expect(toTitleCase('helloWorld')).toBe('HelloWorld');8 expect(toTitleCase('hello world', true)).toBe('Hello world');9});10#### `toSnakeCase(text: string)`11const { toSnakeCase } = require('@playwright/test/lib/utils/utils');12const { test, expect } = require('@playwright/test');13test('toSnakeCase', () => {14 expect(toSnakeCase('hello world')).toBe('hello_world');15 expect(toSnakeCase('hello-world')).toBe('hello_world');16 expect(toSnakeCase('hello_world')).toBe('hello_world');17 expect(toSnakeCase('helloWorld')).toBe('hello_world');18});19#### `toKebabCase(text: string)`20const { toKebabCase } = require('@playwright/test/lib/utils/utils');21const { test, expect } = require('@playwright/test');22test('toKebabCase', () => {23 expect(toKebabCase('hello world')).toBe('hello-world');24 expect(toKebabCase('hello-world')).toBe('hello-world');25 expect(toKebabCase('hello_world')).toBe('hello-world');26 expect(toKebabCase('helloWorld')).toBe('hello-world');27});28#### `toCamelCase(text: string)`29const { toCamelCase } = require('@playwright/test/lib/utils/utils');30const { test, expect } = require('@playwright/test');31test('toCamelCase', () => {32 expect(toCamelCase
Using AI Code Generation
1const { toTitleCase } = require('@playwright/test/lib/utils');2const { test, expect } = require('@playwright/test');3test('toTitleCase', async ({ page }) => {4 expect(toTitleCase('hello world')).toBe('Hello World');5});6By default, the test runner will run all tests in all browsers. You can limit the browsers to use with the `--browser` (`-b`) flag:
Using AI Code Generation
1const { toTitleCase } = require('@playwright/test/lib/utils/utils');2const title = toTitleCase('hello world');3console.log(title);4const { toTitleCase } = require('@playwright/test/lib/utils/utils');5const title = toTitleCase('hello world');6console.log(title);7const { toTitleCase } = require('@playwright/test/lib/utils/utils');8const title = toTitleCase('hello world');9console.log(title);10const { toTitleCase } = require('@playwright/test/lib/utils/utils');11const title = toTitleCase('hello world');12console.log(title);13const { toTitleCase } = require('@playwright/test/lib/utils/utils');14const title = toTitleCase('hello world');15console.log(title);16const { toTitleCase } = require('@playwright/test/lib/utils/utils');17const title = toTitleCase('hello world');18console.log(title);19const { toTitleCase } = require('@playwright/test/lib/utils/utils');20const title = toTitleCase('hello world');21console.log(title);22const { toTitleCase } = require('@playwright/test/lib/utils/utils');23const title = toTitleCase('hello world');24console.log(title);25const { toTitleCase } = require('@playwright/test/lib/utils/utils');26const title = toTitleCase('hello world');27console.log(title);28const { to
Using AI Code Generation
1const { toTitleCase } = require('@playwright/test/lib/utils/utils');2const title = toTitleCase('hello world');3console.log(title);4const { toModifierKey } = require('@playwright/test/lib/utils/utils');5const modifierKey = toModifierKey('Control');6console.log(modifierKey);7const { toModifiersMask } = require('@playwright/test/lib/utils/utils');8const modifiersMask = toModifiersMask('Control');9console.log(modifiersMask);10const { toModifiers } = require('@playwright/test/lib/utils/utils');11const modifiers = toModifiers(4);12console.log(modifiers);13const { toProtocolMethod } = require('@playwright/test/lib/utils/utils');14const protocolMethod = toProtocolMethod('Page.waitForSelector');15console.log(protocolMethod);
Using AI Code Generation
1const { toTitleCase } = require('@playwright/test/lib/utils/utils');2const title = 'my awesome title';3const result = toTitleCase(title);4console.log(result);5### `toSnakeCase()`6const { toSnakeCase } = require('@playwright/test/lib/utils/utils');7const title = 'my awesome title';8const result = toSnakeCase(title);9console.log(result);10### `toCamelCase()`11const { toCamelCase } = require('@playwright/test/lib/utils/utils');12const title = 'my awesome title';13const result = toCamelCase(title);14console.log(result);15### `toKebabCase()`16const { toKebabCase } = require('@playwright/test/lib/utils/utils');17const title = 'my awesome title';18const result = toKebabCase(title);19console.log(result);20### `toPosixPath()`21const { toPosixPath } = require('@playwright/test/lib/utils/utils');22const path = 'c:\\Users\\test\\Downloads';23const result = toPosixPath(path);24console.log(result);25### `isString()`26const { isString } = require('@playwright/test/lib/utils/utils');27const path = 'c:\\Users\\test\\Downloads';28const result = isString(path);29console.log(result);30### `isRegExp()`31const { isRegExp } = require('@playwright/test/lib/utils/utils');32const path = 'c:\\Users\\test\\Downloads';
Jest + Playwright - Test callbacks of event-based DOM library
firefox browser does not start in playwright
Is it possible to get the selector from a locator object in playwright?
How to run a list of test suites in a single file concurrently in jest?
Running Playwright in Azure Function
firefox browser does not start in playwright
This question is quite close to a "need more focus" question. But let's try to give it some focus:
Does Playwright has access to the cPicker object on the page? Does it has access to the window object?
Yes, you can access both cPicker and the window object inside an evaluate call.
Should I trigger the events from the HTML file itself, and in the callbacks, print in the DOM the result, in some dummy-element, and then infer from that dummy element text that the callbacks fired?
Exactly, or you can assign values to a javascript variable:
const cPicker = new ColorPicker({
onClickOutside(e){
},
onInput(color){
window['color'] = color;
},
onChange(color){
window['result'] = color;
}
})
And then
it('Should call all callbacks with correct arguments', async() => {
await page.goto(`http://localhost:5000/tests/visual/basic.html`, {waitUntil:'load'})
// Wait until the next frame
await page.evaluate(() => new Promise(requestAnimationFrame))
// Act
// Assert
const result = await page.evaluate(() => window['color']);
// Check the value
})
Check out the latest blogs from LambdaTest on this topic:
Native apps are developed specifically for one platform. Hence they are fast and deliver superior performance. They can be downloaded from various app stores and are not accessible through browsers.
One of the essential parts when performing automated UI testing, whether using Selenium or another framework, is identifying the correct web elements the tests will interact with. However, if the web elements are not located correctly, you might get NoSuchElementException in Selenium. This would cause a false negative result because we won’t get to the actual functionality check. Instead, our test will fail simply because it failed to interact with the correct element.
Smartphones have changed the way humans interact with technology. Be it travel, fitness, lifestyle, video games, or even services, it’s all just a few touches away (quite literally so). We only need to look at the growing throngs of smartphone or tablet users vs. desktop users to grasp this reality.
As part of one of my consulting efforts, I worked with a mid-sized company that was looking to move toward a more agile manner of developing software. As with any shift in work style, there is some bewilderment and, for some, considerable anxiety. People are being challenged to leave their comfort zones and embrace a continuously changing, dynamic working environment. And, dare I say it, testing may be the most ‘disturbed’ of the software roles in agile development.
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!