Best JavaScript code snippet using playwright-internal
data.js
Source: data.js
1define([],2 function(){3 return Backbone.Model.extend({4 defaults: {5 data : null,6 summaryData : [],7 ID : '',8 name : 'CRAVAT Output', 9 shownHeaders : [],10 headerConfig : {},11 'Sorting data' : [],12 Filters : {},13 'Sorted data' : [],14 'All headers' : []15 },16 initialize : function(params){17 this.name = params.name;18 this.exceedsLimit = false;19 //this.shownHeaders = params.headers;20 this.categories = params.categories || [];21 this.filters = [];22 //this.filterColumns = ['Chromosome', 'Sample ID', 'COSMIC variant count (tissue)', '1000 Genomes AF'];23 this.filterColumns = [{name : 'Chromosome', categorical : true},24 {name : 'Sample ID', categorical : true},25 {name : 'COSMIC variant count (tissue)', categorical : false, type: '>='},26 {name : '1000 Genomes AF', categorical : false, type: '<=' }];27 //this.on('change', this.notify, this);28 this.testing = true;29 this.set('shownHeaders',params.headers);30 },31 sortData : function(){32 var filt;33 var filter;34 var filterConfig;35 var filterCategory;36 var index;37 var filteredData = this.data;38 for (var i in this.filters) {39 filterCategory = this.filters[i];40 if (filterCategory.category != null){41 filterConfig = this.filterColumns.filter(a => a.name == filterCategory.category)[0];42 index = this.allHeaders.indexOf(filterCategory.category);43 if (filterConfig.categorical){44 filter = function(a){45 return a[index] == filterCategory.filter;46 }47 } else {48 if (filterConfig.type == '>='){49 filter = function(a){50 return parseFloat(a[index]) <= parseFloat(filterCategory.filter);51 }52 } else {53 filter = function(a){54 return parseFloat(a[index]) >= parseFloat(filterCategory.filter);55 }56 }57 }58 filteredData = filteredData.filter(filter);59 }60 }61 this.set('Sorted data', filteredData);62 },63 old_getColumns : function(headers){64 data = this.get('data');65 columns = {};66 var indices = [];67 for (var i = 0; i < headers.length; i++){68 index = this.allHeaders.indexOf(headers[i]);69 indices.push(index);70 columns[headers[i]] = [];71 for (var j = 0; j < data.length; j++){72 columns[headers[i]].push(data[j][index]);73 }74 }75 // var xhr = jQuery.getJSON('/api/datasets/' + this.id, {76 // data_type : 'raw_data',77 // provider : 'column',78 // indeces : indices.join(',')79 // });80 // xhr.done(function(response){81 // console.log(response.data);82 // });83 return columns;84 },85 //fetchData : function86 setData : function(id){87 var allHeaders = this.get('All headers');88 if (allHeaders.indexOf('$%$') > 0){89 allHeaders = allHeaders.split('$%$');90 }91 this.id = id;92 this.set('headerConfig', this.formatHeaderConfig(allHeaders));93 this.set('ID', id);94 },95 oldsetData : function(data){96 console.log('setting data for ' + this.name);97 /*this.ID = datasetID;98 this.commentLines = 11;99 var view = this;100 this.lim = 10000;101 this.lim = 10;102 //if (this.name == 'variant'){103 var xhr = jQuery.getJSON('/api/datasets/' + this.ID);104 xhr.done(function(response){105 index = response.misc_blurb.search(/ lines/);106 number = parseInt(response.misc_blurb.slice(0,index).replace(',',''));107 view.set('length', parseInt(number) - view.commentLines);108 }); 109 var xhr = jQuery.getJSON('/api/datasets/' + this.ID, {110 data_type : 'raw_data',111 provider : 'column',112 limit: this.lim113 });*/114 if (data.constructor == Object){115 //data = this.116 console.log(this.name);117 }118 var view = this;119 this.data = data;120 view.allHeaders = data.shift();121 if (view.name=='error'){122 view.allHeaders = view.allHeaders[0].split('$%$');123 data = view.fixError(data);124 }125 view.set('headerConfig', view.formatHeaderConfig(view.allHeaders));126 view.fillOutEndData();127 view.set('data',data);128 },129 mapToArray : function(data){130 for (header in data){131 }132 return data133 },134 setSortingData : function(data){135 this.data = data;136 console.log(data);137 this.allHeaders = data.shift();138 this.set('headerConfig', this.formatHeaderConfig(this.allHeaders));139 this.fillOutEndData();140 this.getUniqueValues();141 },142 setTestTable : function(){143 this.set('data', 'TEST');144 },145 getUniqueValues : function(){146 columns = this.filterColumns;147 uniqueValueTypes = {};148 for (var i = 0; i < columns.length; i++){149 index = this.allHeaders.indexOf(columns[i].name);150 if (columns[i].categorical){151 header = columns[i].name;152 uniqueValues = [];153 for (var j = 1; j < this.data.length; j++){154 value = this.data[j][index];155 if (uniqueValues.indexOf(value) < 0){156 uniqueValues.push(value);157 }158 }159 if (header == 'Chromosome'){160 uniqueValues.sort(function(a,b){161 return parseInt(a.replace('chr','').replace('X','24').replace('Y','25')) - parseInt(b.replace('chr','').replace('X','24').replace('Y','25'));162 })163 }164 uniqueValueTypes[header] = uniqueValues;165 }166 }167 this.set('Unique values', uniqueValueTypes);168 },169 fixError : function(data){170 newData = [];171 for (var i = 0; i < data.length; i++){172 newData.push(data[i][0].split('$%$'));173 }174 return newData;175 },176 headerIndices : function(){177 headerIndices = [];178 columns = this.filterColumns;179 for (var i = 0; i < columns.length ; i++){180 header = columns[i].name;181 headerIndices.push(this.allHeaders.indexOf(header));182 }183 return headerIndices.sort(function(a,b){return a- b });184 },185 formatObjectArray : function(data){186 headers = data.shift();187 dictList = [];188 for (var i = 0; i < data.length; i++){189 row = data[i];190 dict = {};191 for (var j = 0; j < row.length; j++){192 value = row[j];193 dict[headers[j]] = value;194 }195 dictList.push(dict);196 }197 return dictList;198 },199 columnVisibility : function(){200 var colVisibility = [];201 var allHeaders = this.get('All headers');202 for (var i = 0; i < allHeaders.length; i++){203 if (this.get('shownHeaders').indexOf(allHeaders[i]) >= 0){204 colVisibility.push(true);205 } else {206 colVisibility.push(false);207 }208 }209 return colVisibility;210 },211 fillOutEndData : function(){212 var allHeaders = this.get('All headers');213 for (var i = 0; i < this.data.length; i++){214 if (allHeaders){215 while(allHeaders.length > this.data[i].length){216 this.data[i].push('');217 }218 }219 }220 },221 formatHeaderConfig : function(allHeaders){222 headerConfig = {};223 for (var type in this.headerTypes){224 headers = this.headerTypes[type];225 headerVisibilities = {};226 for (var i = 0; i < headers.length; i++){227 header = headers[i];228 if (allHeaders.indexOf(header) >= 0){229 headerVisibilities[header] = (this.get('shownHeaders').indexOf(header) >= 0);230 } 231 }232 if (Object.keys(headerVisibilities).length > 0){233 headerConfig[type] = headerVisibilities;234 }235 }236 return headerConfig237 },238 })...
script.js
Source: script.js
1window.aosTools_connectListener = function(){2 document.getElementById("devdoc_title").style.display = "none";3 document.getElementById("navigate").style.height = "calc(100% - 18px)";4 document.getElementById("content").style.height = "calc(100% - 18px)";5 var allTryButtons = document.getElementsByClassName("aosTools_try");6 for(var i = 0; i < allTryButtons.length; i++){7 allTryButtons[i].style.display = "inline";8 }9 aosTools.openWindow();10}11if(typeof aosTools === "object"){12 aosTools.testConnection();13}14var allDocuments = [];15var documentElements = document.getElementsByClassName("docPage");16for(var i = 0; i < documentElements.length; i++){17 allDocuments[documentElements[i].id] = {18 name: documentElements[i].getAttribute("data-doc-title"),19 searchTerms: documentElements[i].getAttribute("data-search-terms"),20 contents: {},21 numOfContents: 022 };23 var headerElements = documentElements[i].getElementsByClassName("docHeader");24 for(var j = 0; j < headerElements.length; j++){25 allDocuments[documentElements[i].id].contents[headerElements[j].id] = [headerElements[j].innerText, headerElements[j].getAttribute("data-search-terms")];26 allDocuments[documentElements[i].id].numOfContents++;27 }28}29var tempContentsText = "";30for(var i in allDocuments){31 if(allDocuments[i].searchTerms){32 tempContentsText += '<li class="nav_doc_li cursorPointer" data-target-doc="' + i + '" data-search-terms="' + allDocuments[i].searchTerms + '">' + allDocuments[i].name + "</li>";33 }else{34 tempContentsText += '<li class="nav_doc_li cursorPointer" data-target-doc="' + i + '">' + allDocuments[i].name + "</li>";35 }36 if(allDocuments[i].numOfContents){37 tempContentsText += "<ul>";38 for(var j in allDocuments[i].contents){39 if(allDocuments[i].contents[j][1]){40 tempContentsText += '<li class="nav_header_li cursorPointer" data-target-doc="' + i + '" data-target-header="' + j + '" data-search-terms="' + allDocuments[i].contents[j][1] + '">' + allDocuments[i].contents[j][0] + '</li>';41 }else{42 tempContentsText += '<li class="nav_header_li cursorPointer" data-target-doc="' + i + '" data-target-header="' + j + '">' + allDocuments[i].contents[j][0] + '</li>';43 }44 }45 tempContentsText += "</ul>";46 }47}48document.getElementById("mainList").innerHTML = tempContentsText;49tempContentsText = null;50var allItems = document.getElementById("mainList").getElementsByTagName("li");51function selectDocument(e){52 if(e.target.getAttribute("data-target-doc")){53 if(e.target.getAttribute("data-target-header")){54 presentDocument(e.target.getAttribute("data-target-doc"), e.target.getAttribute("data-target-header"));55 }else{56 presentDocument(e.target.getAttribute("data-target-doc"));57 }58 for(var i = 0; i < allItems.length; i++){59 allItems[i].classList.remove("selected");60 }61 e.target.classList.add("selected");62 }63}64function presentDocument(docID, headerID){65 for(var i = 0; i < documentElements.length; i++){66 documentElements[i].classList.remove("visible");67 }68 document.getElementById(docID).classList.add("visible");69 if(headerID){70 requestAnimationFrame(() => {71 document.getElementById(docID).scrollTop = document.getElementById(headerID).offsetTop;72 });73 }else{74 document.getElementById(docID).scrollTop = 0;75 }76}77function search(keyword){78 if(typeof keyword === "string"){79 document.getElementById("searchInput").value = keyword;80 }else{81 keyword = document.getElementById("searchInput").value;82 }83 var allDocs = document.getElementsByClassName("nav_doc_li");84 var allHeaders = document.getElementsByClassName("nav_header_li");85 for(var i = 0; i < allDocs.length; i++){86 if(87 allDocs[i].innerText.toLowerCase().indexOf(keyword.toLowerCase()) > -1 ||88 allDocs[i].getAttribute("data-target-doc").toLowerCase().indexOf(keyword.toLowerCase()) > -189 ){90 allDocs[i].style.display = "";91 }else{92 if(allDocs[i].getAttribute("data-search-terms")){93 var finalDisplay = "none";94 var allTerms = allDocs[i].getAttribute("data-search-terms").split(",");95 for(var j = 0; j < allTerms.length; j++){96 if(allTerms[j].toLowerCase().indexOf(keyword.toLowerCase()) > -1){97 finalDisplay = "";98 break;99 }100 }101 allDocs[i].style.display = finalDisplay;102 }else{103 allDocs[i].style.display = "none";104 }105 }106 }107 for(var i = 0; i < allHeaders.length; i++){108 if(109 allHeaders[i].innerText.toLowerCase().indexOf(keyword.toLowerCase()) > -1 ||110 allHeaders[i].getAttribute("data-target-doc").toLowerCase().indexOf(keyword.toLowerCase()) > -1 ||111 allHeaders[i].getAttribute("data-target-header").toLowerCase().indexOf(keyword.toLowerCase()) > -1112 ){113 allHeaders[i].style.display = "";114 allHeaders[i].parentNode.previousSibling.style.display = "";115 }else{116 if(allHeaders[i].getAttribute("data-search-terms")){117 var finalDisplay = "none";118 var allTerms = allHeaders[i].getAttribute("data-search-terms").split(",");119 for(var j = 0; j < allTerms.length; j++){120 if(allTerms[j].toLowerCase().indexOf(keyword.toLowerCase()) > -1){121 finalDisplay = "";122 break;123 }124 }125 allHeaders[i].style.display = finalDisplay;126 if(finalDisplay === ""){127 allHeaders[i].parentNode.previousSibling.style.display = "";128 }129 }else{130 allHeaders[i].style.display = "none";131 }132 }133 }134 135}136// select the welcome document137selectDocument({138 target: allItems[0]...
http.js
Source: http.js
1/**2 * Http module3 * @alias $http4 *5 * Provides an AngularJS like API to handle HTTP requests (GET, POST, PUT, etc.).6 * This means that request and response interceptors are available and can be used7 * the same way as in AngularJS.8 *9 */10define(['jquery', 'q', 'module'], function(jQuery, q, module) {11 'use strict';12 var moduleConfig = module.config();13 http.defaults = {};14 http.defaults.headers = moduleConfig.headers || {};15 http.defaults.timeout = moduleConfig.timeout || 30 * 1000;16 http.interceptors = [];17 function http(requestConfig) {18 var config = {19 method: 'get',20 headers: http.defaults.headers,21 timeout: http.defaults.timeout,22 cache: false23 };24 jQuery.extend(config, requestConfig);25 if (requestConfig.params) {26 var url = config.url || '/';27 config.url = url + (url.indexOf('?') === -1 ? '?' : '&') +28 jQuery.param(requestConfig.params);29 }30 var reversedInterceptors = http.interceptors.slice(0).reverse(),31 chain = [http.sendRequest, undefined],32 promise = q.when(config);33 reversedInterceptors.forEach(function(interceptor) {34 if (interceptor.request || interceptor.requestError) {35 chain.unshift(interceptor.request, interceptor.requestError);36 }37 if (interceptor.response || interceptor.responseError) {38 chain.push(interceptor.response, interceptor.responseError);39 }40 });41 while (chain.length) {42 var thenFn = chain.shift();43 var rejectFn = chain.shift();44 promise = promise.then(thenFn, rejectFn);45 }46 promise.success = function(fn) {47 promise.then(function(response) {48 fn(response.data, response.status, response.headers, response.config);49 });50 return promise;51 };52 promise.error = function(fn) {53 promise.then(null, function(response) {54 fn(response.data, response.status, response.headers, response.config);55 });56 return promise;57 };58 return promise;59 }60 ['get', 'head', 'delete'].forEach(function(method) {61 http[method] = function(url, requestConfig) {62 return http(jQuery.extend({}, requestConfig, { url: url, method: method }));63 };64 });65 ['post', 'put', 'patch'].forEach(function(method) {66 http[method] = function(url, data, requestConfig) {67 return http(jQuery.extend({}, requestConfig, { url: url, method: method, data: data }));68 };69 });70 function _parseResponseHeaders(responseHeadersString) {71 var rheaders = /^(.*?):[ \t]*([^\r\n]*)$/m,72 responseHeaders = {},73 match;74 while ((match = rheaders.exec(responseHeadersString))) {75 responseHeaders[match[1].toLowerCase()] = match[2];76 }77 return responseHeaders;78 }79 http.sendRequest = function(requestConfig) {80 var deferred = q.defer();81 jQuery.ajax(requestConfig)82 .done(function(data, statusText, jqXHR) {83 var allHeaders = jqXHR.getAllResponseHeaders(),84 config = {85 data: data,86 status: jqXHR.status,87 statusText: statusText,88 headers: function(headerName) {89 if (allHeaders && !jQuery.isPlainObject(allHeaders)) {90 allHeaders = _parseResponseHeaders(allHeaders);91 }92 if (headerName) {93 return allHeaders[headerName.toLowerCase()];94 }95 return allHeaders;96 },97 config: requestConfig98 };99 deferred.resolve(config);100 })101 .fail(function(jqXHR, statusText, error) {102 /*jshint unused:false*/103 console.error(error);104 var allHeaders = jqXHR.getAllResponseHeaders(),105 config = {106 data: null,107 status: jqXHR.status,108 statusText: statusText,109 headers: function(headerName) {110 if (allHeaders && !jQuery.isPlainObject(allHeaders)) {111 allHeaders = _parseResponseHeaders(allHeaders);112 }113 if (headerName) {114 return allHeaders[headerName.toLowerCase()];115 }116 return allHeaders;117 }118 };119 deferred.reject(config);120 });121 return deferred.promise;122 };123 return http;...
requests.js
Source: requests.js
1import { store } from "../redux";2import querystring from "querystring";3// const store = {4// getState: () => ({5// user: {6// token: `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijc2MGI3YzRkLWZjZGItNDVkYi1iM2FhLTU4NDc2NTQ1N2ZjNiIsInR5cGUiOiJ1c2VyIiwiaWF0IjoxNjAxMzc0MjEwfQ.mAfWUgDwTBAP2jzLcAqaAX-fAO_mA6BjiIPxwWewCLg`,7// },8// }),9// };10export const get = (api, isAuthorized = true, params = {}, headers = {}) => {11 return new Promise((resolve, reject) => {12 const allHeaders = {13 "Content-type": "application/json",14 ...headers,15 };16 if (isAuthorized) {17 allHeaders.Authorization = `bearer ${store.getState().user.token}`;18 }19 const query = querystring.stringify(params);20 const url = api + (query.length > 0 ? "?" + query : "");21 const options = {22 method: "GET",23 headers: allHeaders,24 credentials: "include",25 };26 fetch(url, options)27 .then((res) => res.json())28 .then((res) => {29 if (res.code === 1) {30 resolve([res.data, res.pagination]);31 } else {32 reject(res.message);33 }34 })35 .catch((err) => reject(err));36 });37};38export const post = (api, isAuthorized = true, body = {}, headers = {}) => {39 const allHeaders = {40 "Content-type": "application/json",41 ...headers,42 };43 if (isAuthorized) {44 allHeaders.Authorization = `bearer ${store.getState().user.token}`;45 }46 return new Promise((resolve, reject) => {47 const options = {48 method: "POST",49 headers: allHeaders,50 credentials: "include",51 body: JSON.stringify(body),52 };53 fetch(api, options)54 .then((res) => res.json())55 .then((res) => {56 if (res.code === 1) {57 resolve([res.data, res.pagination]);58 } else {59 reject(res.message);60 }61 })62 .catch((err) => reject(err));63 });64};65export const deleteCall = (66 api,67 isAuthorized = true,68 body = {},69 headers = {}70) => {71 const allHeaders = {72 "Content-type": "application/json",73 ...headers,74 };75 if (isAuthorized) {76 allHeaders.Authorization = `bearer ${store.getState().user.token}`;77 }78 return new Promise((resolve, reject) => {79 const options = {80 method: "DELETE",81 headers: allHeaders,82 credentials: "include",83 body: JSON.stringify(body),84 };85 fetch(api, options)86 .then((res) => res.json())87 .then((res) => {88 if (res.code === 1) {89 resolve([res.data, res.pagination]);90 } else {91 reject(res.message);92 }93 })94 .catch((err) => reject(err));95 });96};97export const put = (98 api,99 isAuthorized = true,100 type,101 body = {},102 headers = {}103) => {104 const allHeaders = {105 "Content-type": "application/json",106 ...headers,107 };108 if (isAuthorized) {109 allHeaders.Authorization = `bearer ${store.getState().user.token}`;110 }111 return new Promise((resolve, reject) => {112 const options = {113 method: "POST",114 headers: allHeaders,115 credentials: "include",116 body: type !== "blob" ? JSON.stringify(body) : body,117 };118 fetch(api, options)119 .then((res) => res.json())120 .then((res) => {121 if (res.code === 1) {122 resolve([res.data, res.pagination]);123 } else {124 reject(res.message);125 }126 })127 .catch((err) => reject(err));128 });...
mergeCSVWithRIS.js
Source: mergeCSVWithRIS.js
1// combine a CSV file with field per row with RIS content2/*jslint node: true */3'use strict';4var csv = require('csv'), ris = require('./risToJson'), json2csv = require('json2csv'), fs = require('fs'), foundFields, matchTo, allHeaders,5 inputCSV = process.argv[2],6 outputFile = process.argv[3],7 risInput = process.argv[4];8if (true) { // process and save9 matchTo = ris.risToJson(risInput);10 foundFields = ris.getFoundFields();11 fs.writeFileSync('output/matchTo.json', JSON.stringify(matchTo, null, 2));12 fs.writeFileSync('output/foundFields.json', JSON.stringify(foundFields, null, 2));13} else { // or get saved14 matchTo = require('./output/matchTo.json');15 foundFields = require('./output/foundFields.json');16}17console.log('foundFields', foundFields.length);18var matchIndex = {}; // index of import fields19matchTo.forEach(function(p) {20 matchIndex[norm(p.Title)] = p;21});22console.log('allHeaders', allHeaders);23csv().from(inputCSV).to.array(function(csvRows, count) {24 var hrows = csvRows.shift(), headerIndex = {};25 allHeaders = hrows; // merge csvRows with RIS, assuming csv are definitive26 for (var field in foundFields) {27 if (allHeaders.indexOf(field) < 0) {28 allHeaders.push(field);29 }30 }31 for (var i = 0; i < hrows.length; i++) {32 headerIndex[hrows[i]] = i;33 }34 var found = [], notFound = []; // store found values35 csvRows.forEach(function(csvRow) { // find them36 var title = csvRow[headerIndex.Title];37 if (matchIndex[norm(title)]) { // found one38// console.log('found', title, norm(title));39 var source2 = matchIndex[norm(title)];40 var f = {};41 allHeaders.forEach(function(field) {42 var v = csvRow[headerIndex[field]] || source2[field];43 if (v) f[field] = v;44 });45 found.push(f);46 } else {47 var f = {};48 hrows.forEach(function(field) {49 var v = csvRow[headerIndex[field]];50 if (v) f[field] = v;51 });52 notFound.push(f);53 }54 });55 fs.writeFileSync('./output/mergedData.json', JSON.stringify(found, null, 2));56 json2csv({data: found, fields: allHeaders, del: '\t'}, function(err, csv) { // write them to outputFile57 if (err) console.log(err);58 fs.writeFile(outputFile, csv, function(err) {59 if (err) throw err;60 console.log('wrote', outputFile, found.length);61 });62 });63 fs.writeFileSync('output/allHeaders.json', JSON.stringify(allHeaders, null, 2));64 json2csv({data: notFound, fields: hrows, del: '\t'}, function(err, csv) { // write them to outputFile65 if (err) console.log(err);66 fs.writeFile('output/notFound.csv', csv, function(err) {67 if (err) throw err;68 console.log('wrote', 'output/notFound.csv', notFound.length);69 });70 });71});72function norm(p) {73 return !p || p.toLowerCase().replace(/[^A-Za-z]/g, '');...
article_util.js
Source: article_util.js
1import axios from 'axios';2let allHeaders = {3 "Access-Control-Allow-Origin": "*"4}5export const receiveAll = async() => {6 7 return await axios.request('/all', {8 data: "",9 method: "post",10 headers: allHeaders11 12 })13}14export const receiveConservative = async() => {15 16 return await axios.request('/conservative', {17 data: "",18 method: "post",19 headers: allHeaders20 21 })22}23export const fetchArticle = async(id) => {24 25 return await axios.request(`/show/${id}`, {26 method: "GET",27 28 data: {29 article: ""30 }31 })32};33export const receiveLiberal = async() => {34 35 return await axios.request('/liberal', {36 data: "",37 method: "post",38 headers: allHeaders39 40 })41}42export const receiveLiberalElection = async() => {43 44 return await axios.request('/liberal/election', {45 data: "",46 method: "post",47 headers: allHeaders48 49 })50}51export const receiveConservativeElection = async() => {52 53 return await axios.request('/conservative/election', {54 data: "",55 method: "post",56 headers: allHeaders57 58 })59}60export const receiveLiberalBusiness = async() => {61 62 return await axios.request('/liberal/business', {63 data: "",64 method: "post",65 headers: allHeaders66 67 })68}69export const receiveConservativeBusiness = async() => {70 71 return await axios.request('/conservative/business', {72 data: "",73 method: "post",74 headers: allHeaders75 76 })77}78export const receiveLiberalWorld = async() => {79 80 return await axios.request('/liberal/world', {81 data: "",82 method: "post",83 headers: allHeaders84 85 })86}87export const receiveConservativeWorld = async() => {88 89 return await axios.request('/conservative/world', {90 data: "",91 method: "post",92 headers: allHeaders93 94 })95}96export const receiveSports = async() => {97 98 return await axios.request('/sports', {99 data: "",100 method: "post",101 headers: allHeaders102 103 })104}105export const receiveCategory = async(category) => {106 return await axios.request(`/categories/${category}`, {107 data: "",108 method: "POST",109 headers: allHeaders110 })...
xhr.js
Source: xhr.js
1(function($) {2/**3 * Enable cross domain XHR in IE 8 + 94 *5 * Taken and modified from https://github.com/jaubourg/ajaxHooks/edit/master/src/ajax/xdr.js6 * jQuery ticket: http://bugs.jquery.com/ticket/82837 */8if (window.XDomainRequest) {9 $.ajaxTransport(function(s) {10 if (s.crossDomain && s.async) {11 if (s.timeout) {12 s.xdrTimeout = s.timeout;13 delete s.timeout;14 }15 var xdr, undef;16 return {17 send: function(_, complete) {18 function callback( status, statusText, responses, responseHeaders ) {19 xdr.onload = xdr.onerror = xdr.ontimeout = jQuery.noop;20 xdr = undef;21 complete(status, statusText, responses, responseHeaders);22 }23 xdr = new XDomainRequest();24 xdr.open(s.type, s.url);25 xdr.onload = function() {26 callback(200, "OK", { text: xdr.responseText }, "Content-Type: " + xdr.contentType);27 };28 xdr.onerror = function() {29 callback(404, "Not Found");30 };31 if (s.xdrTimeout) {32 xdr.ontimeout = function() {33 callback(0, "timeout");34 };35 xdr.timeout = s.xdrTimeout;36 }37 xdr.send((s.hasContent && s.data) || null);38 },39 abort: function() {40 if (xdr) {41 xdr.onerror = $.noop;42 xdr.abort();43 }44 }45 };46 }47 });48}49/**50 * Fix getResponseHeader of cross domain XHR in Firefox51 *52 * Bugzilla ticket: https://bugzilla.mozilla.org/show_bug.cgi?id=60873553 * jQuery ticket: http://bugs.jquery.com/ticket/1033854 */55var _super = $.ajaxSettings.xhr,56 defaultHeaders = ["Cache-Control", "Content-Language", "Content-Type", "Expires", "Last-Modified", "Pragma"];57$.ajaxSetup({58 xhr: function() {59 var xhr = _super(),60 getAllResponseHeaders = xhr.getAllResponseHeaders;61 62 xhr.getAllResponseHeaders = function() {63 var allHeaders = getAllResponseHeaders.call(xhr);64 if (allHeaders) {65 return allHeaders;66 }67 allHeaders = "";68 $.each(defaultHeaders, function(i, headerName) {69 var headerValue = xhr.getResponseHeader(headerName);70 if (headerValue) {71 allHeaders += headerName + ": " + headerValue + "\n";72 }73 });74 return allHeaders;75 };76 return xhr;77 }78});...
headers-page.variables.js
Source: headers-page.variables.js
1let allHeaders = [2 {3 _id: '5fa034049a59a906f0610e57',4 priority: 1,5 link: '/accessories',6 title: [7 { lang: 'ua', value: 'ÐкÑеÑÑаÑи' },8 { lang: 'en', value: 'Accessories' }9 ]10 },11 {12 _id: '5fa034049a59a906f0610e58',13 priority: 2,14 link: '/backpacks',15 title: [16 { lang: 'ua', value: 'Ð Ñкзаки' },17 { lang: 'en', value: 'Backpacks' }18 ]19 }20];21export const headersDataToAdd = {22 uaName: 'СÑмки',23 enName: 'Bags',24 link: '/bags'25};26export const addHeadersItem = {27 _id: '5fa034049a59a906f0610e59',28 priority: 3,29 link: headersDataToAdd.link,30 title: [31 { lang: 'ua', value: headersDataToAdd.uaName },32 { lang: 'en', value: headersDataToAdd.enName }33 ]34};35export const newUaName = 'ÐÐ¾Ð²Ñ ÑÑмки';36export const getAllHeadersStub = (req) => {37 req.reply({38 body: {39 data: {40 getAllHeaders: allHeaders41 }42 }43 });44};45export const getHeaderByIdStub = (req, body) => {46 const { variables } = body;47 req.reply({48 body: {49 data: {50 getHeaderById: allHeaders.find((header) => header._id === variables.id)51 }52 }53 });54};55export const updateHeaderStub = (req, body) => {56 const { variables } = body;57 for (let i = 0; i < allHeaders.length; i++) {58 if (allHeaders[i]._id === variables.id)59 allHeaders[i].title[0].value = newUaName;60 }61 req.reply({62 body: {63 data: {64 updateHeader: allHeaders.find((article) => article._id === variables.id)65 }66 }67 });68};69export const deleteHeaderStub = (req, body) => {70 const { variables } = body;71 allHeaders = allHeaders.filter((item) => item._id !== variables.id);72 req.reply({73 body: {74 data: {75 deleteHeader: { _id: variables.id }76 }77 }78 });79};80export const addHeaderStub = (req) => {81 allHeaders.push(addHeadersItem);82 req.reply({83 body: {84 data: {85 addHeader: addHeadersItem86 }87 }88 });89};90export const headerAlreadyExistsStub = (req) => {91 req.reply({92 body: {93 data: {94 addHeader: { message: 'HEADER_ALREADY_EXIST', statusCode: 400 }95 }96 }97 });...
Using AI Code Generation
1const { allHeaders } = require('playwright/lib/utils/utils');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 const headers = allHeaders(page);8 console.log(headers);9 await browser.close();10})();11{ 'content-security-policy': 'script-src \'unsafe-eval\' \'un
Using AI Code Generation
1const { allHeaders } = require('playwright/lib/utils/utils');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 const headers = allHeaders(page);8 console.log(headers);9 await browser.close();10})();
Using AI Code Generation
1const { allHeaders } = require('playwright/lib/server/network');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 const headers = allHeaders(request);8 console.log(headers);9 await browser.close();10})();11const { chromium } = require('playwright');12(async () => {13 const browser = await chromium.launch();14 const context = await browser.newContext();15 const page = await context.newPage();16 console.log(request);17 await browser.close();18})();19const { chromium } = require('playwright');20(async () => {21 const browser = await chromium.launch();22 const context = await browser.newContext();23 const page = await context.newPage();24 console.log(response);25 await browser.close();26})();27const { chromium } = require('playwright');28(async () => {29 const browser = await chromium.launch();30 const context = await browser.newContext();
Using AI Code Generation
1const { allHeaders } = require('playwright/lib/internal/utils/utils');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 console.log(allHeaders(page));8 await browser.close();9})();10const { allHeaders } = require('playwright/lib/internal/utils/utils');11const { chromium } = require('playwright');12(async () => {13 const browser = await chromium.launch();14 const context = await browser.newContext();15 const page = await context.newPage();16 console.log(allHeaders(page));17 await browser.close();18})();19const { allHeaders } = require('playwright/lib/internal/utils/utils');20const { chromium } = require('playwright');21(async () => {22 const browser = await chromium.launch();23 const context = await browser.newContext();24 const page = await context.newPage();25 console.log(allHeaders(page));26 await browser.close();27})();28const { allHeaders } = require('playwright/lib/internal/utils/utils');29const { chromium } = require('playwright');30(async () => {31 const browser = await chromium.launch();32 const context = await browser.newContext();33 const page = await context.newPage();34 console.log(allHeaders(page));35 await browser.close();36})();37const { allHeaders } = require('playwright/lib/internal/utils/utils');38const { chromium } = require('playwright');39(async () => {40 const browser = await chromium.launch();41 const context = await browser.newContext();42 const page = await context.newPage();43 console.log(allHeaders(page));44 await browser.close();45})();46const { allHeaders } = require('playwright/lib/internal/utils/utils');47const { chromium } = require('playwright');48(async () => {49 const browser = await chromium.launch();
Using AI Code Generation
1const { allHeaders } = require('playwright/lib/server/supplements/recorder/recorderSupplement.js');2const { allHeaders } = require('playwright/lib/server/supplements/recorder/recorderSupplement.js');3const { chromium } = require('playwright');4(async () => {5 const browser = await chromium.launch({ headless: false });6 const context = await browser.newContext();7 const page = await context.newPage();8 const headers = await allHeaders(page);9 console.log(headers);10 await browser.close();11})();12const { allHeaders } = require('playwright/lib/server/supplements/recorder/recorderSupplement.js');13const { chromium } = require('playwright');14(async () => {15 const browser = await chromium.launch({ headless: false });16 const context = await browser.newContext();17 const page = await context.newPage();18 const headers = await allHeaders(page);19 console.log(headers);20 await browser.close();21})();22const { allHeaders } = require('playwright/lib/server/supplements/recorder/recorderSupplement.js');23const { chromium } = require('playwright');24(async () => {25 const browser = await chromium.launch({ headless: false });26 const context = await browser.newContext();27 const page = await context.newPage();28 const headers = await allHeaders(page);29 console.log(headers);30 await browser.close();31})();32const { allHeaders } = require('playwright/lib/server/supplements/recorder/recorderSupplement.js');33const { chromium } = require('playwright');34(async () => {35 const browser = await chromium.launch({ headless: false });36 const context = await browser.newContext();37 const page = await context.newPage();38 await page.goto('
Using AI Code Generation
1const { InternalRequest } = require('playwright-core/lib/server/network');2const request = new InternalRequest();3await request.allHeaders();4{5 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36',6 'accept-language': 'en-US,en;q=0.9,fr;q=0.8'7}
Using AI Code Generation
1const { allHeaders } = require('playwright/lib/server/network');2const headers = allHeaders(request);3console.log(headers);4const { allHeaders } = require('playwright/lib/server/network');5module.exports = {6 use: {7 test: test.extend({8 allHeaders: async ({ page }, use) => {9 await use((request) => allHeaders(request));10 },11 }),12 },13};14const headers = test.allHeaders(request);15console.log(headers);16const playwright = require('playwright');17(async () => {18 const browser = await playwright.chromium.launch();19 const context = await browser.newContext();20 const page = await context.newPage();21 await browser.close();22})();
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!!