Best JavaScript code snippet using playwright-internal
Diagnostics.js
Source: Diagnostics.js
1/* begin_generated_IBM_copyright_prolog */2/* */3/* This is an automatically generated copyright prolog. */4/* After initializing, DO NOT MODIFY OR MOVE */5/* ================================================================ */6/* */7/* Licensed Materials - Property of IBM */8/* */9/* Blue Gene/Q */10/* */11/* (C) Copyright IBM Corp. 2010, 2011 */12/* */13/* US Government Users Restricted Rights - */14/* Use, duplication or disclosure restricted */15/* by GSA ADP Schedule Contract with IBM Corp. */16/* */17/* This software is available to you under the */18/* Eclipse Public License (EPL). */19/* */20/* ================================================================ */21/* */22/* end_generated_IBM_copyright_prolog */23define(24[25 "../AbstractTab",26 "./ConfigureIoRun",27 "./ConfigureRun",28 "./Details",29 "./Locations",30 "./Runs",31 "./Summary",32 "../topic",33 "../dijit/Diagnostics",34 "dojo/request",35 "dojo/topic",36 "dojo/_base/array",37 "dojo/_base/declare",38 "dojo/_base/lang",39 "module"40],41function(42 b_navigator_AbstractTab,43 l_ConfigureIoRun,44 l_ConfigureRun,45 l_Details,46 l_Locations,47 l_Runs,48 l_Summary,49 ll_topic,50 b_navigator_dijit_Diagnostics,51 d_request,52 d_topic,53 d_array,54 d_declare,55 d_lang,56 module57 )58{59var b_navigator_diagnostics_Diagnostics = d_declare( [ b_navigator_AbstractTab ],60/** @lends bluegene^navigator^diagnostics^Diagnostics# */61{62 _bgws : null,63 _navigator : null,64 _diagnostics_dij : null,65 _configure_compute_run : null,66 _configure_io_run : null,67 _got_properties : false,68 /** @constructs */69 constructor : function( bgws, navigator )70 {71 this._bgws = bgws;72 this._navigator = navigator;73 new l_Details( this._bgws, this );74 new l_Locations( this._bgws, this );75 new l_Runs( this._bgws, this );76 new l_Summary( this._bgws, this );77 this._configure_io_run = new l_ConfigureIoRun( this._bgws, this );78 this._configure_compute_run = new l_ConfigureRun( this._bgws, this );79 },80 addTab : function( new_tab )81 {82 this._diagnostics_dij.addTab( new_tab );83 },84 removeTab : function( tab )85 {86 this._diagnostics_dij.removeTab( tab );87 },88 getSummaryDijit : function()89 {90 return this._diagnostics_dij.summaryTab;91 },92 getLocationsDijit : function()93 {94 return this._diagnostics_dij.locationsTab;95 },96 getRunsDijit : function()97 {98 return this._diagnostics_dij.runsTab;99 },100 getDetailsDijit : function()101 {102 return this._diagnostics_dij.detailsTab;103 },104 switchToDetails : function()105 {106 this._diagnostics_dij.switchToDetails();107 },108 updateMachineHighlighting : function()109 {110 this._updateMachineHighlighting();111 },112 // override from AbstractTab113 _getRequiredAuthority: function() { return b_navigator_AbstractTab.requiredAuthority.HARDWARE_READ; },114 // override from AbstractTab115 _getMachineHighlightData : function()116 {117 var cur_tab = this._diagnostics_dij.tabContainer.selectedChildWidget;118 if ( cur_tab === this._configure_compute_run.getDijit() ) {119 return this._configure_compute_run.getMachineHighlightData();120 }121 if ( cur_tab === this._configure_io_run.getDijit() ) {122 return this._configure_io_run.getMachineHighlightData();123 }124 return null;125 },126 // override AbstractTab127 _loggedIn : function( args )128 {129 if ( args.userInfo.hasHardwareRead() ) {130 // User has authority to Diagnostics info.131 if ( this._diagnostics_dij ) {132 console.log( module.id + ": User has authority to diagnostics tab (already displayed)." );133 } else {134 console.log( module.id + ": User has authority to diagnostics, showing tab" );135 this._diagnostics_dij = new b_navigator_dijit_Diagnostics( { title: "Diagnostics" } );136 var TAB_PRIORITY = 110;137 var TAB_NAME = "diags";138 this._navigator.addTab( this._diagnostics_dij, TAB_PRIORITY, TAB_NAME, this );139 // Listen for the current tab to change.140 var select_subtab_topic = (this._diagnostics_dij.tabContainer.id + "-selectChild");141 d_topic.subscribe( select_subtab_topic, d_lang.hitch( this, this._diagsTabChanged ) );142 }143 ll_topic.publish( ll_topic.diags.loggedIn, args.userInfo.isAdministrator() );144 if ( (! this._got_properties) && args.userInfo.isAdministrator() ) {145 console.log( module.id + ": Fetching the tests.properties file." );146 // Load the tests.properties file.147 var promise = d_request( "resources/diags/tests.properties" );148 promise.then(149 d_lang.hitch( this, this._gotTestsProperties )150 );151 this._got_properties = true;152 }153 } else {154 // User doesn't have authority to Diagnostics info.155 ll_topic.publish( ll_topic.diags.loggedIn, null );156 if ( this._diagnostics_dij ) {157 console.log( module.id + ": User does not have authority to diagnostics and displayed, hiding." );158 this._navigator.removeTab( this._diagnostics_dij );159 this._diagnostics_dij = null;160 } else {161 console.log( module.id + ": User does not have authority to diagnostics and already hidden." );162 }163 }164 },165 // override AbstractTab166 notifyMachineClicked : function( loc )167 {168 var cur_tab = this._diagnostics_dij.tabContainer.selectedChildWidget;169 if ( cur_tab === this._configure_compute_run.getDijit() ) {170 this._configure_compute_run.notifyMachineClicked( loc );171 }172 if ( cur_tab === this._configure_io_run.getDijit() ) {173 this._configure_io_run.notifyMachineClicked( loc );174 }175 },176 _diagsTabChanged : function( widget )177 {178 this._updateMachineHighlighting();179 },180 _gotTestsProperties : function( result )181 {182 // console.log( module.id + ": Got tests.properties", result );183 var config = this._parseTestsProperties( result );184 ll_topic.publish( ll_topic.diags.gotTestsConfiguration, config );185 },186 _parseTestsProperties : function( properties_contents )187 {188 var buckets = {};189 var tests = {};190 var cur_obj = {};191 var lines = properties_contents.split( "\n" );192 d_array.forEach( lines, function( line ) {193 // console.log( module.id + ": line from tests.properties: " + line );194 // remove everything after #.195 line = line.replace( /#.*/, "" );196 var section_name_m = /\[(.*)\]/.exec( line );197 if ( section_name_m ) {198 // Set up the new section.199 var section_name = section_name_m[1];200 var split_section_name_m = /(.*)\.(.*)/.exec( section_name );201 var type = split_section_name_m[1];202 var name = split_section_name_m[2];203 // console.log( module.id + ": new section " + section_name + " -> type:" + type + " name:" + name );204 cur_obj = {};205 if ( type == "buckets" ) {206 buckets[name] = cur_obj;207 } else {208 tests[name] = cur_obj;209 }210 return; // break211 }212 var property_m = /\s*(\S+)\s*=\s*(.*)/.exec(line);213 if ( property_m ) {214 var prop_name = property_m[1];215 var prop_val = property_m[2];216 // console.log( module.id + ": new property '" + prop_name + "' -> '" + prop_val + "'" );217 if ( prop_name == "tests" ) {218 prop_val = prop_val.split( /\s*,\s*/ );219 } else if ( prop_name == "timeout" ) {220 prop_val = Number( prop_val );221 }222 cur_obj[prop_name] = prop_val;223 return;224 }225 } );226 return {227 buckets: buckets,228 tests: tests229 };230 }231} );232return b_navigator_diagnostics_Diagnostics;...
imekeys.js
Source: imekeys.js
...17 'ic=ibus.InputContext(bus,bus.current_input_contxt())',18 'ic.'+action+'()'19 ].join(";");20 };21 if (io.run('which', ['python'], true) == 0 &&22 io.run('which', ['ibus-setup'], true) == 0 &&23 io.run('python', [ '-c', 'import ibus' ], true) == 0) {24 return {25 on: function(){ io.run('python', [ '-c', cmd('enable') ]); },26 off: function(){ io.run('python', [ '-c', cmd('disable') ]); }27 };28 }29 })();30 modules.ibus = liberator.plugins.ibus = ibus;31 var uim = (function() {32 Components.utils.import('resource://gre/modules/ctypes.jsm');33 var open = function(lib) {34 try { return ctypes.open(lib); } catch (err) { /* ignore */ }35 };36 var name = 'libuim.so';37 var libuim = open(name);38 if (!libuim && io.run('which', ['/sbin/ldconfig'])) {39 // try to load libuim.so.VERSION40 var list = system('/sbin/ldconfig -p');41 list.split(/[\r\n]/).some(function(line) {42 if (line.indexOf(name) < 0) return;43 if (new RegExp('^\\s+('+name+'[.0-9]*)\\s+').test(line)) {44 libuim = open(RegExp.$1);45 if (libuim) return true;46 }47 });48 }49 if (!libuim) return;50 __context__.onUnload = function(){ libuim.close(); };51 var send = (function() {52 var abi = ctypes.default_abi;53 var disconnect = ctypes.FunctionType(abi, ctypes.void_t);54 var api = {55 init: libuim.declare(56 'uim_helper_init_client_fd', abi,57 ctypes.int, disconnect.ptr58 ),59 close: libuim.declare(60 'uim_helper_close_client_fd', abi,61 ctypes.void_t, ctypes.int62 ),63 send: libuim.declare(64 'uim_helper_send_message', abi,65 ctypes.void_t, ctypes.int, ctypes.char.ptr66 )67 };68 return function(commands) {69 var fd = api.init(disconnect.ptr(function(){ fd = -1; }));70 if (fd < 0) return;71 commands = Array.prototype.slice.call(arguments);72 commands.push('');73 api.send(fd, commands.join("\n"));74 api.close(fd);75 };76 })();77 // detect default IM78 var im = liberator.globalVariables['uim_im'];79 if (!im && io.run('which', ['uim-sh'])) {80 var slist = function() {81 return '('+Array.prototype.slice.call(arguments).join(' ')+')';82 };83 im = system([84 'uim-sh',85 '-e',86 slist('or',87 slist('and',88 'custom-activate-default-im-name?',89 'default-im-name'),90 slist('and',91 'enable-im-toggle?',92 'toggle-im-alt-im'),93 slist('car',94 'enabled-im-list'))95 ].join(' ')).replace(/^#f$/, '');96 }97 return {98 on: function() {99 if (!im) return;100 send('im_change_this_application_only', im);101 },102 off: function() {103 send('im_change_this_application_only', 'direct');104 }105 };106 })();107 modules.uim = liberator.plugins.uim = uim;108 var sendKeys = (function() {109 var methods = {};110 if (!liberator.has('Windows') &&111 io.run('which', ['xvkbd'], true) == 0) {112 methods.x = {113 send: function(key){ io.run('xvkbd', [ '-text', key ]); }114 };115 }116 if (liberator.has('Windows')) {117 methods.w = {118 send: function(key) {119 var dirs = services.get("directory");120 var file = dirs.get("TmpD", Ci.nsIFile);121 file.append('vimperator_external_command_send_keys.js');122 file = File(file);123 if (!file.exists()) {124 file.write([125 'var sh = WScript.CreateObject("WScript.Shell");',126 'sh.SendKeys(WScript.Arguments(0));',127 ''128 ].join("\n"), File.MODE_WRONLY|File.MODE_CREATE, 0644);129 }130 io.run('wscript.exe', [ file.path, key ]);131 }132 };133 }134 var func = function(k, filter) {135 var key = function(m){ return k; };136 key = (typeof k == 'object' && function(m){ return k[m]; }) || key;137 for (var m in methods) {138 if (filter && filter.indexOf(m) < 0) continue;139 if (key(m) && methods[m]) {140 setTimeout(function() { methods[m].send(key(m)); }, 0);141 return;142 }143 }144 };...
ConfigureIoRun.js
Source: ConfigureIoRun.js
1/* begin_generated_IBM_copyright_prolog */2/* */3/* This is an automatically generated copyright prolog. */4/* After initializing, DO NOT MODIFY OR MOVE */5/* ================================================================ */6/* */7/* Licensed Materials - Property of IBM */8/* */9/* Blue Gene/Q */10/* */11/* (C) Copyright IBM Corp. 2010, 2011 */12/* */13/* US Government Users Restricted Rights - */14/* Use, duplication or disclosure restricted */15/* by GSA ADP Schedule Contract with IBM Corp. */16/* */17/* This software is available to you under the */18/* Eclipse Public License (EPL). */19/* */20/* ================================================================ */21/* */22/* end_generated_IBM_copyright_prolog */23define(24[25 "../topic",26 "../dijit/diagnostics/ConfigureIoRun",27 "dojo/_base/declare",28 "dojo/_base/lang",29 "module"30],31function(32 b_navigator_topic,33 b_navigator_dijit_diagnostics_ConfigureIoRun,34 d_declare,35 d_lang,36 module37 )38{39var b_navigator_diagnostics_ConfigureIoRun = d_declare( null,40/** @lends bluegene^navigator^diagnostics^ConfigureIoRun# */41{42 _bgws : null,43 _diagnostics : null,44 _test_config : null,45 _configure_io_run_dij : null,46 /** @constructs */47 constructor : function( bgws, diagnostics )48 {49 this._bgws = bgws;50 this._diagnostics = diagnostics;51 b_navigator_topic.subscribe( b_navigator_topic.diags.loggedIn, d_lang.hitch( this, this._loggedIn ) );52 b_navigator_topic.subscribe( b_navigator_topic.diags.gotTestsConfiguration, d_lang.hitch( this, this._gotTestsConfiguration ) );53 },54 getDijit : function() { return this._configure_io_run_dij; },55 getMachineHighlightData : function()56 {57 if ( this._configure_io_run_dij ) {58 return this._configure_io_run_dij.getMachineHighlightData();59 }60 return null;61 },62 notifyMachineClicked : function( loc )63 {64 if ( ! this._configure_io_run_dij ) return;65 this._configure_io_run_dij.notifyMachineClicked( loc );66 },67 _loggedIn : function( perms )68 {69 console.log( module.id + ": logged in, perms=", perms );70 if ( perms ) {71 // The user has authority to configure an I/O run, the tab should be displayed.72 if ( this._configure_io_run_dij ) {73 console.log( module.id + ": User has authority to configure I/O run, already displayed" );74 } else {75 console.log( module.id + ": User has authority to configure I/O run, displaying the tab." );76 this._configure_io_run_dij = new b_navigator_dijit_diagnostics_ConfigureIoRun( { title: "Configure I/O Run" } );77 this._diagnostics.addTab( this._configure_io_run_dij );78 this._configure_io_run_dij.setSubmitDiagnosticsRunFn( d_lang.hitch( this, this._submitDiagnosticsRun ) );79 this._configure_io_run_dij.on( "machineHighlightingChanged", d_lang.hitch( this, this._machineHighlightingChanged ) );80 if ( this._test_config ) {81 this._configure_io_run_dij.setConfig( this._test_config );82 }83 }84 } else {85 // The user doesn't have authority to configure an I/O run.86 if ( perms === null ) {87 // The dijit doesn't exist or is going to be destroyed automatically.88 this._configure_io_run_dij = null;89 } else {90 if ( this._configure_io_run_dij ) {91 console.log( module.id + ": User doesn't have authority to configure I/O run, hiding the tab." );92 this._diagnostics.removeTab( this._configure_io_run_dij );93 this._configure_io_run_dij = null;94 } else {95 console.log( module.id + ": User doesn't have authority to configure I/O run, tab is already hidden." );96 }97 }98 }99 },100 _gotTestsConfiguration : function( config )101 {102 console.log( module.id + ": setConfig, config=", config );103 this._test_config = config;104 if ( this._configure_io_run_dij ) this._configure_io_run_dij.setConfig( this._test_config );105 },106 _machineHighlightingChanged : function()107 {108 this._diagnostics.updateMachineHighlighting();109 },110 _submitDiagnosticsRun : function( new_diags_run_post_obj )111 {112 return this._bgws.submitDiagnosticsRun( new_diags_run_post_obj );113 }114} );115return b_navigator_diagnostics_ConfigureIoRun;...
kansuu-monad-io.spec.js
Source: kansuu-monad-io.spec.js
1"use strict";2const util = require('util'),3 expect = require('expect.js'),4 seedrandom = require('seedrandom'),5 Random = require("random-js"),6 rng = Random.engines.mt19937(),7 fs = require('fs');8const __ = require('../../lib/kansuu.js'),9 math = require('../../lib/kansuu-math.js'),10 List = require('../../lib/kansuu-monad.js').list,11 IO = require('../../lib/kansuu-monad.js').io;12describe("'IO' monad", () => {13 it("IO#unit", (next) => {14 const unit = IO.unit(1);15 expect(16 IO.run(unit) 17 ).to.eql(18 119 );20 next();21 });22 // ### IOã¢ããããã¹ããã23 // IOã¢ããã§åç
§ééæ§ã確ä¿ãã24 it('IOã¢ããã§åç
§ééæ§ã確ä¿ãã', (next) => {25 expect(26 IO.run(IO.flatMap(IO.readFile("./test/resource/state.txt"))(fileContent => {27 return IO.flatMap(IO.println(fileContent))(content => {28 return IO.done(content);29 });30 })())31 ).to.eql(32 IO.run(IO.flatMap(IO.readFile("./test/resource/state.txt"))(fileContent => {33 return IO.flatMap(IO.println(fileContent))(content => {34 return IO.done(content);35 });36 })())37 // IO.flatMap(IO.readFile("./test/resource/state.txt"))((content) => {38 // return IO.flatMap(IO.println(content))((_) => {39 // return IO.done(_);40 // });41 // })()42 );43 next();44 });45 it("IO#flatMap", (next) => {46 var readDecimal = IO.readFile("./test/resource/decimal.txt");47 IO.flatMap(readDecimal)((decimal) => {48 console.log(decimal);49 return IO.print(parseInt(decimal, 10).toString(16));50 });51 next();52 });53 it('runé¢æ°ã®å©ç¨æ³', (next) => {54 IO.run(IO.println("ååã¯ã¾ã ãªã")) 55 next();56 });57 describe('æåååºå', () => {58 it('IO#puts', (next) => {59 IO.run(IO.puts(List.fromString("IO#puts")))60 // IO.puts(List.fromString("IO#puts"))61 next();62 });63 it('IO#putStrLn', (next) => {64 IO.run(IO.putStrLn("IO#putStrLn")) 65 // IO.putStrLn("IO#putStrLn")66 next();67 });68 });69 describe('IOã¢ã¯ã·ã§ã³ãåæãã', () => {70 /* IO.seq:: IO[a] => IO[b] => IO[b] */71 it("IO#seq", (next) => {72 IO.seq(IO.putc("A"))(IO.putc("B")) 73 next();74 });75 it("'print'", (next) => {76 var printer = IO.print("this is a test");77 IO.run(printer);78 var printEven = (n) => {79 if(n % 2 === 0){80 return IO.print("true");81 } else {82 return IO.print("false");83 }84 };85 IO.run(printEven(2));86 // expect(87 // printEven(2)88 // ).to.eql(89 // printEven(2)90 // );91 next();92 });93 });94});95 // describe("'writer' monad", function() {96 // it("'writer'", (next) => {97 // var squared = (x) => {98 // return __.monad.writer.unit.bind(__)(x * x)(__.list.mkList.bind(__)([util.format("%s was squared.",x)]));99 // };100 // var halved = (x) => {101 // return __.monad.writer.unit.bind(__)(x / 2)(__.list.mkList.bind(__)([util.format("%s was halved.",x)]));102 // };103 // var answer = __.monad.writer.flatMap.bind(__)(104 // __.monad.writer.flatMap.bind(__)(105 // __.monad.writer.unit.bind(__)(4)(__.list.empty)106 // )(squared)107 // )(halved);108 // expect(109 // answer.value110 // ).to.eql(111 // 8112 // );113 // expect(114 // __.list.toArray.bind(__)(answer.buffer)115 // ).to.eql(116 // [ '4 was squared.', '16 was halved.' ]117 // );118 // next();119 // });...
cli.js
Source: cli.js
1'use strict'2var test = require('redtape')(beforeEach)3 , sinon = require('sinon')4 , proxyquire = require('proxyquire')5 , events = require('events')6 , _ = require('lodash')7function fakeStream () {8 return _.assign( new events.EventEmitter()9 , { pipe : sinon.stub().returnsArg(0) }10 )11}12function fakeIo () {13 return { argv: ['node', 'replace-ids-migration', 'http://host/db']14 , stdin: fakeStream()15 }16}17function fakeJSONStream () {18 var parser = fakeStream()19 return { parse: sinon.stub().returns(parser) }20}21var cli, io, JSONStream, parser, migrate22function beforeEach (done) {23 io = fakeIo()24 parser = fakeStream()25 JSONStream = fakeJSONStream()26 migrate = sinon.stub().returns(Promise.resolve('Migration done.'))27 JSONStream.parse.returns(parser)28 cli = proxyquire('../lib/cli', { 'JSONStream' : JSONStream29 , './migrate' : migrate30 })31 done()32}33test('parses rows from stdin', function (t) {34 JSONStream.parse.withArgs('*').returns(parser)35 cli(io).run()36 t.ok(io.stdin.pipe.calledWith(parser))37 t.end()38})39test('handles parse errors', function (t) {40 var error = new Error('Could not parse JSON')41 cli(io).run().catch(function (catched) {42 t.equal(catched, error)43 t.end()44 })45 parser.emit('error', error)46})47test('aborts when no db URL is given', function (t) {48 io.argv[2] = null49 cli(io).run().catch(function (error) {50 t.ok(error)51 t.end()52 })53})54test('starts migration when input finished parsing', function (t) {55 cli(io).run().then(function () {56 t.ok(migrate.calledOnce)57 t.end()58 })59 parser.emit('finish')60})61test('resolves with promise from migration', function (t) {62 migrate.returns(Promise.resolve('Yeah, done!'))63 cli(io).run().then(function (result) {64 t.equal(result, 'Yeah, done!')65 t.end()66 })67 parser.emit('finish')68})69test('passes db url to migration', function (t) {70 io.argv[2] = 'http://my-host/my-db'71 cli(io).run()72 parser.emit('finish')73 t.deepEqual(migrate.firstCall.args[0], 'http://my-host/my-db')74 t.end()75})76test('passes current and deprecated ids to migration', function (t) {77 cli(io).run()78 parser.emit('data', { doc: {_id: 'abc'}, ids: ['456', '789'] })79 parser.emit('data', { doc: {_id: 'def'}, ids: ['123', '765'] })80 parser.emit('finish')81 t.deepEqual( migrate.firstCall.args[1]82 , [ {current: 'abc', deprecate: ['456', '789']}83 , {current: 'def', deprecate: ['123', '765']}84 ]85 )86 t.end()...
io-service.js
Source: io-service.js
1'use strict';2import io from 'socket.io-client';3import { actionTypes } from '../constants';4import { ioOnlineSet } from '../actions/online';5import { ioTaskSet } from '../actions/tasks';6import { ioRecipeSet, ioRecipeDeleted, ioRecipePinned, ioRecipeUnpinned } from '../actions/recipes';7import { ioRunSet, ioRunLog, ioRunDeleted } from '../actions/runs';8import { ioFileSet, ioFileDeleted } from '../actions/files';9const eventToActionMap = {};10const actionToEventMap = {};11// CONFIG12registerEventToAction('task:created', ioTaskSet);13registerEventToAction('recipe:created', ioRecipeSet);14registerEventToAction('recipe:updated', ioRecipeSet);15registerEventToAction('recipe:deleted', ioRecipeDeleted);16registerEventToAction('recipe:pinned', ioRecipePinned);17registerEventToAction('recipe:unpinned', ioRecipeUnpinned);18registerActionToEvent(actionTypes.RECIPE_CREATE, 'recipe:create');19registerActionToEvent(actionTypes.RECIPE_DELETE, 'recipe:delete');20registerActionToEvent(actionTypes.RECIPE_START, 'recipe:start');21registerActionToEvent(actionTypes.RECIPE_PIN, 'recipe:pin');22registerActionToEvent(actionTypes.RECIPE_UNPIN, 'recipe:unpin');23registerEventToAction('run:created', ioRunSet);24registerEventToAction('run:begin', ioRunSet);25registerEventToAction('run:end', ioRunSet);26registerEventToAction('run:deleted', ioRunDeleted);27registerEventToAction('run:log', ioRunLog);28registerActionToEvent(actionTypes.FILE_DELETE, 'file:delete');29registerEventToAction('file:created', ioFileSet);30registerEventToAction('file:updated', ioFileSet);31registerEventToAction('file:deleted', ioFileDeleted);32// ---33function registerEventToAction(eventName, action) {34 eventToActionMap[eventName] = action;35}36function registerActionToEvent(actionType, eventName) {37 actionToEventMap[actionType] = eventName;38}39export default (/*store*/) => next => {40 const socket = io();41 socket.on('connect', () => next(ioOnlineSet(true)));42 socket.on('disconnect', () => next(ioOnlineSet(false)));43 for(const [eventName, action] of Object.entries(eventToActionMap)) {44 socket.on(eventName, payload => next(action(payload)));45 }46 return action => {47 next(action);48 const eventName = actionToEventMap[action.type];49 if(!eventName) {50 return;51 }52 socket.emit(eventName, action.payload);53 };...
io.js
Source: io.js
1'use strict';2const λ = require('fantasy-check/src/adapters/nodeunit');3const applicative = require('fantasy-check/src/laws/applicative');4const functor = require('fantasy-check/src/laws/functor');5const monad = require('fantasy-check/src/laws/monad');6const helpers = require('fantasy-helpers');7const Identity = require('fantasy-identities');8const {Tuple2} = require('fantasy-tuples');9const {constant, identity} = require('fantasy-combinators');10const IO = require('../fantasy-io');11function run(a) {12 return a.unsafePerform();13}14exports.io = {15 // Applicative Functor tests16 'All (Applicative)': applicative.laws(λ)(IO, run),17 'Identity (Applicative)': applicative.identity(λ)(IO, run),18 'Composition (Applicative)': applicative.composition(λ)(IO, run),19 'Homomorphism (Applicative)': applicative.homomorphism(λ)(IO, run),20 'Interchange (Applicative)': applicative.interchange(λ)(IO, run),21 // Functor tests22 'All (Functor)': functor.laws(λ)(IO.of, run),23 'Identity (Functor)': functor.identity(λ)(IO.of, run),24 'Composition (Functor)': functor.composition(λ)(IO.of, run),25 // Monad tests26 'All (Monad)': monad.laws(λ)(IO, run),27 'Left Identity (Monad)': monad.leftIdentity(λ)(IO, run),28 'Right Identity (Monad)': monad.rightIdentity(λ)(IO, run),29 'Associativity (Monad)': monad.associativity(λ)(IO, run)...
pricing-override-script.js
Source: pricing-override-script.js
1jQuery(document).ready(function( $ ) {2 3 var ajaxurl = '/wp-admin/admin-ajax.php';4 5 $('body').on('click','#io_run_import', function(e){6 var io_run_import = $('#io_run_import');7 io_run_import.hide();8 $('#io_response').html('Running script, please wait, it might take a minute.');9 10 $.ajax({11 url: ajaxurl,12 type: 'POST',13 dataType: 'json',14 data: { 15 action:'import_price_overrides'16 },17 success:function(response) {18 console.log(response.status);19 if(response.status=='success') {20 $('#io_response').html('done.');21 } else {22 $('#io_response').html(response.message);23 }24 },25 error: function(errorThrown){26 console.log(errorThrown);27 $('#io_response').html('There was an error processing your request.');28 }29 });30 31 e.preventDefault();32 });...
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: 'example.png' });7 await browser.close();8})();9const { chromium } = require('playwright');10(async () => {11 const browser = await chromium.launch();12 const context = await browser.newContext();13 const page = await context.newPage();14 await page.screenshot({ path: 'example.png' });15 await browser.close();16})();17const { chromium } = require('playwright');18(async () => {19 const browser = await chromium.launch();20 const context = await browser.newContext();21 const page = await context.newPage();22 await page.screenshot({ path: 'example.png' });23 await browser.close();24})();25const { chromium } = require('playwright');26(async () => {27 const browser = await chromium.launch();28 const context = await browser.newContext();29 const page = await context.newPage();30 await page.screenshot({ path: 'example.png' });31 await browser.close();32})();33const { chromium } = require('playwright');34(async () => {35 const browser = await chromium.launch();36 const context = await browser.newContext();37 const page = await context.newPage();38 await page.screenshot({ path: 'example.png' });39 await browser.close();40})();41const { chromium } = require('playwright');42(async () => {43 const browser = await chromium.launch();44 const context = await browser.newContext();45 const page = await context.newPage();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: 'example.png' });7 await browser.close();8})();9const { chromium } = require('playwright');10(async () => {11 const browser = await chromium.launch();12 const context = await browser.newContext();13 const page = await context.newPage();14 await page.screenshot({ path: 'example.png' });15 await browser.close();16})();17const { chromium } = require('playwright');18(async () => {19 const browser = await chromium.launch();20 const context = await browser.newContext();21 const page = await context.newPage();22 await page.screenshot({ path: 'example.png' });23 await browser.close();24})();25const { chromium } = require('playwright');26(async () => {27 const browser = await chromium.launch();28 const context = await browser.newContext();29 const page = await context.newPage();30 await page.screenshot({ path: 'example.png' });31 await browser.close();32})();33const { chromium } = require('playwright');34(async () => {35 const browser = await chromium.launch();36 const context = await browser.newContext();37 const page = await context.newPage();38 await page.screenshot({ path: 'example.png' });39 await browser.close();40})();41const { chromium } = require('playwright');42(async () => {43 const browser = await chromium.launch();44 const context = await browser.newContext();45 const page = await context.newPage();
Using AI Code Generation
1const playwright = require('playwright');2(async () => {3 const browser = await playwright.chromium.launch();4 const page = await browser.newPage();5 await page.screenshot({ path: 'example.png' });6 await browser.close();7})();8const playwright = require('playwright');9(async () => {10 const browser = await playwright.chromium.launch();11 const page = await browser.newPage();12 await page.screenshot({ path: 'example.png' });13 await browser.close();14})();15const playwright = require('playwright');16(async () => {17 const browser = await playwright.chromium.launch();18 const page = await browser.newPage();19 await page.screenshot({ path: 'example.png' });20 await browser.close();21})();22const playwright = require('playwright');23(async () => {24 const browser = await playwright.chromium.launch();25 const page = await browser.newPage();26 await page.screenshot({ path: 'example.png' });27 await browser.close();28})();29const playwright = require('playwright');30(async () => {31 const browser = await playwright.chromium.launch();32 const page = await browser.newPage();33 await page.screenshot({ path: 'example.png' });34 await browser.close();35})();36const playwright = require('playwright');37(async () => {38 const browser = await playwright.chromium.launch();39 const page = await browser.newPage();40 await page.screenshot({ path: 'example.png' });41 await browser.close();42})();43const playwright = require('playwright');44(async () => {45 const browser = await playwright.chromium.launch();46 const page = await browser.newPage();47 await page.screenshot({ path: 'example.png' });48 await browser.close();
Using AI Code Generation
1const io = require('playwright/lib/server/browserContext').io;2const path = require('path');3const fs = require('fs');4const { chromium } = require('playwright');5(async () => {6 const browser = await chromium.launch();7 const page = await browser.newPage();8 await page.screenshot({ path: 'google.png' });9 await browser.close();10})();11const io = require('playwright/lib/server/browserContext').io;12const path = require('path');13const fs = require('fs');14const { chromium } = require('playwright');15(async () => {16 const browser = await chromium.launch();17 const page = await browser.newPage();18 await page.screenshot({ path: 'google.png' });19 await browser.close();20})();21const io = require('playwright/lib/server/browserContext').io;22const path = require('path');23const fs = require('fs');24const { chromium } = require('playwright');25(async () => {26 const browser = await chromium.launch();27 const page = await browser.newPage();28 await page.screenshot({ path: 'google.png' });29 await browser.close();30})();31const io = require('playwright/lib/server/browserContext').io;32const path = require('path');33const fs = require('fs');34const { chromium } = require('playwright');35(async () => {36 const browser = await chromium.launch();37 const page = await browser.newPage();38 await page.screenshot({ path: 'google.png' });39 await browser.close();40})();41const io = require('playwright/lib/server/browserContext').io;42const path = require('path');43const fs = require('fs');44const { chromium } = require('playwright');45(async () => {46 const browser = await chromium.launch();47 const page = await browser.newPage();48 await page.screenshot({ path: 'google.png' });49 await browser.close();50})();
Using AI Code Generation
1const { io } = require('playwright');2const fs = require('fs');3const path = require('path');4const file = fs.createWriteStream(path.join(__dirname, 'test.txt'));5io.run(async () => {6 const body = await response.body();7 body.pipeTo(file);8});9The io.fetch() method is used to fetch the resource from the URL. It returns a Promise that resolves to a Response object
Using AI Code Generation
1const io = require('playwright/lib/utils/stdio.js');2const { spawn } = require('child_process');3const child = spawn('node', ['child.js'], {4});5child.on('message', (msg) => {6 console.log('msg from child', msg);7});8child.on('exit', (code) => {9 console.log(`child process exited with code ${code}`);10});11const io = require('playwright/lib/utils/stdio.js');12const { spawn } = require('child_process');13const child = spawn('node', ['child.js'], {14});15child.on('message', (msg) => {16 console.log('msg from child', msg);17});18child.on('exit', (code) => {19 console.log(`child process exited with code ${code}`);20});21const io = require('playwright/lib/utils/stdio.js');22const { spawn } = require('child_process');23const child = spawn('node', ['child.js'], {24});25child.on('message', (msg) => {26 console.log('msg from child', msg);27});28child.on('exit', (code) => {29 console.log(`child process exited with code ${code}`);30});31const io = require('playwright/lib/utils/stdio.js');32const { spawn } = require('child_process');33const child = spawn('node', ['child.js'], {34});35child.on('message', (msg) => {36 console.log('msg from child', msg);37});38child.on('exit', (code) => {39 console.log(`child process exited with code ${code}`);40});41const io = require('playwright/lib/utils/stdio.js');42const { spawn } = require('child_process');43const child = spawn('node', ['child.js'], {44});
Using AI Code Generation
1const { io } = require('playwright');2(async () => {3 console.log(await io.run('ls', ['-l', '/usr']));4})();5const { io } = require('playwright');6(async () => {7 await io.mkdir('/tmp/foo');8})();9const { io } = require('playwright');10(async () => {11 await io.mkdir('/tmp/foo', { recursive: true });12})();13const { io } = require('playwright');14(async () => {15 await io.mkdir('/tmp/foo', { recursive: true, mode: 0o777 });16})();17const { io } = require('playwright');18(async () => {19 await io.mkdir('/tmp/foo', { recursive: true, mode: 0o777, force: true });20})();21const { io } = require('playwright');22(async () => {23 await io.mkdir('/tmp/foo', { recursive: true, mode: 0o777, force: true, noErrorIfExist: true });24})();25const { io } = require('playwright');26(async () => {27 await io.mkdir('/tmp/foo', { recursive: true, mode: 0o777, force: true, noErrorIfExist: true, noErrorIfNotDir: true });28})();29const { io } = require('playwright');30(async () => {31 await io.mkdir('/tmp/foo', { recursive: true, mode: 0o777, force: true, noErrorIfExist: true, noErrorIfNotDir: true, noErrorIfNotEmpty: true });32})();33const { io } = require('playwright');34(async () => {35 await io.mkdir('/tmp/foo', { recursive: true, mode:
Using AI Code Generation
1const { io } = require('playwright');2(async () => {3 await io.run(async () => {4 await io.mkdir('mydir');5 });6})();7const { io } = require('playwright');8(async () => {9 await io.run(async () => {10 await io.mkdir('mydir');11 });12})();13const { io } = require('playwright');14(async () => {15 await io.run(async () => {16 await io.mkdir('mydir');17 });18})();19const { io } = require('playwright');20(async () => {21 await io.run(async () => {22 await io.mkdir('mydir');23 });24})();25const { io } = require('playwright');26(async () => {27 await io.run(async () => {28 await io.mkdir('mydir');29 });30})();31const { io } = require('playwright');32(async () => {33 await io.run(async () => {34 await io.mkdir('mydir');35 });36})();37const { io } = require('playwright');38(async () => {39 await io.run(async () => {40 await io.mkdir('mydir');41 });42})();43const { io } = require('playwright');44(async () => {45 await io.run(async () => {46 await io.mkdir('mydir');47 });48})();49const { io } = require('playwright');50(async () => {51 await io.run(async () => {
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!!