Best JavaScript code snippet using appium-xcuitest-driver
Paging.js
Source:Paging.js
...157 expect(tb.getStore()).toBe(store); 158 });159 it("should update the toolbar info if the store is already loaded at render time", function() {160 store = makeStore();161 store.loadPage(2);162 mockComplete(makeData(20, 5));163 makeToolbar({164 store: store165 });166 expect(tb.down('#inputItem').getValue()).toBe(2);167 });168 it("should display the correct number of total pages", function() {169 store = makeStore();170 store.loadPage(1);171 mockComplete(makeData(20, 10));172 makeToolbar({173 store: store174 });175 expect(tb.down('#afterTextItem').el.dom.innerHTML).toBe('of 4');176 });177 it("should update the toolbar info when binding a new store", function() {178 makeToolbar();179 store = makeStore();180 store.loadPage(3);181 mockComplete(makeData(20, 10));182 tb.bindStore(store);183 expect(tb.down('#inputItem').getValue()).toBe(3);184 });185 it("should display the correct info for pageSize 0", function() {186 store = makeStore(0);187 store.load();188 mockComplete(makeData(20, 10));189 makeToolbar({190 store: store191 });192 expect(tb.getPageData()).toEqual({193 total: 20,194 currentPage: 1,195 pageCount: 1,196 fromRecord: 1,197 toRecord: 20198 });199 });200 });201 202 describe("child items", function() {203 it("should add items after the default buttons", function() {204 makeToolbar({205 items: [{206 xtype: 'button',207 itemId: 'foo'208 }]209 });210 expect(tb.items.last().getItemId()).toBe('foo');211 });212 213 it("should add items before the default buttons with prependButtons: true", function() {214 makeToolbar({215 prependButtons: true,216 items: [{217 xtype: 'button',218 itemId: 'foo'219 }]220 });221 expect(tb.items.first().getItemId()).toBe('foo');222 });223 224 it("should add the info display if displayInfo is true", function() {225 makeToolbar({226 displayInfo: true227 });228 var items = tb.items;229 expect(items.getAt(items.getCount() - 2).isXType('tbfill')).toBe(true);230 expect(items.last().getItemId()).toBe('displayItem');231 });232 });233 234 describe("disabling/enabling items", function() {235 function expectEnabled(id) {236 expectState(id, false);237 } 238 239 function expectDisabled(id) {240 expectState(id, true);241 } 242 243 function expectState(id, state) {244 expect(tb.child('#' + id).disabled).toBe(state);245 }246 247 it("should disable everything except refresh when the store hasn't been loaded", function() {248 makeToolbar();249 expectDisabled('first');250 expectDisabled('prev');251 expectDisabled('inputItem');252 expectDisabled('next');253 expectDisabled('last');254 expectEnabled('refresh');255 });256 257 describe("store loads before render", function() {258 it("should set the state if the store is loaded", function() {259 makeToolbar({}, true);260 store.load(); 261 mockComplete(makeData(20, 0));262 tb.render(Ext.getBody());263 expectDisabled('first');264 expectDisabled('prev');265 expectEnabled('inputItem');266 expectEnabled('next');267 expectEnabled('last');268 expectEnabled('refresh');269 });270 });271 272 describe("store loads after render", function() {273 it("should set the state if the store is loaded", function() {274 makeToolbar();275 store.load(); 276 mockComplete(makeData(20, 0));277 expectDisabled('first');278 expectDisabled('prev');279 expectEnabled('inputItem');280 expectEnabled('next');281 expectEnabled('last');282 expectEnabled('refresh');283 });284 });285 286 describe("based on current page", function() {287 it("should disable first/prev buttons on the first page", function() {288 makeToolbar();289 store.loadPage(1); 290 mockComplete(makeData(20, 0));291 expectDisabled('first');292 expectDisabled('prev');293 expectEnabled('inputItem');294 expectEnabled('next');295 expectEnabled('last');296 expectEnabled('refresh');297 });298 299 it("should disable next/last buttons on the last page", function() {300 makeToolbar();301 store.loadPage(4); 302 mockComplete(makeData(20, 0));303 expectEnabled('first');304 expectEnabled('prev');305 expectEnabled('inputItem');306 expectDisabled('next');307 expectDisabled('last');308 expectEnabled('refresh');309 });310 311 it("should enable all buttons when the page is not first or last", function() {312 makeToolbar();313 store.loadPage(2); 314 mockComplete(makeData(20, 0));315 expectEnabled('first');316 expectEnabled('prev');317 expectEnabled('inputItem');318 expectEnabled('next');319 expectEnabled('last');320 expectEnabled('refresh');321 });322 });323 324 describe("refresh icon", function() {325 it("should disable the refresh icon if the store is loading during construction", function() {326 makeStore();327 store.load();328 makeToolbar({329 store: store330 });331 expectDisabled('refresh');332 });333 334 it("should disable the refresh icon during a load", function() {335 makeToolbar();336 store.load();337 expectDisabled('refresh');338 });339 });340 341 describe("empty store", function() {342 it("should disable the inputItem & buttons", function() {343 makeToolbar();344 store.load();345 mockComplete(makeData(0, 0, 0));346 expectDisabled('first');347 expectDisabled('prev');348 expectDisabled('inputItem');349 expectDisabled('next');350 expectDisabled('last');351 expectEnabled('refresh');352 }); 353 });354 });355 356 describe("move/refresh methods", function() {357 var spy;358 beforeEach(function() {359 makeToolbar(); 360 store.load();361 mockComplete(makeData(20, 0));362 spy = jasmine.createSpy();363 });364 afterEach(function() {365 spy = null;366 });367 368 describe("moveFirst", function() {369 it("should fire the beforechange event with the toolbar & the new page", function() {370 tb.on('beforechange', spy);371 tb.moveFirst();372 expect(spy.mostRecentCall.args[0]).toBe(tb);373 expect(spy.mostRecentCall.args[1]).toBe(1);374 });375 376 it("should return false if the beforechange event is vetoed", function() {377 tb.on('beforechange', spy.andReturn(false));378 expect(tb.moveFirst()).toBe(false);379 });380 381 it("should return true & load the store with the first page", function() {382 spyOn(store, 'loadPage');383 expect(tb.moveFirst()).toBe(true);384 expect(store.loadPage.mostRecentCall.args[0]).toBe(1); 385 });386 });387 388 describe("movePrevious", function() {389 it("should fire the beforechange event with the toolbar & the new page", function() {390 tb.on('beforechange', spy);391 store.loadPage(3);392 mockComplete(makeData(20, 10));393 tb.movePrevious();394 expect(spy.mostRecentCall.args[0]).toBe(tb);395 expect(spy.mostRecentCall.args[1]).toBe(2);396 });397 398 it("should return false if moving to the previous page is not valid, the change event should not fire", function() {399 tb.on('beforechange', spy);400 expect(tb.movePrevious()).toBe(false);401 expect(spy).not.toHaveBeenCalled();402 });403 404 it("should return false if the beforechange event is vetoed", function() {405 tb.on('beforechange', spy.andReturn(false));406 expect(tb.movePrevious()).toBe(false);407 });408 409 it("should return true & load the store with the previous page", function() {410 spyOn(store, 'previousPage');411 store.loadPage(3);412 mockComplete(makeData(20, 10));413 expect(tb.movePrevious()).toBe(true);414 expect(store.previousPage).toHaveBeenCalled(); 415 });416 });417 418 describe("moveNext", function() {419 it("should fire the beforechange event with the toolbar & the new page", function() {420 tb.on('beforechange', spy);421 tb.moveNext();422 expect(spy.mostRecentCall.args[0]).toBe(tb);423 expect(spy.mostRecentCall.args[1]).toBe(2);424 });425 426 it("should return false if moving to the next page is not valid, the change event should not fire", function() {427 tb.on('beforechange', spy);428 store.loadPage(4);429 mockComplete(makeData(20, 15));430 expect(tb.moveNext()).toBe(false);431 expect(spy).not.toHaveBeenCalled();432 });433 434 it("should return false if the beforechange event is vetoed", function() {435 tb.on('beforechange', spy.andReturn(false));436 expect(tb.moveNext()).toBe(false);437 });438 439 it("should return true & load the store with the next page", function() {440 spyOn(store, 'nextPage');441 expect(tb.moveNext()).toBe(true);442 expect(store.nextPage).toHaveBeenCalled(); 443 });444 });445 446 describe("moveLast", function() {447 it("should fire the beforechange event with the toolbar & the new page", function() {448 tb.on('beforechange', spy);449 tb.moveLast();450 expect(spy.mostRecentCall.args[0]).toBe(tb);451 expect(spy.mostRecentCall.args[1]).toBe(4);452 });453 454 it("should return false if the beforechange event is vetoed", function() {455 tb.on('beforechange', spy.andReturn(false));456 expect(tb.moveLast()).toBe(false);457 });458 459 it("should return true & load the store with the last page", function() {460 spyOn(store, 'loadPage');461 expect(tb.moveLast()).toBe(true);462 expect(store.loadPage.mostRecentCall.args[0]).toBe(4); 463 });464 });465 466 describe("doRefresh", function() {467 it("should fire the beforechange event with the toolbar & the current page", function() {468 tb.on('beforechange', spy);469 tb.doRefresh();470 expect(spy.mostRecentCall.args[0]).toBe(tb);471 expect(spy.mostRecentCall.args[1]).toBe(1);472 });473 474 it("should return false if the beforechange event is vetoed", function() {475 tb.on('beforechange', spy.andReturn(false));476 expect(tb.doRefresh()).toBe(false);477 });478 479 it("should return true & load the store with the last page", function() {480 spyOn(store, 'loadPage');481 expect(tb.doRefresh()).toBe(true);482 expect(store.loadPage.mostRecentCall.args[0]).toBe(1); 483 });484 });485 });486 487 describe("change event", function() {488 var spy;489 beforeEach(function() {490 spy = jasmine.createSpy();491 });492 afterEach(function() {493 spy = null;494 });495 it("should fire the change event on load with the toolbar & pageData", function() {496 makeToolbar();497 tb.on('change', spy);498 store.loadPage(3);499 mockComplete(makeData(20, 10));500 expect(spy.mostRecentCall.args[0]).toBe(tb);501 expect(spy.mostRecentCall.args[1]).toEqual({502 total: 20,503 currentPage: 3,504 pageCount: 4,505 fromRecord: 11,506 toRecord: 15507 });508 }); 509 510 it("should not fire if configured with an empty store", function() {511 makeToolbar(undefined, true);512 tb.on('change', spy);513 tb.render(Ext.getBody());514 expect(spy).not.toHaveBeenCalled();515 });516 it("should provide empty pageData when a store loads empty", function() {517 makeToolbar();518 tb.on('change', spy);519 store.load();520 mockComplete('[]');521 expect(spy.mostRecentCall.args[0]).toBe(tb);522 expect(spy.mostRecentCall.args[1]).toEqual({523 total: 0,524 currentPage: 0,525 pageCount: 0,526 fromRecord: 0,527 toRecord: 0528 });529 });530 });531 532 // Opera has a problem handling key specs533 (Ext.isOpera ? xdescribe : describe)("inputItem", function() {534 var TAB = 9,535 ENTER = 13,536 ESC = 27,537 PAGE_UP = 33,538 PAGE_DOWN = 34,539 END = 35,540 HOME = 36,541 LEFT = 37,542 UP = 38,543 RIGHT = 39,544 DOWN = 40;545 546 function triggerKeyEvent(key) {547 var dom = tb.down('#inputItem').inputEl.dom;548 dom.focus();549 jasmine.fireKeyEvent(dom, keyEvent, key);550 }551 552 it("should set the value to the new page on load", function() {553 makeToolbar();554 store.loadPage(3);555 mockComplete(makeData(20, 10));556 expect(tb.getInputItem().getValue()).toBe(3);557 });558 559 it("should set the value to the current page on blur", function() {560 makeToolbar();561 var input = tb.getInputItem();562 // Will auto disable if not attached to a Store. Programatically enable so that it will focus and blur.563 input.enable();564 input.focus();565 566 waitsFor(function() {567 return input.hasFocus;568 });569 runs(function() {570 input.setValue(4);571 input.blur();572 });573 // After the blur events gets done, it should have reverted to the current page574 waitsFor(function() {575 return input.getValue() === 1;576 });577 });578 579 describe('reconfiguring a grid using buffered rendering and grouping', function () {580 // This test demonstrates that the paging toolbar will update its input item when the grid581 // is configured in a very specific way.582 //583 // This bug only is reproducible when reconfigure is called on a grid with the buffered584 // renderer plugin and grouping feature. The bug was that the buffered renderer plugin585 // would bind the data store to the plugin rather than the group store (created when586 // there's a grouping feature). See Ext.grid.plugin.BufferedRenderer:bindStore().587 //588 // See EXTJSIV-11860 and EXTJSIV-11892.589 var grid;590 afterEach(function () {591 grid.destroy();592 grid = null;593 });594 it('should update the input item when paging', function () {595 grid = Ext.create('Ext.grid.Panel', {596 width: 100,597 height: 100,598 store: makeStore(),599 features: [{ftype:'grouping'}],600 columns:[{601 text: 'Name',602 dataIndex: 'name',603 width: 100604 }],605 bbar: makeToolbar(undefined, true),606 renderTo: Ext.getBody()607 });608 grid.reconfigure(store);609 store.loadPage(3);610 mockComplete(makeData(20, 10));611 expect(tb.getInputItem().getValue()).toBe(3);612 });613 });614 describe("keypress", function() {615 it("should set the value to the first page on home", function() {616 makeToolbar();617 store.loadPage(3);618 mockComplete(makeData(100, 10));619 triggerKeyEvent(HOME);620 expect(tb.getInputItem().getValue()).toBe(1);621 });622 623 it("should set the value to the last page on end", function() {624 makeToolbar();625 store.loadPage(1);626 mockComplete(makeData(20, 0));627 triggerKeyEvent(END);628 expect(tb.getInputItem().getValue()).toBe(4);629 });630 631 describe("down", function() {632 it("should set the value to the previous page on pagedown", function() {633 makeToolbar();634 store.loadPage(3);635 mockComplete(makeData(20, 10));636 triggerKeyEvent(PAGE_DOWN);637 expect(tb.getInputItem().getValue()).toBe(2);638 });639 640 it("should set the value to the previous page on down", function() {641 makeToolbar();642 store.loadPage(3);643 mockComplete(makeData(20, 10));644 triggerKeyEvent(DOWN);645 expect(tb.getInputItem().getValue()).toBe(2);646 });647 648 describe("shift", function() {649 it("should not change the page if it will go over the limit with pagedown", function() {650 makeToolbar();651 store.loadPage(3);652 mockComplete(makeData(20, 10));653 var spy = spyOn(tb, 'processKeyEvent').andCallFake(function(field, e) {654 e.shiftKey = true;655 Ext.toolbar.Paging.prototype.processKeyEvent.call(tb, field, e);656 });657 triggerKeyEvent(PAGE_DOWN);658 expect(tb.getInputItem().getValue()).toBe(3);659 });660 661 it("should not change the page if it will go over the limit with down", function() {662 makeToolbar();663 store.loadPage(3);664 mockComplete(makeData(20, 10));665 spyOn(tb, 'processKeyEvent').andCallFake(function(field, e) {666 e.shiftKey = true;667 Ext.toolbar.Paging.prototype.processKeyEvent.call(tb, field, e);668 });669 triggerKeyEvent(DOWN);670 expect(tb.getInputItem().getValue()).toBe(3);671 });672 673 it("should decrement by 10 when using shift + pagedown", function() {674 makeToolbar();675 store.loadPage(15);676 mockComplete(makeData(100, 75));677 spyOn(tb, 'processKeyEvent').andCallFake(function(field, e) {678 e.shiftKey = true;679 Ext.toolbar.Paging.prototype.processKeyEvent.call(tb, field, e);680 });681 triggerKeyEvent(PAGE_DOWN);682 expect(tb.getInputItem().getValue()).toBe(5);683 });684 685 it("should decrement by 10 when using shift + down", function() {686 makeToolbar();687 store.loadPage(15);688 mockComplete(makeData(100, 75));689 spyOn(tb, 'processKeyEvent').andCallFake(function(field, e) {690 e.shiftKey = true;691 Ext.toolbar.Paging.prototype.processKeyEvent.call(tb, field, e);692 });693 triggerKeyEvent(DOWN);694 expect(tb.getInputItem().getValue()).toBe(5);695 });696 });697 });698 699 describe("up", function() {700 it("should set the value to the next page on pageup", function() {701 makeToolbar();702 store.loadPage(3);703 mockComplete(makeData(20, 10));704 triggerKeyEvent(PAGE_UP);705 expect(tb.getInputItem().getValue()).toBe(4);706 });707 708 it("should set the value to the next page on up", function() {709 makeToolbar();710 store.loadPage(3);711 mockComplete(makeData(20, 10));712 triggerKeyEvent(UP);713 expect(tb.getInputItem().getValue()).toBe(4);714 });715 716 describe("shift", function() {717 it("should not change the page if it will go over the limit with pageup", function() {718 makeToolbar();719 store.loadPage(1);720 mockComplete(makeData(20, 0));721 var spy = spyOn(tb, 'processKeyEvent').andCallFake(function(field, e) {722 e.shiftKey = true;723 Ext.toolbar.Paging.prototype.processKeyEvent.call(tb, field, e);724 });725 triggerKeyEvent(PAGE_UP);726 expect(tb.getInputItem().getValue()).toBe(1);727 });728 729 it("should not change the page if it will go over the limit with up", function() {730 makeToolbar();731 store.loadPage(1);732 mockComplete(makeData(20, 0));733 spyOn(tb, 'processKeyEvent').andCallFake(function(field, e) {734 e.shiftKey = true;735 Ext.toolbar.Paging.prototype.processKeyEvent.call(tb, field, e);736 });737 triggerKeyEvent(UP);738 expect(tb.getInputItem().getValue()).toBe(1);739 });740 741 it("should increment by 10 when using shift + pageup", function() {742 makeToolbar();743 store.loadPage(1);744 mockComplete(makeData(100, 0));745 spyOn(tb, 'processKeyEvent').andCallFake(function(field, e) {746 e.shiftKey = true;747 Ext.toolbar.Paging.prototype.processKeyEvent.call(tb, field, e);748 });749 triggerKeyEvent(PAGE_UP);750 expect(tb.getInputItem().getValue()).toBe(11);751 });752 753 it("should increment by 10 when using shift + up", function() {754 makeToolbar();755 store.loadPage(1);756 mockComplete(makeData(100, 0));757 spyOn(tb, 'processKeyEvent').andCallFake(function(field, e) {758 e.shiftKey = true;759 Ext.toolbar.Paging.prototype.processKeyEvent.call(tb, field, e);760 });761 triggerKeyEvent(UP);762 expect(tb.getInputItem().getValue()).toBe(11);763 });764 });765 });766 767 // These tests fails unreliably on IE9 and 10 on a VM768 describeNotIE9_10("enter", function() {769 it("should load the page in the field", function() {770 makeToolbar();771 store.loadPage(1);772 mockComplete(makeData(20, 0));773 tb.getInputItem().setRawValue(3);774 spyOn(store, 'loadPage');775 triggerKeyEvent(ENTER);776 expect(store.loadPage.mostRecentCall.args[0]).toBe(3); 777 });778 779 it("should do nothing if the value isn't valid", function() {780 makeToolbar();781 store.loadPage(1);782 mockComplete(makeData(20, 0));783 tb.getInputItem().setRawValue('foo');784 spyOn(store, 'loadPage');785 triggerKeyEvent(ENTER);786 expect(store.loadPage).not.toHaveBeenCalled();787 });788 789 it("should do nothing if the page hasn't changed", function() {790 makeToolbar();791 store.loadPage(1);792 mockComplete(makeData(20, 0));793 tb.getInputItem().setRawValue(1);794 spyOn(store, 'loadPage');795 triggerKeyEvent(ENTER);796 expect(store.loadPage).not.toHaveBeenCalled();797 });798 799 // This test fails unreliably on IE9 and 10 on a VM800 it("should pull the value up to the minimum", function() {801 makeToolbar();802 store.loadPage(2);803 mockComplete(makeData(20, 5));804 tb.getInputItem().setRawValue(-2);805 spyOn(store, 'loadPage');806 triggerKeyEvent(ENTER);807 expect(store.loadPage.mostRecentCall.args[0]).toBe(1); 808 });809 810 it("should limit the value up to the maximum", function() {811 makeToolbar();812 store.loadPage(1);813 mockComplete(makeData(20, store.pageSize));814 tb.getInputItem().setRawValue(50);815 spyOn(store, 'loadPage');816 triggerKeyEvent(ENTER);817 expect(store.loadPage.mostRecentCall.args[0]).toBe(4); 818 });819 820 it("should fire the beforechange event with the toolbar & the new page", function() {821 makeToolbar();822 store.loadPage(1);823 mockComplete(makeData(20, 0));824 tb.getInputItem().setRawValue(3);825 826 var spy = jasmine.createSpy();827 tb.on('beforechange', spy);828 triggerKeyEvent(ENTER);829 expect(spy.mostRecentCall.args[0]).toBe(tb);830 expect(spy.mostRecentCall.args[1]).toBe(3);831 });832 833 it("should not call load if vetoing the event", function() {834 makeToolbar();835 store.loadPage(1);836 mockComplete(makeData(20, 0));837 tb.getInputItem().setRawValue(3);838 839 spyOn(store, 'loadPage');840 tb.on('beforechange', function() {841 return false;842 });843 triggerKeyEvent(ENTER);844 expect(store.loadPage).not.toHaveBeenCalled();845 });846 });847 });848 });849 850 describe("after invalid load", function() {851 it("should load the largest available page when we've gone outside the dataset", function() {852 var spy = jasmine.createSpy();853 854 makeToolbar(); 855 store.loadPage(5);856 mockComplete(makeData(25, 20));857 tb.on('change', spy);858 tb.doRefresh();859 spyOn(store, 'loadPage');860 mockComplete(makeData(10, 5));861 expect(spy).not.toHaveBeenCalled();862 expect(store.loadPage.mostRecentCall.args[0]).toBe(2); 863 }); 864 });...
ControlCenter.jsm
Source:ControlCenter.jsm
...33 configurations: {34 about: {35 selectors: ["#navigator-toolbox", "#identity-popup"],36 async applyConfig() {37 await loadPage("about:rights");38 await openIdentityPopup();39 },40 },41 localFile: {42 // This selector is different so we can exclude the changing file: path43 selectors: ["#identity-popup-security"],44 async applyConfig() {45 let channel = NetUtil.newChannel({46 uri: "resource://mozscreenshots/lib/mozscreenshots.html",47 loadUsingSystemPrincipal: true,48 });49 channel = channel.QueryInterface(Ci.nsIFileChannel);50 let browserWindow = Services.wm.getMostRecentWindow(51 "navigator:browser"52 );53 let gBrowser = browserWindow.gBrowser;54 BrowserTestUtils.loadURI(gBrowser.selectedBrowser, channel.file.path);55 await BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);56 await openIdentityPopup();57 },58 },59 http: {60 selectors: ["#navigator-toolbox", "#identity-popup"],61 async applyConfig() {62 await loadPage(HTTP_PAGE);63 await openIdentityPopup();64 },65 },66 httpSubView: {67 selectors: ["#navigator-toolbox", "#identity-popup"],68 async applyConfig() {69 await loadPage(HTTP_PAGE);70 await openIdentityPopup(true);71 },72 },73 https: {74 selectors: ["#navigator-toolbox", "#identity-popup"],75 async applyConfig() {76 await loadPage(HTTPS_PAGE);77 await openIdentityPopup();78 },79 },80 httpsSubView: {81 selectors: ["#navigator-toolbox", "#identity-popup"],82 async applyConfig() {83 await loadPage(HTTPS_PAGE);84 await openIdentityPopup(true);85 },86 },87 singlePermission: {88 selectors: ["#navigator-toolbox", "#identity-popup"],89 async applyConfig() {90 let principal = Services.scriptSecurityManager.createContentPrincipalFromOrigin(91 PERMISSIONS_PAGE92 );93 SitePermissions.setForPrincipal(94 principal,95 "camera",96 SitePermissions.ALLOW97 );98 await loadPage(PERMISSIONS_PAGE);99 await openIdentityPopup();100 },101 },102 allPermissions: {103 selectors: ["#navigator-toolbox", "#identity-popup"],104 async applyConfig() {105 // TODO: (Bug 1330601) Rewrite this to consider temporary (TAB) permission states.106 // There are 2 possible non-default permission states, so we alternate between them.107 let states = [SitePermissions.ALLOW, SitePermissions.BLOCK];108 let principal = Services.scriptSecurityManager.createContentPrincipalFromOrigin(109 PERMISSIONS_PAGE110 );111 SitePermissions.listPermissions().forEach(function(permission, index) {112 SitePermissions.setForPrincipal(113 principal,114 permission,115 states[index % 2]116 );117 });118 await loadPage(PERMISSIONS_PAGE);119 await openIdentityPopup();120 },121 },122 mixed: {123 selectors: ["#navigator-toolbox", "#identity-popup"],124 async applyConfig() {125 await loadPage(MIXED_CONTENT_URL);126 await openIdentityPopup();127 },128 },129 mixedSubView: {130 selectors: ["#navigator-toolbox", "#identity-popup"],131 async applyConfig() {132 await loadPage(MIXED_CONTENT_URL);133 await openIdentityPopup(true);134 },135 },136 mixedPassive: {137 selectors: ["#navigator-toolbox", "#identity-popup"],138 async applyConfig() {139 await loadPage(MIXED_PASSIVE_CONTENT_URL);140 await openIdentityPopup();141 },142 },143 mixedPassiveSubView: {144 selectors: ["#navigator-toolbox", "#identity-popup"],145 async applyConfig() {146 await loadPage(MIXED_PASSIVE_CONTENT_URL);147 await openIdentityPopup(true);148 },149 },150 mixedActive: {151 selectors: ["#navigator-toolbox", "#identity-popup"],152 async applyConfig() {153 await loadPage(MIXED_ACTIVE_CONTENT_URL);154 await openIdentityPopup();155 },156 },157 mixedActiveSubView: {158 selectors: ["#navigator-toolbox", "#identity-popup"],159 async applyConfig() {160 await loadPage(MIXED_ACTIVE_CONTENT_URL);161 await openIdentityPopup(true);162 },163 },164 mixedActiveUnblocked: {165 selectors: ["#navigator-toolbox", "#identity-popup"],166 async applyConfig() {167 let browserWindow = Services.wm.getMostRecentWindow(168 "navigator:browser"169 );170 let gBrowser = browserWindow.gBrowser;171 await loadPage(MIXED_ACTIVE_CONTENT_URL);172 gBrowser.ownerGlobal.gIdentityHandler.disableMixedContentProtection();173 await BrowserTestUtils.browserLoaded(174 gBrowser.selectedBrowser,175 false,176 MIXED_ACTIVE_CONTENT_URL177 );178 await openIdentityPopup();179 },180 },181 mixedActiveUnblockedSubView: {182 selectors: ["#navigator-toolbox", "#identity-popup"],183 async applyConfig() {184 let browserWindow = Services.wm.getMostRecentWindow(185 "navigator:browser"186 );187 let gBrowser = browserWindow.gBrowser;188 await loadPage(MIXED_ACTIVE_CONTENT_URL);189 gBrowser.ownerGlobal.gIdentityHandler.disableMixedContentProtection();190 await BrowserTestUtils.browserLoaded(191 gBrowser.selectedBrowser,192 false,193 MIXED_ACTIVE_CONTENT_URL194 );195 await openIdentityPopup(true);196 },197 },198 httpPassword: {199 selectors: ["#navigator-toolbox", "#identity-popup"],200 async applyConfig() {201 await loadPage(HTTP_PASSWORD_PAGE);202 await openIdentityPopup();203 },204 },205 httpPasswordSubView: {206 selectors: ["#navigator-toolbox", "#identity-popup"],207 async applyConfig() {208 await loadPage(HTTP_PASSWORD_PAGE);209 await openIdentityPopup(true);210 },211 },212 trackingProtectionNoElements: {213 selectors: ["#navigator-toolbox", "#protections-popup"],214 async applyConfig() {215 Services.prefs.setBoolPref("privacy.trackingprotection.enabled", true);216 await loadPage(HTTP_PAGE);217 await openProtectionsPopup();218 },219 },220 trackingProtectionEnabled: {221 selectors: ["#navigator-toolbox", "#protections-popup"],222 async applyConfig() {223 Services.prefs.setBoolPref("privacy.trackingprotection.enabled", true);224 await UrlClassifierTestUtils.addTestTrackers();225 await loadPage(TRACKING_PAGE);226 await openProtectionsPopup();227 },228 },229 trackingProtectionDisabled: {230 selectors: ["#navigator-toolbox", "#protections-popup"],231 async applyConfig() {232 let browserWindow = Services.wm.getMostRecentWindow(233 "navigator:browser"234 );235 let gBrowser = browserWindow.gBrowser;236 Services.prefs.setBoolPref("privacy.trackingprotection.enabled", true);237 await UrlClassifierTestUtils.addTestTrackers();238 await loadPage(TRACKING_PAGE);239 // unblock the page240 let loaded = BrowserTestUtils.browserLoaded(241 gBrowser.selectedBrowser,242 false,243 TRACKING_PAGE244 );245 gBrowser.ownerGlobal.gProtectionsHandler.disableForCurrentPage();246 await loaded;247 await openProtectionsPopup();248 },249 },250 },251};252async function loadPage(url) {253 let browserWindow = Services.wm.getMostRecentWindow("navigator:browser");254 let gBrowser = browserWindow.gBrowser;255 BrowserTestUtils.loadURI(gBrowser.selectedBrowser, url);256 await BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser, false, url);257}258async function openIdentityPopup(expand) {259 let browserWindow = Services.wm.getMostRecentWindow("navigator:browser");260 let gBrowser = browserWindow.gBrowser;261 let { gIdentityHandler } = gBrowser.ownerGlobal;262 gIdentityHandler._identityPopup.hidePopup();263 // Disable the popup shadow on OSX until we have figured out bug 1425253.264 if (AppConstants.platform == "macosx") {265 gIdentityHandler._identityPopup.classList.add("no-shadow");266 }...
CustomNavigationMenu.js
Source:CustomNavigationMenu.js
...91 const redirectPage = (e) => {92 e.preventDefault();93 // history.push(`/pages/${labelText}`);94 if(labelText === 'Dashboard')95 loadPage(pageConstants.DASHBOARD);96 else if(labelText === 'Quotes')97 loadPage(pageConstants.QUOTES);98 else if(labelText === 'Shipments')99 loadPage(pageConstants.SHIPMENTS);100 else if(labelText === 'Billing')101 loadPage(billConstants.BILLING);102 else if(labelText === 'Reports')103 loadPage(pageConstants.REPORTS);104 else if(labelText === 'Booking')105 loadPage(pageConstants.BOOKING);106 };107 return (108 <TreeItem109 onClick={e=> redirectPage(e)}110 label={111 <div className={classes.labelRoot}>112 <LabelIcon color="inherit" className={classes.labelIcon} />113 <Typography variant="body2" className={classes.labelText}>114 {labelText}115 </Typography>116 <Typography variant="caption" color="inherit">117 {labelInfo}118 </Typography>119 </div>...
Pagination.js
Source:Pagination.js
...19 };20 onPreviousButtonClickAction = () => {21 const { loadPage, activePage } = this.props;22 if (!this.isPreviousButtonDisabled()) {23 loadPage(activePage - 1);24 }25 };26 onNextButtonClickAction = () => {27 const { loadPage, activePage } = this.props;28 if (!this.isNextButtonDisabled()) {29 loadPage(activePage + 1);30 }31 };32 render = () => {33 const { totalPages, activePage } = this.props;34 return (35 <nav36 className="pagination is-centered"37 role="navigation"38 aria-label="pagination"39 >40 {totalPages > 1 && (41 <ul className="pagination-list">42 <li43 key="lessThan"...
template.js
Source:template.js
1var dataMenu = {2 hMenu: [3 {label: 'Dati Generali', plugin: 'loadVMenu', menu: 'dati', tooltip: '', class: '', default:1},4 {label: 'Istruttoria Tecnica', plugin: 'loadVMenu', menu: 'it', tooltip: '', class: '', default:0},5 {label: 'Istruttoria Amministrativa', plugin: 'loadVMenu', menu: 'ia', tooltip: '', class: '', default:0},6 {label: 'Titolo', plugin: 'loadVMenu', menu: 'titolo', tooltip: '', class: '', default:0},7 {label: 'Lavori', plugin: 'loadVMenu', menu: 'lavori', tooltip: '', class: '', default:0},8 {label: 'Pagamenti', plugin: 'loadVMenu', menu: 'pagamenti', tooltip: '', class: '', default:0},9 {label: 'Iter', plugin: 'loadVMenu', menu: 'iter', tooltip: '', class: '', default:0}10 ],11 vMenu: {12 dati: [13 {label: 'Avvio Procedimento', plugin: 'loadPage', page: 'avvioproc', tooltip: '', class: '', default:1},14 {label: 'Soggetti', plugin: 'loadPage', page: 'soggetti', tooltip: '', class: '', default:0},15 {label: 'Ubicazione', plugin: 'loadPage', page: 'ubicazione', tooltip: '', class: '', default:0},16 {label: 'Allegati', plugin: 'loadPage', page: 'allegati', tooltip: '', class: '', default:0},17 {label: 'Integrazioni', plugin: 'loadPage', page: 'integrazioni', tooltip: '', class: '', default:0}18 ],19 it: [20 {label: 'Relazione Tecnica', plugin: 'loadPage', page: '', tooltip: '', class: '', default:1},21 {label: 'Parametri Progetto', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0},22 {label: 'Oneri', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0},23 {label: 'Rateizzazione', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0},24 {label: 'FideJussioni', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0}25 ],26 ia: [27 {label: 'Pareri Enti Esterni', plugin: 'loadPage', page: '', tooltip: '', class: '', default:1},28 {label: 'Commissioni', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0},29 {label: 'Asservimenti', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0},30 {label: 'Atti', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0}31 ],32 titolo: [33 {label: 'Titolo', plugin: 'loadPage', page: '', tooltip: '', class: '', default:1},34 {label: 'Voltura', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0}35 ],36 lavori: [37 {label: 'Lavori', plugin: 'loadPage', page: '', tooltip: '', class: '', default:1},38 {label: 'Proroghe', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0}39 40 ],41 pagamenti: [42 {label: 'Importi Dovuti', plugin: 'loadPage', page: '', tooltip: '', class: '', default:1},43 {label: 'Pagamenti', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0},44 {label: 'Scadenze', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0}45 ],46 iter: [47 {label: 'Iter', plugin: 'loadPage', page: '', tooltip: '', class: '', default:1},48 {label: 'Comunicazioni', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0},49 {label: 'Notifiche', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0},50 {label: 'Annotazioni', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0},51 {label: 'Visione Pratiche', plugin: 'loadPage', page: '', tooltip: '', class: '', default:0}52 ]53 }54};55var template = {56 hMenu: '<li class="%(class)s" data-tooltip="%(tooltip)s" data-default="%(default)s"><a href="#" data-plugin="%(plugin)s" data-menu="%(menu)s" >%(label)s</a></li>',57 vMenu: '<li class="%(class)s" data-tooltip="%(tooltip)s" data-group="%(group)s" data-default="%(default)s"><a class="list-group-item" href="#" data-plugin="%(plugin)s" data-page="%(page)s">%(label)s</a></li>'...
visualize.js
Source:visualize.js
...12 //åå§åé»è®¤çé¢13 initPage : function(){14 visualize.selectOn("conversionRate");15 var url = ctx + "/base/to/visualize/conversionRate";16 visualize.loadPage(url);17 },18 //转æ¢ç19 conversionRate : function(){20 $("#conversionRate").click(function(){21 visualize.selectOn("conversionRate");22 var url = ctx + "/base/to/visualize/conversionRate";23 visualize.loadPage(url);24 });25 },26 //èªçæ¥è¯¢ç¬åè§å¾27 flightQueryRule : function(){28 $("#flightQueryRule").click(function(){29 visualize.selectOn("flightQueryRule");30 var url = ctx + "/base/to/visualize/flightQueryRule";31 visualize.loadPage(url);32 });33 },34 //å 座è§å¾35 occRule : function(){36 $("#occRule").click(function(){37 visualize.selectOn("occRule");38 var url = ctx + "/base/to/visualize/occRule";39 visualize.loadPage(url);40 });41 },42 //ç¬è«å¯¹æ¥å®æ¯å½±å43 rateImpact : function(){44 $("#rateImpact").click(function(){45 visualize.selectOn("rateImpact");46 var url = ctx + "/base/to/visualize/rateImpact";47 visualize.loadPage(url);48 });49 },50 //ç¬è«å¯¹ç³»ç»ç¨³å®æ§å½±å51 stableInfluence : function(){52 $("#stableInfluence").click(function(){53 visualize.selectOn("stableInfluence");54 var url = ctx + "/base/to/visualize/stableInfluence";55 visualize.loadPage(url);56 });57 },58 //代è´è¯å«åæ59 identifyAnalysis : function(){60 $("#identifyAnalysis").click(function(){61 visualize.selectOn("identifyAnalysis");62 var url = ctx + "/base/to/visualize/identifyAnalysis";63 visualize.loadPage(url);64 });65 },66 //å 载页é¢67 loadPage : function(url){68 $("#subjectBoxDataVisual").html("");69 $("#subjectBoxDataVisual").load(url);70 },71 //éä¸æ个é项ï¼çªåºæ¾ç¤º72 selectOn : function(id){73 $('#navDataVisual').find('li').each(function() {74 $(this).removeClass("on");75 });76 $('#'+ id).addClass("on");77 }...
router.js
Source:router.js
1import { createRouter, createWebHashHistory } from 'vue-router'2function loadPage(page) {3 return () => import(`./pages/${page}.vue`)4}5const routes = [6 {7 path: '/',8 name: 'Home',9 component: loadPage('HomePage')10 },11 {12 path: '/about',13 name: 'About',14 component: loadPage('AboutPage')15 },16 {17 path: '/resume',18 name: 'Resume',19 component: loadPage('ResumePage')20 },21 {22 path: '/portfolio',23 name: 'Portfolio',24 component: loadPage('PortfolioPage')25 },26 {27 path: '/projects/bugreport',28 name: 'BugReport',29 component: loadPage('BugReportPage')30 },31 {32 path: '/projects/moonminer',33 name: 'MoonMiner',34 component: loadPage('MoonMinerPage')35 },36 {37 path: '/projects/capstone',38 name: 'Capstone',39 component: loadPage('CapstonePage')40 },41 {42 path: '/projects/taskmaster',43 name: 'TaskMaster',44 component: loadPage('TaskMasterPage')45 },46 {47 path: '/projects/inspire',48 name: 'Inspire',49 component: loadPage('InspirePage')50 },51 {52 path: '/projects/keepr',53 name: 'Keepr',54 component: loadPage('KeeprPage')55 }56]57const router = createRouter({58 linkActiveClass: 'router-link-active',59 linkExactActiveClass: 'router-link-exact-active',60 history: createWebHashHistory(),61 routes62})...
menu_controller.js
Source:menu_controller.js
1function start_game(){2 name = prompt("User name");3 4 sessionStorage.setItem("username", name);5 6 loadpage("./html/game.html");7}8function phaser_game(){9 loadpage("./html/phasergame.html");10}11function exit (){12 if (name != ""){13 alert("Leaving " + name + "'s game");14 }15 name = "";16 loadpage("../index.html");17}18function options(){19 loadpage("./html/options.html");20}21function load(){22 loadpage("./html/load.html");...
Using AI Code Generation
1var AppiumXCUITestDriver = require('appium-xcuitest-driver');2var driver = new AppiumXCUITestDriver();3var AppiumIOSDriver = require('appium-ios-driver');4var driver = new AppiumIOSDriver();5var AppiumAndroidDriver = require('appium-android-driver');6var driver = new AppiumAndroidDriver();7var AppiumWindowsDriver = require('appium-windows-driver');8var driver = new AppiumWindowsDriver();9var AppiumMacDriver = require('appium-mac-driver');10var driver = new AppiumMacDriver();11var AppiumEspressoDriver = require('appium-espresso-driver');12var driver = new AppiumEspressoDriver();13var AppiumYouiEngineDriver = require('appium-youiengine-driver');14var driver = new AppiumYouiEngineDriver();15var AppiumSelendroidDriver = require('appium-selendroid-driver');16var driver = new AppiumSelendroidDriver();17var AppiumTizenDriver = require('appium-tizen-driver');18var driver = new AppiumTizenDriver();19var AppiumWebDriver = require('appium-webdriver');20var driver = new AppiumWebDriver();21var AppiumBaseDriver = require('appium-base-driver');
Using AI Code Generation
1const wd = require('wd');2const {exec} = require('child_process');3const assert = require('assert');4const fs = require('fs');5const desiredCaps = {6};7const startSafari = async () => {8 await driver.init(desiredCaps);9 await driver.sleep(5000);10 await driver.sleep(5000);11 await driver.quit();12};13startSafari();14[debug] [WD Proxy] Got response with status 200: {"value":{"error":"unknown command","
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!!