Best JavaScript code snippet using playwright-internal
treeview.js
Source:treeview.js
1import toastr from 'toastr'2import * as api from '@/api'3import {DATE_COLUMN_NAMES} from '@/constants'4const state = () => {5 return {6 catalogs: [],7 schemata: [],8 starredSchemata: [],9 tables: [],10 catalog: '',11 schema: '',12 table: '',13 note: '',14 meta: '',15 tableType: '',16 columns: [],17 partitionValues: {},18 selectedPartitions: {},19 tableQuery: '',20 filterSchema: '',21 filterTable: '',22 loadingPartitions: false,23 loadingTableSearch: false,24 tableSearchResponse: []25 }26}27const getters = {28 dateColumn (state) {29 return state.columns.slice().reverse().map(c => c[0]).find(c => DATE_COLUMN_NAMES.includes(c)) || ''30 },31 allColumns (state) {32 return state.columns.map(c => c[0])33 },34 partitionKeys (state) {35 return state.columns.filter(c => c[2] === 'partition key').map(c => c[0])36 },37 partitionKeysTypes (state) {38 return state.columns.filter(c => c[2] === 'partition key').map(c => c[1])39 },40 columnTypesMap (state) {41 return state.columns.reduce((map, c) => Object.assign(map, {[c[0]]: c[1]}), {})42 }43}44const actions = {45 async getRoot ({dispatch, state, rootGetters}) {46 const {isPresto, isElasticsearch} = rootGetters47 const {catalog, schema, table} = state48 if (isElasticsearch) {49 dispatch('getTables')50 return51 }52 if (isPresto && !catalog) {53 dispatch('getCatalogs')54 } else if (!schema) {55 dispatch('getSchemata')56 } else if (!table) {57 dispatch('getTables')58 }59 },60 async getCatalogs ({commit, dispatch, state, rootState, rootGetters}) {61 const {datasource} = rootState.hash62 const {authInfo, isPresto} = rootGetters63 if (!isPresto) {64 throw Error('getCatalogs are not supported except for presto')65 }66 const data = await api.getCatalogsPresto(datasource, authInfo)67 if (data.results && data.results.length) {68 commit('setCatalogs', {data: data.results.map(r => r[0])})69 commit('setCatalog', {data: state.catalogs[0]})70 } else {71 commit('setCatalogs', {data: []})72 if (data.error) {73 toastr.error(data.error)74 }75 }76 },77 async getSchemata ({commit, dispatch, state, rootState, rootGetters}) {78 const {datasource} = rootState.hash79 const {authInfo, isPresto, isHive, isSpark} = rootGetters80 const {catalog} = state81 let allPromise82 if (isPresto) {83 allPromise = api.getSchemataPresto(datasource, catalog, authInfo)84 } else if (isHive) {85 allPromise = api.getSchemataHive(datasource, authInfo)86 } else if (isSpark) {87 allPromise = api.getSchemataSpark(datasource, authInfo)88 } else {89 throw new Error('not supported')90 }91 const starredPromise = dispatch('getStarredSchemata')92 const [all] = await Promise.all([allPromise, starredPromise])93 if (all.results && all.results.length) {94 commit('setSchemata', {data: all.results.map(r => r[0])})95 let schema = state.schemata[0]96 if (state.starredSchemata.length) {97 schema = state.starredSchemata.map(s => s.schema).sort()[0]98 }99 commit('setSchema', {data: schema})100 } else {101 commit('setSchemata', {data: []})102 if (all.error) {103 toastr.error(all.error)104 }105 }106 },107 async getStarredSchemata ({commit, state, rootState}) {108 const {datasource, engine} = rootState.hash109 const {catalog} = state110 const data = await api.getStarredSchemata(datasource, engine, catalog)111 commit('setStarredSchemata', {data: data.starredSchemaList})112 },113 async postStarredSchema ({dispatch, state, rootState}, {schema}) {114 const { datasource, engine } = rootState.hash115 const { catalog } = state116 await api.postStarredSchema(datasource, engine, catalog, schema)117 return dispatch('getStarredSchemata')118 },119 async deleteStarredSchema ({dispatch, state, rootState}, {id}) {120 const { datasource, engine } = rootState.hash121 const { catalog } = state122 await api.deleteStarredSchema(datasource, engine, catalog, id)123 return dispatch('getStarredSchemata')124 },125 async getTables ({commit, state, rootState, rootGetters}) {126 const {datasource} = rootState.hash127 const {authInfo, isPresto, isHive, isSpark, isElasticsearch} = rootGetters128 const {catalog, schema} = state129 let data130 if (isPresto) {131 data = await api.getTablesPresto(datasource, catalog, schema, authInfo)132 } else if (isHive) {133 data = await api.getTablesHive(datasource, schema, authInfo)134 } else if (isSpark) {135 data = await api.getTablesSpark(datasource, schema, authInfo)136 } else if (isElasticsearch) {137 data = await api.getTablesElasticsearch(datasource, authInfo)138 } else {139 throw new Error('not supported')140 }141 if (data.results && data.results.length) {142 commit('setTables', {143 data: data.results.map(r => {144 const tableName = isSpark ? r[1] : r[0]145 const tableType = isPresto ? r[1] : 'BASE TABLE'146 return [tableName, tableType]147 })148 })149 } else {150 commit('setTables', {data: []})151 if (data.error) {152 toastr.error(data.error)153 }154 }155 },156 async getColumns ({commit, state, rootState, rootGetters}) {157 const {datasource} = rootState.hash158 const {authInfo, isPresto, isHive, isSpark, isElasticsearch} = rootGetters159 const {catalog, schema, table} = state160 if (isPresto && !catalog) {161 return false162 }163 if (!isElasticsearch && !schema) {164 return false165 }166 if (!table) {167 return false168 }169 let data170 if (isPresto) {171 data = await api.getColumnsPresto(datasource, catalog, schema, table, authInfo)172 } else if (isHive) {173 data = await api.getColumnsHive(datasource, schema, table, authInfo)174 } else if (isSpark) {175 data = await api.getColumnsSpark(datasource, schema, table, authInfo)176 } else if (isElasticsearch) {177 data = await api.getColumnsElasticsearch(datasource, table, authInfo)178 } else {179 throw new Error('not supported')180 }181 if (data.results && data.results.length) {182 let columns = data.results183 const note = data.note184 const meta = data.meta185 if (!isPresto) {186 columns = columns187 .filter(c => c[0] && !c[0].includes('#'))188 .reduce((arr, c) => {189 const index = arr.findIndex(existColumn => existColumn[0] === c[0])190 if (index === -1) {191 arr.push([c[0], c[1], null, null])192 } else {193 arr[index][2] = 'partition key'194 }195 return arr196 }, [])197 }198 commit('setColumns', {columns, note, meta})199 } else {200 commit('setColumns', {data: []})201 if (data.error) {202 toastr.error(data.error)203 }204 }205 },206 async getPartitions ({commit, state, getters, rootState, rootGetters}) {207 const {datasource} = rootState.hash208 const {authInfo, isPresto, isHive, isSpark} = rootGetters209 const {catalog, schema, table, selectedPartitions} = state210 const {partitionKeys, columnTypesMap} = getters211 const option = {}212 if (Object.keys(selectedPartitions).length === Object.keys(partitionKeys).length) {213 return214 }215 let remainKey = ''216 if (!Object.isEmpty(selectedPartitions)) {217 for (const key of partitionKeys) {218 if (selectedPartitions[key]) {219 remainKey = key220 } else {221 break222 }223 }224 }225 commit('deletePartitionValues', {keys: partitionKeys, remainKey})226 if (!Object.isEmpty(selectedPartitions)) {227 const keys = []228 const vals = []229 for (const key of partitionKeys) {230 if (!selectedPartitions[key]) {231 break232 }233 keys.push(key)234 vals.push(selectedPartitions[key])235 }236 option.partitionColumn = keys.join(',')237 option.partitionColumnType = keys.map(k => columnTypesMap[k]).join(',')238 option.partitionValue = vals.join(',')239 }240 commit('setLoadingPartitions', {loading: true})241 let data242 if (isPresto) {243 data = await api.getPartitionsPresto(datasource, catalog, schema, table, option, authInfo)244 } else if (isHive) {245 data = await api.getPartitionsHive(datasource, schema, table, option, authInfo)246 } else if (isSpark) {247 data = await api.getPartitionsSpark(datasource, schema, table, option, authInfo)248 } else {249 throw new Error('not supported')250 }251 if (data.error) {252 toastr.error(data.error)253 } else if (data.column && data.partitions) {254 commit('setPartitionValues', {keys: partitionKeys, key: data.column, values: data.partitions})255 }256 commit('setLoadingPartitions', {loading: false})257 },258 async searchTable ({commit, state, rootState, rootGetters}) {259 const {datasource} = rootState.hash260 const {catalog, tableQuery} = state261 const {authInfo} = rootGetters262 commit('setTable', {data: ['', '']})263 commit('setTableSearchResponse', {data: []})264 if (tableQuery === '') {265 return false266 }267 commit('setLoadingTableSearch', {loading: true})268 try {269 const data = await api.searchTable(datasource, catalog, tableQuery, authInfo)270 commit('setTableSearchResponse', {data: data.results})271 commit('setLoadingTableSearch', {loading: false})272 } catch (e) {273 commit('setLoadingTableSearch', {loading: false})274 }275 }276}277const mutations = {278 init (state) {279 state.catalogs = []280 state.schemata = []281 state.tables = []282 state.catalog = ''283 state.schema = ''284 state.table = ''285 state.note = ''286 state.meta = ''287 state.tableType = ''288 state.columns = []289 state.partitionValues = {}290 state.tableQuery = ''291 state.filterSchema = ''292 state.filterTable = ''293 state.tableSearchResponse = []294 },295 setCatalogs (state, {data}) {296 state.catalogs = data297 },298 setSchemata (state, {data}) {299 state.schemata = data300 },301 setStarredSchemata (state, {data}) {302 state.starredSchemata = data303 },304 setTables (state, {data}) {305 state.tables = data306 },307 setCatalog (state, {data}) {308 state.catalog = data309 },310 setSchema (state, {data}) {311 state.schema = data312 },313 setTable (state, {data}) {314 state.table = data[0]315 state.tableType = data[1]316 },317 setColumns (state, {columns, note, meta}) {318 state.columns = columns319 state.note = note320 state.meta = meta321 },322 setPartitionValues (state, {keys, key, values}) {323 const newVal = {}324 for (const k of keys) {325 if (k === key) {326 break327 }328 newVal[k] = state.partitionValues[k]329 }330 newVal[key] = values331 state.partitionValues = newVal332 },333 deletePartitionValues (state, {keys, remainKey}) {334 if (!remainKey) {335 state.partitionValues = {}336 }337 const newVal = {}338 for (const k of keys) {339 newVal[k] = state.partitionValues[k]340 if (k === remainKey) {341 break342 }343 }344 state.partitionValues = newVal345 },346 setSelectedPartitions (state, {data}) {347 state.selectedPartitions = data348 },349 setTableQuery (state, {data}) {350 state.tableQuery = data351 },352 setFilterSchema (state, {data}) {353 state.filterSchema = data354 },355 setFilterTable (state, {data}) {356 state.filterTable = data357 },358 setLoadingPartitions (state, {loading}) {359 state.loadingPartitions = loading360 },361 setLoadingTableSearch (state, {loading}) {362 state.loadingTableSearch = loading363 },364 setTableSearchResponse (state, {data}) {365 state.tableSearchResponse = data366 }367}368export default {369 namespaced: true,370 state,371 getters,372 actions,373 mutations...
engine_test.js
Source:engine_test.js
...22 util.setUserAgent(null);23 },24 testPresto() {25 util.setUserAgent(testAgents.OPERA_LINUX);26 assertTrue(engine.isPresto());27 assertFalse(engine.isGecko());28 assertVersion('2.9.168');29 assertLowAndHighVersions('2.9', '2.10');30 util.setUserAgent(testAgents.OPERA_MAC);31 assertTrue(engine.isPresto());32 assertFalse(engine.isGecko());33 assertVersion('2.9.168');34 assertLowAndHighVersions('2.9', '2.10');35 util.setUserAgent(testAgents.OPERA_MINI);36 assertTrue(engine.isPresto());37 assertFalse(engine.isGecko());38 assertVersion('2.8.119');39 assertLowAndHighVersions('2.8', '2.9');40 },41 testTrident() {42 util.setUserAgent(testAgents.IE_6);43 assertTrue(engine.isTrident());44 assertFalse(engine.isGecko());45 assertFalse(engine.isEdge());46 assertVersion('');47 util.setUserAgent(testAgents.IE_10);48 assertTrue(engine.isTrident());49 assertFalse(engine.isGecko());50 assertFalse(engine.isEdge());51 assertVersion('6.0');52 assertLowAndHighVersions('6.0', '7.0');53 util.setUserAgent(testAgents.IE_8);54 assertTrue(engine.isTrident());55 assertFalse(engine.isGecko());56 assertFalse(engine.isEdge());57 assertVersion('4.0');58 assertLowAndHighVersions('4.0', '5.0');59 util.setUserAgent(testAgents.IE_9_COMPATIBILITY);60 assertTrue(engine.isTrident());61 assertFalse(engine.isGecko());62 assertFalse(engine.isEdge());63 assertVersion('5.0');64 assertLowAndHighVersions('5.0', '6.0');65 util.setUserAgent(testAgents.IE_11);66 assertTrue(engine.isTrident());67 assertFalse(engine.isGecko());68 assertFalse(engine.isEdge());69 assertVersion('7.0');70 assertLowAndHighVersions('6.0', '8.0');71 util.setUserAgent(testAgents.IE_10_MOBILE);72 assertTrue(engine.isTrident());73 assertFalse(engine.isEdge());74 assertVersion('6.0');75 },76 testEdge() {77 util.setUserAgent(testAgents.EDGE_12_0);78 assertTrue(engine.isEdge());79 assertFalse(engine.isTrident());80 assertFalse(engine.isGecko());81 assertVersion('12.0');82 assertLowAndHighVersions('11.0', '13.0');83 },84 testWebKit() {85 util.setUserAgent(testAgents.ANDROID_BROWSER_235);86 assertTrue(engine.isWebKit());87 assertFalse(engine.isGecko());88 assertFalse(engine.isEdge());89 assertVersion('533.1');90 assertLowAndHighVersions('533.0', '534.0');91 util.setUserAgent(testAgents.ANDROID_BROWSER_403_ALT);92 assertTrue(engine.isWebKit());93 assertFalse(engine.isGecko());94 assertFalse(engine.isEdge());95 assertVersion('534.30');96 assertLowAndHighVersions('533.0', '535.0');97 util.setUserAgent(testAgents.CHROME_25);98 assertTrue(engine.isWebKit());99 assertFalse(engine.isGecko());100 assertFalse(engine.isEdge());101 assertVersion('535.8');102 assertLowAndHighVersions('535.0', '536.0');103 util.setUserAgent(testAgents.SAFARI_6);104 assertTrue(engine.isWebKit());105 assertFalse(engine.isGecko());106 assertFalse(engine.isEdge());107 assertVersion('536.25');108 assertLowAndHighVersions('536.0', '537.0');109 util.setUserAgent(testAgents.SAFARI_IPHONE_6);110 assertTrue(engine.isWebKit());111 assertFalse(engine.isGecko());112 assertFalse(engine.isEdge());113 assertVersion('536.26');114 assertLowAndHighVersions('536.0', '537.0');115 },116 testOpera15() {117 util.setUserAgent(testAgents.OPERA_15);118 assertTrue(engine.isWebKit());119 assertFalse(engine.isPresto());120 assertVersion('537.36');121 },122 testGecko() {123 util.setUserAgent(testAgents.FIREFOX_LINUX);124 assertTrue(engine.isGecko());125 assertFalse(engine.isEdge());126 assertVersion('15.0.1');127 assertLowAndHighVersions('14.0', '16.0');128 util.setUserAgent(testAgents.FIREFOX_19);129 assertTrue(engine.isGecko());130 assertFalse(engine.isEdge());131 assertVersion('19.0');132 assertLowAndHighVersions('18.0', '20.0');133 util.setUserAgent(testAgents.FIREFOX_WINDOWS);...
index.js
Source:index.js
1const list = {2 ispc: "æ¯å¦æ¯PC设å¤",3 istrident: "æ¯å¦æ¯IEæµè§å¨",4 ispresto: "æ¯å¦æ¯operaå
æ ¸",5 iswebKit: "è¹æãè°·æå
æ ¸",6 isiPhone: "æ¯å¦ä¸ºiPhoneæè
QQHDæµè§å¨",7 isiPad: "æ¯å¦iPad",8 isweixin: "æ¯å¦å¾®ä¿¡",9 isgecko: "å¤ææ¯å¦æ¯ç«çå
æ ¸",10 isios: "å¤ææ¯å¦æ¯iosç»ç«¯",11 isqq: "å¤ææ¯å¦æ¯qq",12 scrollToTop: 'åå°é¡¶é¨',13 elementIsVisibleInViewport: "å¦ææå®çå
ç´ å¨å¯è§çªå£ä¸å¯è§ï¼åè¿å true ï¼å¦åè¿å false"14}15const browser = {16 trident: 'Trident', //IEå
æ ¸17 presto: 'Presto', //operaå
æ ¸18 webKit: 'AppleWebKit', //è¹æãè°·æå
æ ¸19 iPhone: 'iPhone', //æ¯å¦ä¸ºiPhoneæè
QQHDæµè§å¨20 iPad: 'iPad', //æ¯å¦iPad21 weixin: 'MicroMessenger', //æ¯å¦å¾®ä¿¡22}23const userAgentDefault = "wechatdevtools desktopapp appservice port/48270 token/99f8ac1ba71ad7c1a00605bb2a03f8c8"24/**25 * @date 2020-06-1926 * @author saltire27 * @description å°è£
常è§çå¤æ设å¤çæ¹æ³28*/29let device = function (s, r) {30 let regNew = new RegExp(r);31 return regNew.test(s);32}33Object.keys(browser).forEach(function (t) {34 try {35 var u = window.navigator && window.navigator.userAgent36 } catch {37 var u = userAgentDefault38 }39 device["is" + t] = function () {40 return u.indexOf(browser[t]) > -1;41 }42});43// å¤ææ¯å¦æ¯ç«çå
æ ¸44function isgecko() {45 try {46 var u = window.navigator && window.navigator.userAgent47 } catch {48 var u = userAgentDefault49 }50 return u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1;51}52// å¤ææ¯å¦æ¯qq53function isqq() {54 try {55 var u = window.navigator && window.navigator.userAgent56 } catch {57 var u = userAgentDefault58 }59 return u.match(/\sQQ/i) == " qq";60}61// å¤ææ¯å¦æ¯iosç»ç«¯62function isios() {63 try {64 var u = window.navigator && window.navigator.userAgent65 } catch {66 var u = userAgentDefault67 }68 return !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);69}70// å¤ææ¯pc端è¿æ¯ç§»å¨ç«¯71function ispc() {72 try {73 var userAgentInfo = window.navigator && window.navigator.userAgent74 } catch {75 var userAgentInfo = userAgentDefault76 }77 let Agents = [78 "Android",79 "iPhone",80 "SymbianOS",81 "Windows Phone",82 "iPad",83 "iPod"84 ];85 let flag = true;86 for (let v = 0; v < Agents.length; v++) {87 if (userAgentInfo.indexOf(Agents[v]) > 0) {88 flag = false;89 break;90 }91 }92 return flag;93}94/* 95å¹³æ»æ»å¨å°é¡µé¢é¡¶é¨ã96ä½¿ç¨ document.documentElement.scrollTop æ document.body.scrollTop è·åå°é¡¶é¨è·ç¦»ãä»é¡¶é¨æ»å¨ä¸å°é¨åè·ç¦»ã使ç¨window.requestAnimationFrame() æ¥å®ç°æ»å¨å¨ç»ã97 */98function scrollToTop() {99 try {100 const c = document.documentElement.scrollTop || document.body.scrollTop;101 if (c > 0) {102 window.requestAnimationFrame(scrollToTop);103 window.scrollTo(0, c - c / 8);104 }105 } catch {106 return107 }108}109/**110 * @date 2020-07-09111 * @author saltire112 * @description å¦ææå®çå
ç´ å¨å¯è§çªå£ä¸å¯è§ï¼åè¿å true ï¼å¦åè¿å false 113 * @param ï¼æå®å
ç´ ï¼elï¼ï¼çç¥ç¬¬äºä¸ªåæ°æ¥å¤æå
ç´ æ¯å¦å®å
¨å¯è§ï¼æè
æå® true æ¥å¤æå®æ¯å¦é¨åå¯è§ï¼boleanï¼114 * @return boolean115*/116function elementIsVisibleInViewport(el, partiallyVisible = false) {117 try {118 const { top, left, bottom, right } = el.getBoundingClientRect();119 const { innerHeight, innerWidth } = window;120 return partiallyVisible121 ? ((top > 0 && top < innerHeight) || (bottom > 0 && bottom < innerHeight)) &&122 ((left > 0 && left < innerWidth) || (right > 0 && right < innerWidth))123 : top >= 0 && left >= 0 && bottom <= innerHeight && right <= innerWidth;124 } catch {125 return126 }127}128device.ispc = ispc129// device.istrident = istrident130// device.ispresto = ispresto131// device.iswebKit = iswebKit132// device.isiPhone = isiPhone133// device.isiPad = isiPad134// device.isweixin = isweixin135device.isgecko = isgecko136device.isios = isios137device.isqq = isqq138device.scrollToTop = scrollToTop139device.elementIsVisibleInViewport = elementIsVisibleInViewport140export {141 device...
BrowserUtil.js
Source:BrowserUtil.js
...127 }128}129const defaultMethod = {130 isTrident: () => method.isTrident(),131 isPresto: () => method.isPresto(),132 isWebKit: () => method.isWebKit(),133 isGecko: () => method.isGecko(),134 isMobile: () => method.isMobile(),135 isIOS: () => method.isIOS(),136 isAndroid: () => method.isAndroid(),137 isIPhone: () => method.isIPhone(),138 isIPad: () => method.isIPad(),139 isWebApp: () => method.isWebApp(),140 isWeChat: () => method.isWeChat(),141 isQQ: () => method.isQQ(),142 isMac: () => method.isMac(),143 isWindows: () => method.isWindows(),144 isSafari: () => method.isSafari()145}...
BeforeInputEventPlugin.js
Source:BeforeInputEventPlugin.js
...4var EventPropagators = require("./EventPropagators");5var ExecutionEnvironment = require("./ExecutionEnvironment");6var SyntheticInputEvent = require("./SyntheticInputEvent");7var keyOf = require("./keyOf");8var canUseTextInputEvent = (ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !('documentMode' in document || isPresto()));9function isPresto() {10 var opera = window.opera;11 return (typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12);12}13var SPACEBAR_CODE = 32;14var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);15var topLevelTypes = EventConstants.topLevelTypes;16var eventTypes = {beforeInput: {17 phasedRegistrationNames: {18 bubbled: keyOf({onBeforeInput: null}),19 captured: keyOf({onBeforeInputCapture: null})20 },21 dependencies: [topLevelTypes.topCompositionEnd, topLevelTypes.topKeyPress, topLevelTypes.topTextInput, topLevelTypes.topPaste]22 }};23var fallbackChars = null;...
Constants.js
Source:Constants.js
1/*jshint strict:false, undef:false, unused:false */23var DOCUMENT_POSITION_PRECEDING = 2; // Node.DOCUMENT_POSITION_PRECEDING4var ELEMENT_NODE = 1; // Node.ELEMENT_NODE;5var TEXT_NODE = 3; // Node.TEXT_NODE;6var DOCUMENT_NODE = 9; // Node.DOCUMENT_NODE;7var DOCUMENT_FRAGMENT_NODE = 11; // Node.DOCUMENT_FRAGMENT_NODE;8var SHOW_ELEMENT = 1; // NodeFilter.SHOW_ELEMENT;9var SHOW_TEXT = 4; // NodeFilter.SHOW_TEXT;1011var START_TO_START = 0; // Range.START_TO_START12var START_TO_END = 1; // Range.START_TO_END13var END_TO_END = 2; // Range.END_TO_END14var END_TO_START = 3; // Range.END_TO_START1516var HIGHLIGHT_CLASS = 'highlight';17var COLOUR_CLASS = 'colour';18var FONT_FAMILY_CLASS = 'font';19var FONT_SIZE_CLASS = 'size';2021var ZWS = '\u200B';2223var win = doc.defaultView;2425var ua = navigator.userAgent;2627var isIOS = /iP(?:ad|hone|od)/.test( ua );28var isMac = /Mac OS X/.test( ua );2930var isAndroid = /Android/.test( ua );3132var isGecko = /Gecko\//.test( ua );33var isIElt11 = /Trident\/[456]\./.test( ua );34var isPresto = !!win.opera;35var isEdge = /Edge\//.test( ua );36var isWebKit = !isEdge && /WebKit\//.test( ua );37var isIE = /Trident\/[4567]\./.test( ua );3839var ctrlKey = isMac ? 'meta-' : 'ctrl-';4041var useTextFixer = isIElt11 || isPresto;42var cantFocusEmptyTextNodes = isIElt11 || isWebKit;43var losesSelectionOnBlur = isIElt11;4445var canObserveMutations = typeof MutationObserver !== 'undefined';4647// Use [^ \t\r\n] instead of \S so that nbsp does not count as white-space48var notWS = /[^ \t\r\n]/;4950var indexOf = Array.prototype.indexOf;5152// Polyfill for FF3.553if ( !Object.create ) {54 Object.create = function ( proto ) {55 var F = function () {};56 F.prototype = proto;57 return new F();58 };
...
isPresto.js
Source:isPresto.js
...6 IOS_2_1_MOBILE_SAFARI_3_1_1_WEBKIT_525_18_1_APPLE_IPHONE_MOBILE7} from '../../test/fixtures/userAgentStrings';8describe('isPresto', () => {9 it('returns true if the engine is Presto', () => {10 expect(isPresto(ANDROID_2_3_5_OPERA_MOBI_11_50_PRESTO_2_9_201)).toBe(true);11 expect(isPresto(OPERA_MINI_5_1_21214_PRESTO_2_5_25)).toBe(true);12 });13 it('returns false if the engine is not Presto', () => {14 expect(isPresto(WINDOWS_8_FIREFOX_20_0_GECKO_20_0)).toBe(false);15 expect(16 isPresto(IOS_2_1_MOBILE_SAFARI_3_1_1_WEBKIT_525_18_1_APPLE_IPHONE_MOBILE)17 ).toBe(false);18 });...
Using AI Code Generation
1const { isPresto } = require('@playwright/test/lib/server/browserType');2I want to use isPresto method in my test.js file. I have tried to import the method from the file but I am getting the following error:3I have also tried to import the method from the following path but I am getting the following error:4I have also tried to import the method from the following path but I am getting the following error:5I have also tried to import the method from the following path but I am getting the following error:6I have also tried to import the method from the following path but I am getting the following error:7I have also tried to import the method from the following path but I am getting the following error:8I have also tried to import the method from the following path but I am getting the following error:9I have also tried to import the method from the following path but I am getting the following error:10I have also tried to import the method from the following path but I am getting the following error:11I have also tried to import the method from the following path but I am getting the following error:12I have also tried to import the method from the following path but I am getting the following error:
Using AI Code Generation
1const { isPresto } = require('playwright/lib/server/browserType');2console.log(isPresto('chromium'));3console.log(isPresto('webkit'));4console.log(isPresto('firefox'));5const { isPresto } = require('playwright/lib/server/browserType');6console.log(isPresto('Presto'));7console.log(isPresto('presto'));8console.log(isPresto('PRESTO'));
Using AI Code Generation
1const { isPresto } = require('playwright/lib/server/chromium/crBrowser');2const browser = await chromium.launch();3const page = await browser.newPage();4console.log(isPresto(page));5await browser.close();6const { isPresto } = require('playwright/lib/server/chromium/crBrowser');7const browser = await chromium.launch();8const page = await browser.newPage();9console.log(isPresto(page));10await browser.close();11const { isPresto } = require('playwright/lib/server/chromium/crBrowser');12const browser = await chromium.launch();13const page = await browser.newPage();14console.log(isPresto(page));15await browser.close();16const { isPresto } = require('playwright/lib/server/chromium/crBrowser');17const browser = await chromium.launch();18const page = await browser.newPage();19console.log(isPresto(page));20await browser.close();21const { isPresto } = require('playwright/lib/server/chromium/crBrowser');22const browser = await chromium.launch();23const page = await browser.newPage();24console.log(isPresto(page));25await browser.close();26const { isPresto } = require('playwright/lib/server/chromium/crBrowser');27const browser = await chromium.launch();28const page = await browser.newPage();29console.log(isPresto(page));30await browser.close();31const { isPresto } = require('playwright/lib/server/chromium/crBrowser');32const browser = await chromium.launch();33const page = await browser.newPage();34console.log(isPresto(page));35await browser.close();
Using AI Code Generation
1const { isPresto } = require('playwright/lib/server/browserType');2(async () => {3 const isPrestoBrowser = await isPresto();4 console.log(isPrestoBrowser);5})();6const { browserName } = require('playwright/lib/server/browserType');7(async () => {8 const browserName = await browserName();9 console.log(browserName);10})();
Using AI Code Generation
1const { isPresto } = require('playwright/lib/server/browserType');2console.log(isPresto('firefox'));3const { isWebkit } = require('playwright/lib/server/browserType');4console.log(isWebkit('webkit'));5const { isChromium } = require('playwright/lib/server/browserType');6console.log(isChromium('chromium'));7const { isFirefox } = require('playwright/lib/server/browserType');8console.log(isFirefox('firefox'));9const { isChromium } = require('playwright/lib/server/browserType');10console.log(isChromium('chromium'));11const { isChromium } = require('playwright/lib/server/browserType');12console.log(isChromium('chromium'));13const { isChromium } = require('playwright/lib/server/browserType');14console.log(isChromium('chromium'));15const { isChromium } = require('playwright/lib/server/browserType');16console.log(isChromium('chromium'));17const { isChromium } = require('playwright/lib/server/browserType');18console.log(isChromium('chromium'));19const { isChromium } = require('playwright/lib/server/browserType');20console.log(isChromium('chromium'));21const { isChromium } = require('playwright/lib/server/browserType');22console.log(isChromium('chromium'));23const { isChromium } = require('playwright/lib/server/browserType');24console.log(isChromium('chromium'));25const { isChromium } = require('playwright/lib/server/browserType');26console.log(isChromium('chromium'));
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const page = await browser.newPage();5 const isPresto = await page.evaluate(() => {6 return window.playwright._isPresto;7 });8 console.log(isPresto);9 await browser.close();10})();11const { chromium } = require('playwright');12(async () => {13 const browser = await chromium.launch();14 const page = await browser.newPage();15 const isChromium = await page.evaluate(() => {16 return window.playwright._isChromium;17 });18 console.log(isChromium);19 await browser.close();20})();21const { webkit } = require('playwright');22(async () => {23 const browser = await webkit.launch();24 const page = await browser.newPage();25 const isWebKit = await page.evaluate(() => {26 return window.playwright._isWebKit;27 });28 console.log(isWebKit);29 await browser.close();30})();31const { firefox } = require('playwright');32(async () => {33 const browser = await firefox.launch();34 const page = await browser.newPage();35 const isFirefox = await page.evaluate(() => {36 return window.playwright._isFirefox;37 });
Using AI Code Generation
1const isPresto = require("playwright/lib/server/browserType").isPresto;2console.log(isPresto());3const isPresto = require("playwright/lib/server/browserType").isPresto;4console.log(isPresto());5const isPresto = require("playwright/lib/server/browserType").isPresto;6console.log(isPresto());7const isPresto = require("playwright/lib/server/browserType").isPresto;8console.log(isPresto());9const isPresto = require("playwright/lib/server/browserType").isPresto;10console.log(isPresto());11const isPresto = require("playwright/lib/server/browserType").isPresto;12console.log(isPresto());13const isPresto = require("playwright/lib/server/browserType").isPresto;14console.log(isPresto());15const isPresto = require("playwright/lib/server/browserType").isPresto;16console.log(isPresto());17const isPresto = require("playwright/lib/server/browserType").isPresto;18console.log(isPresto());19const isPresto = require("playwright/lib/server/browserType").isPresto;20console.log(isPresto());21const isPresto = require("playwright/lib/server/browserType").isPresto;22console.log(isPresto());
Using AI Code Generation
1const { isPresto } = require('playwright/lib/server/browserType');2(async () => {3 const isPrestoBrowser = await isPresto({4 env: {},5 });6 console.log(`Is Presto? ${isPrestoBrowser}`);7})();8const { supportedBrowsers } = require('playwright/lib/server/browserType');9console.log(supportedBrowsers);
Using AI Code Generation
1const { isPresto } = require('playwright/lib/utils/utils');2const { isChromium } = require('playwright/lib/utils/utils');3const { isWebKit } = require('playwright/lib/utils/utils');4const { isFirefox } = require('playwright/lib/utils/utils');5const { isChromium } = require('playwright/lib/utils/utils');6const { isAndroid } = require('playwright/lib/utils/utils');7const { isWindows } = require('playwright/lib/utils/utils');8const { isMac } = require('playwright/lib/utils/utils');9const { isLinux } = require('playwright/lib/utils/utils');10const { isHeadless } = require('playwright/lib/utils/utils');11const { isDebugMode } = require('playwright/lib/utils/utils');12const { isUnderTest } = require('playwright/lib/utils/utils');13const { isDebugMode } = require('playwright/lib/utils/utils');14const { isDebugMode } = require('
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!!