Best JavaScript code snippet using testcafe
nw-winstate.js
Source:nw-winstate.js
...50 currWinMode = winState.mode;51 if (currWinMode === 'maximized') {52 win.maximize();53 } else {54 restoreWindowState();55 }56 } else {57 currWinMode = 'normal';58 dumpWindowState();59 }60 win.show();61 //}62 }63 function dumpWindowState() {64 if (!winState) {65 winState = {};66 }67 // we don't want to save minimized state, only maximized or normal68 if (currWinMode === 'maximized') {69 winState.mode = 'maximized';70 } else {71 winState.mode = 'normal';72 }73 // when window is maximized you want to preserve normal74 // window dimensions to restore them later (even between sessions)75 if (currWinMode === 'normal') {76 winState.x = win.appWindow.outerBounds.left;77 winState.y = win.appWindow.outerBounds.top;78 winState.width = win.appWindow.outerBounds.width;79 winState.height = win.appWindow.outerBounds.height;80 // save delta only of it is not zero81 if (deltaHeight !== 'disabled' && deltaHeight !== 0 && currWinMode !== 'maximized') {82 winState.deltaHeight = deltaHeight;83 }84 }85 }86 function restoreWindowState() {87 // deltaHeight already saved, so just restore it and adjust window height88 if (deltaHeight !== 'disabled' && typeof winState.deltaHeight !== 'undefined') {89 deltaHeight = winState.deltaHeight;90 winState.height = winState.height - deltaHeight;91 }92 //Make sure that the window is displayed somewhere on a screen that is connected to the PC. 93 //Imagine you run the program on a secondary screen connected to a laptop - and then the next time you start the 94 //program the screen is not connected...95 gui.Screen.Init();96 var screens = gui.Screen.screens;97 var locationIsOnAScreen = false;98 for (var i = 0; i < screens.length; i++) {99 var screen = screens[i];100 if (winState.x > screen.bounds.x && winState.x < screen.bounds.x + screen.bounds.width) {101 if (winState.y > screen.bounds.y && winState.y < screen.bounds.y + screen.bounds.height) {102 console.debug("Location of window (" + winState.x + "," + winState.y + ") is on screen " + JSON.stringify(screen));103 locationIsOnAScreen = true;104 }105 }106 }107 if (!locationIsOnAScreen) {108 console.debug("Last saved position of windows is not usable on current monitor setup. Moving window to center!");109 win.setPosition("center");110 }111 else {112 win.resizeTo(winState.width, winState.height);113 win.moveTo(winState.x, winState.y);114 }115 }116 function saveWindowState() {117 dumpWindowState();118 localStorage.windowState = JSON.stringify(winState);119 }120 window.saveWindowState = saveWindowState;121 initWindowState();122 win.on('maximize', function () {123 isMaximizationEvent = true;124 currWinMode = 'maximized';125 saveWindowState();126 });127 win.on('unmaximize', function () {128 currWinMode = 'normal';129 restoreWindowState();130 saveWindowState();131 });132 win.on('minimize', function () {133 currWinMode = 'minimized';134 saveWindowState();135 });136 win.on('restore', function () {137 currWinMode = 'normal';138 saveWindowState();139 });140 win.window.addEventListener('resize', function () {141 // resize event is fired many times on one resize action,142 // this hack with setTiemout forces it to fire only once143 clearTimeout(resizeTimeout);...
window-state.js
Source:window-state.js
...37 currWinMode = winState.mode;38 if (currWinMode === 'maximized') {39 win.maximize();40 } else {41 restoreWindowState();42 }43 } else {44 currWinMode = 'normal';45 if (deltaHeight !== 'disabled') deltaHeight = 0;46 dumpWindowState();47 }48 win.show();49}50function dumpWindowState() {51 if (!winState) {52 winState = {};53 }54 // we don't want to save minimized state, only maximized or normal55 if (currWinMode === 'maximized') {56 winState.mode = 'maximized';57 } else {58 winState.mode = 'normal';59 }60 // when window is maximized you want to preserve normal61 // window dimensions to restore them later (even between sessions)62 if (currWinMode === 'normal') {63 winState.x = win.x;64 winState.y = win.y;65 winState.width = win.width;66 winState.height = win.height;67 // save delta only of it is not zero68 if (deltaHeight !== 'disabled' && deltaHeight !== 0 && currWinMode !== 'maximized') {69 winState.deltaHeight = deltaHeight;70 }71 }72}73function restoreWindowState() {74 // deltaHeight already saved, so just restore it and adjust window height75 if (deltaHeight !== 'disabled' && typeof winState.deltaHeight !== 'undefined') {76 deltaHeight = winState.deltaHeight77 winState.height = winState.height - deltaHeight78 }79 win.resizeTo(winState.width, winState.height);80 win.moveTo(winState.x, winState.y);81}82function saveWindowState() {83 dumpWindowState();84 localStorage.windowState = JSON.stringify(winState);85}86initWindowState();87win.on('maximize', function () {88 isMaximizationEvent = true;89 currWinMode = 'maximized';90});91win.on('unmaximize', function () {92 currWinMode = 'normal';93 restoreWindowState();94});95win.on('minimize', function () {96 currWinMode = 'minimized';97});98win.on('restore', function () {99 currWinMode = 'normal';100});101win.window.addEventListener('resize', function () {102 // resize event is fired many times on one resize action,103 // this hack with setTiemout forces it to fire only once104 clearTimeout(resizeTimeout);105 resizeTimeout = setTimeout(function () {106 // on MacOS you can resize maximized window, so it's no longer maximized107 if (isMaximizationEvent) {...
winstate.js
Source:winstate.js
...33 win.maximize();34 } else if (currWinMode === 'fullscreen') {35 win.enterFullscreen();36 } else {37 restoreWindowState();38 }39 } else {40 currWinMode = 'normal';41 deltaHeight = 042 dumpWindowState();43 }44 win.show();45}46function dumpWindowState() {47 if (!winState) {48 winState = {};49 }50 // we don't want to save minimized state, only maximized or normal51 if (currWinMode === 'maximized' || currWinMode == 'fullscreen') {52 winState.mode = currWinMode;53 } else {54 winState.mode = 'normal';55 }56 // when window is maximized you want to preserve normal57 // window dimensions to restore them later (even between sessions)58 if (currWinMode === 'normal') {59 winState.x = win.x;60 winState.y = win.y;61 winState.width = win.width;62 winState.height = win.height;63 // save delta only of it is not zero64 if (deltaHeight !== 0 && currWinMode !== 'maximized' && currWinMode !== 'fullscreen') {65 winState.deltaHeight = deltaHeight;66 }67 }68}69function restoreWindowState() {70 // deltaHeight already saved, so just restore it and adjust window height71 if (typeof winState.deltaHeight !== 'undefined') {72 deltaHeight = winState.deltaHeight73 winState.height = winState.height - deltaHeight74 }75 win.resizeTo(winState.width, winState.height);76 win.moveTo(winState.x, winState.y);77}78function saveWindowState() {79 dumpWindowState();80 localStorage.setItem('windowState', JSON.stringify(winState));81}82initWindowState();83win.on('maximize', function () {84 isMaximizationEvent = true;85 currWinMode = 'maximized';86});87win.on('unmaximize', function () {88 currWinMode = 'normal';89 restoreWindowState();90});91win.on('enter-fullscreen', function () {92 isMaximizationEvent = true;93 currWinMode = 'fullscreen';94});95win.on('leave-fullscreen', function () {96 currWinMode = 'normal';97 restoreWindowState();98});99win.on('minimize', function () {100 currWinMode = 'minimized';101});102win.on('restore', function () {103 currWinMode = 'normal';104});105$(window).on('resize', $.debounce(500, function () {106 // on MacOS you can resize maximized window, so it's no longer maximized107 if (isMaximizationEvent) {108 // first resize after maximization event should be ignored109 isMaximizationEvent = false;110 } else {111 if (currWinMode === 'maximized' || currWinMode === 'fullscreen') {...
window.js
Source:window.js
...61 }62 get win() {63 return this._win;64 }65 restoreWindowState(state) {66 // TODO: @pikun67 return exports.defaultWindowState();68 }69 createBrowserWindow(config) {70 this.windowState = this.restoreWindowState(config.state);71 const options = {72 width: this.windowState.width,73 height: this.windowState.height,74 backgroundColor: "#ffffff",75 minWidth: TWindow.MIN_WIDTH,76 minHeight: TWindow.MIN_HEIGHT,77 show: true,78 title: 'electron',79 webPreferences: {80 // By default if Code is in the background, intervals and timeouts get throttled, so we81 // want to enforce that Code stays in the foreground. This triggers a disable_hidden_82 // flag that Electron provides via patch:83 // https://github.com/electron/libchromiumcontent/blob/master/patches/common/chromium/disable_hidden.patch84 backgroundThrottling: false,...
win_state.min.js
Source:win_state.min.js
1var winState, currWinMode, resizeTimeout, isMaximizationEvent = !1, deltaHeight = gui.App.manifest.window.frame ? 0 : "disabled";2function initWindowState() {3 ("function" != typeof win.isDevToolsOpen || win.isDevToolsOpen()) && void 0 !== win.isDevToolsOpen || ((winState = JSON.parse(localStorage.windowState || "null")) ? (currWinMode = winState.mode, 4 restoreWindowState(), "maximized" === currWinMode && ("darwin" === process.platform ? win.enterFullscreen() : win.maximize())) : (currWinMode = "normal", 5 win.setPosition("center")));6}7function dumpWindowState() {8 (winState = winState || {}).mode = "maximized" === currWinMode ? "maximized" : "normal", 9 "normal" === currWinMode && (winState.x = win.x, winState.y = win.y, winState.width = win.width, 10 winState.height = win.height, "disabled" !== deltaHeight && 0 !== deltaHeight && "maximized" !== currWinMode && (winState.deltaHeight = deltaHeight));11}12function restoreWindowState() {13 "disabled" !== deltaHeight && void 0 !== winState.deltaHeight && (deltaHeight = winState.deltaHeight, 14 winState.height = winState.height - deltaHeight), gui.Screen.Init();15 for (var screens = gui.Screen.screens, locationIsOnAScreen = !1, i = 0; i < screens.length; i++) {16 var screen = screens[i];17 winState.x > screen.bounds.x && winState.x < screen.bounds.x + screen.bounds.width && winState.y > screen.bounds.y && winState.y < screen.bounds.y + screen.bounds.height && (console.debug("Location of window (" + winState.x + "," + winState.y + ") is on screen " + JSON.stringify(screen)), 18 locationIsOnAScreen = !0);19 }20 locationIsOnAScreen ? (win.resizeTo(winState.width, winState.height), win.moveTo(winState.x, winState.y)) : (console.debug("Last saved position of windows is not usable on current monitor setup. Moving window to center!"), 21 win.setPosition("center"));22}23function saveWindowState() {24 dumpWindowState(), localStorage.windowState = JSON.stringify(winState);25}26initWindowState(), win.on("maximize", function() {...
openFinResize.service.js
Source:openFinResize.service.js
...25 fin.desktop.main(function() {26 finWindow = fin.desktop.Window.getCurrent();27 turnOnResizeListener();28 if (document.readyState === "complete") {29 restoreWindowState();30 } else {31 document.addEventListener("readystatechange", function() {32 document.readyState === "complete" && restoreWindowState();33 });34 }35 });36 };37 /**38 * Switches application to compact mode39 */40 this.switchToCompactMode = function () {41 if (finWindow) {42 finWindow.restore();43 finWindow.resizeTo(400, 775, "bottom-right");44 }45 };46 /**47 * Maximizes the window48 */49 this.maximize = function () {50 finWindow && finWindow.maximize();51 };52 /**53 * Checks if the window is maximized54 * @return Promise55 */56 function isMaximized() {57 return $q(function (resolve) {58 // this method is called when OpenFin is certainly initialized so self.finWindow exists and59 // additional checks are not required60 finWindow.getState(function (state) {61 resolve(state === 'maximized');62 });63 });64 }65 /**66 * Restores window maximized state if it needs67 */68 function restoreWindowState() {69 if ($localStorage.isFinWindowMaximized) {70 isMaximized().then(function (isMaximized) {71 !isMaximized && self.maximize();72 });73 }74 }75 /**76 * Adds window resize handler to remember maximized flag in local storage77 */78 function turnOnResizeListener() {79 // Openfin doesn't remember maximized window state,80 // e.g. when user switched from compact to fullscreen mode81 $window.addEventListener('resize', function () {82 isMaximized().then(function (isMaximized) {...
index-test.js
Source:index-test.js
...9 await saveWindowState(t);10 await t.maximizeWindow();11 })12 .after(async t => {13 await restoreWindowState(t);14 })15 ("Shouldn't scroll to target parent while performing click", async t => {16 const oldWindowScrollValue = await getWindowScrollTop();17 await t.click('#child');18 const newWindowScrollValue = await getWindowScrollTop();19 expect(newWindowScrollValue).eql(oldWindowScrollValue);...
remember-window-state.js
Source:remember-window-state.js
1function rememberVisibilityState(payload) {2 // store state in localStorage3 sessionStorage.setItem('twc_last_state', payload.visibility);4}5function restoreWindowState() {6 // get window state from localStorage7 const lastState = sessionStorage.getItem('twc_last_state');8 // by default keep window minimized9 if (lastState === 'maximized') {10 TeneoWebChat.call('maximize');11 } else {12 TeneoWebChat.call('minimized');13 } 14}15TeneoWebChat.on('visibility_changed', rememberVisibilityState);...
Using AI Code Generation
1import { restoreWindowState, saveWindowState } from 'testcafe-browser-tools';2 .beforeEach(async t => {3 await saveWindowState(t);4 })5 .afterEach(async t => {6 await restoreWindowState(t);7 });8test('My test', async t => {9});10saveWindowState( t ) → Promise11restoreWindowState( t ) → Promise
Using AI Code Generation
1import { restoreWindowState, saveWindowState } from 'testcafe-browser-tools';2 .beforeEach(async () => {3 await saveWindowState();4 })5 .afterEach(async () => {6 await restoreWindowState();7 });8test('My Test', async t => {9});
Using AI Code Generation
1import { restoreWindowState, saveWindowState } from "testcafe-browser-tools";2 .beforeEach(async t => {3 await saveWindowState(t);4 })5 .afterEach(async t => {6 await restoreWindowState(t);7 });8test('My test', async t => {9});10TestCafe Browser Tools is released under the [MIT](
Using AI Code Generation
1import { Selector } from 'testcafe';2test('Restore Window State', async t => {3 .maximizeWindow()4 .click('#tried-test-cafe')5 .click('#populate')6 .click('#submit-button')7 .takeScreenshot()8 .resizeWindow(200, 200)9 .takeScreenshot()10 .resizeWindow(600, 600)11 .takeScreenshot()12 .resizeWindow(1000, 1000)13 .takeScreenshot()14 .maximizeWindow()15 .takeScreenshot()
Using AI Code Generation
1import { restoreWindowState, saveWindowState } from 'testcafe-browser-tools';2 .beforeEach(async t => {3 await saveWindowState(t);4 })5 .afterEach(async t => {6 await restoreWindowState(t);7 });8test('Restore Window State', async t => {9 .resizeWindow(1000, 500)10 .click('#btn')11 .expect(Selector('#btn').visible).ok();12});13saveWindowState( t ) → Promise14restoreWindowState( t ) → Promise15* Microsoft Edge (legacy and Chromium-based)
Using AI Code Generation
1import { ClientFunction } from 'testcafe';2test('Restore Window State Test', async t => {3 .resizeWindow(1000, 800)4 .typeText('#developer-name', 'Testcafe')5 .click('#windows')6 .click('#submit-button');7 const getWindowLocation = ClientFunction(() => ({8 }));9 const windowLocation = await getWindowLocation();10 await t.expect(windowLocation.width).eql(1000);11 await t.expect(windowLocation.height).eql(800);12});13#### ClientFunction(fn [, options])14#### ClientFunction.with(options)15#### ClientFunction(fn [, options]).with(options)
Using AI Code Generation
1import { ClientFunction } from 'testcafe';2const getWindowState = ClientFunction(() => window.testCafeDriver.get().getCurrentWindow().getState());3const restoreWindowState = ClientFunction(() => window.testCafeDriver.get().getCurrentWindow().restore());4test('Test', async t => {5 .click('#myButton')6 .expect(getWindowState()).eql('maximized')7 .click('#myButton')8 .expect(getWindowState()).eql('normal')9 .click('#myButton')10 .expect(getWindowState()).eql('minimized')11 .click('#myButton')12 .expect(getWindowState()).eql('normal');13});
Using AI Code Generation
1import { restoreWindowState, saveWindowState } from 'testcafe-browser-tools';2test('test', async t => {3 await saveWindowState(t);4 await t.click('#some-element');5 await restoreWindowState(t);6});7saveWindowState( t )8import { saveWindowState } from 'testcafe-browser-tools';9test('test', async t => {10 await saveWindowState(t);11});12restoreWindowState( t )13import { restoreWindowState } from 'testcafe-browser-tools';14test('test', async t => {15 await restoreWindowState(t);16});17maximizeWindow( t )18import { maximizeWindow } from 'testcafe-browser-tools';19test('test', async t => {20 await maximizeWindow(t);21});22resizeWindow( t, width, height )23import { resizeWindow } from 'testcafe-browser-tools';24test('test', async t => {
Using AI Code Generation
1test('My test', async t => {2});3### setWindowSize(width, height, currentWindow)4### maximizeWindow(currentWindow)5### resizeWindowToFitDevice(deviceName, currentWindow)6### close(currentWindow)7### takeScreenshot(path, currentWindow)8### getActiveWindow()9### getWindows()10### getWindowTitle(currentWindow)11### getActiveWindowId()12### getWindowTitle(currentWindow)
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!