How to use intercept method in Cypress

Best JavaScript code snippet using cypress

lifecycle-manager.spec.js

Source:lifecycle-manager.spec.js Github

copy

Full Screen

1import {LifecycleManager} from '../src/lifecycle-manager';2import {ClassActivator} from 'aurelia-dependency-injection';3import {FluxDispatcher} from '../src/flux-dispatcher';4import {Symbols} from '../src/symbols';5import {HtmlBehaviorResource} from 'aurelia-templating';6import {Dispatcher, DispatcherProxy} from '../src/instance-dispatcher';7import {Metadata} from '../src/metadata';8describe('Lifecycle Manager', () => {9 describe('interceptInstanceDeactivate', () => {10 var instance;11 beforeEach(() => {12 instance = {};13 });14 describe('without instance.deactivate', () => {15 it('adds new deactivate method', () => {16 expect(instance.deactivate).toBeUndefined();17 LifecycleManager.interceptInstanceDeactivate(instance);18 expect(instance.deactivate).toBeDefined();19 });20 describe('intercepted deactivate method', () => {21 it('runs FluxDispatcher', () => {22 spyOn(FluxDispatcher.instance, 'unregisterInstanceDispatcher');23 LifecycleManager.interceptInstanceDeactivate(instance);24 instance.deactivate();25 expect(FluxDispatcher.instance.unregisterInstanceDispatcher).toHaveBeenCalled();26 });27 });28 });29 describe('with instance.deactivate', () => {30 it('intercepts deactivate method', () => {31 var deactivate = function () { };32 instance.deactivate = deactivate;33 LifecycleManager.interceptInstanceDeactivate(instance);34 expect(instance.deactivate).toBeDefined();35 expect(instance.deactivate).not.toBe(deactivate);36 });37 describe('intercepted deactivate method', () => {38 it('runs original deactivate method', () => {39 var deactivate = jasmine.createSpy('deactivate');40 instance.deactivate = deactivate;41 LifecycleManager.interceptInstanceDeactivate(instance);42 instance.deactivate();43 expect(deactivate).toHaveBeenCalled();44 });45 it('runs FluxDispatcher', () => {46 spyOn(FluxDispatcher.instance, 'unregisterInstanceDispatcher');47 var deactivate = function () { };48 instance.deactivate = deactivate;49 LifecycleManager.interceptInstanceDeactivate(instance);50 instance.deactivate();51 expect(FluxDispatcher.instance.unregisterInstanceDispatcher).toHaveBeenCalled();52 });53 });54 });55 });56 describe('interceptInstanceDetached', () => {57 var instance;58 beforeEach(() => {59 instance = {};60 });61 describe('without instance.detached', () => {62 it('adds new detached method', () => {63 expect(instance.detached).toBeUndefined();64 LifecycleManager.interceptInstanceDetached(instance);65 expect(instance.detached).toBeDefined();66 });67 describe('intercepted detached method', () => {68 it('runs FluxDispatcher', () => {69 spyOn(FluxDispatcher.instance, 'unregisterInstanceDispatcher');70 LifecycleManager.interceptInstanceDetached(instance);71 instance.detached();72 expect(FluxDispatcher.instance.unregisterInstanceDispatcher).toHaveBeenCalled();73 });74 });75 });76 describe('with instance.detached', () => {77 it('intercepts detached method', () => {78 var detached = function () { };79 instance.detached = detached;80 LifecycleManager.interceptInstanceDetached(instance);81 expect(instance.detached).toBeDefined();82 expect(instance.detached).not.toBe(detached);83 });84 describe('intercepted detached method', () => {85 it('runs original detached method', () => {86 var detached = jasmine.createSpy('detached');87 instance.detached = detached;88 LifecycleManager.interceptInstanceDetached(instance);89 instance.detached();90 expect(detached).toHaveBeenCalled();91 });92 it('runs FluxDispatcher', () => {93 spyOn(FluxDispatcher.instance, 'unregisterInstanceDispatcher');94 var detached = function () { };95 instance.detached = detached;96 LifecycleManager.interceptInstanceDetached(instance);97 instance.detached();98 expect(FluxDispatcher.instance.unregisterInstanceDispatcher).toHaveBeenCalled();99 });100 });101 });102 });103 describe('interceptInstanceDeactivators', () => {104 var instance;105 beforeEach(() => {106 instance = {};107 });108 it('sets Symbols.deactivators on an instance when invoked', () => {109 expect(instance[Symbols.deactivators]).toBeUndefined();110 LifecycleManager.interceptInstanceDeactivators(instance);111 expect(instance[Symbols.deactivators]).toBeDefined();112 });113 it('runs LifecycleManager.interceptInstanceDeactivate', () => {114 spyOn(LifecycleManager, 'interceptInstanceDeactivate');115 LifecycleManager.interceptInstanceDeactivators(instance);116 expect(LifecycleManager.interceptInstanceDeactivate).toHaveBeenCalledWith(instance);117 });118 it('runs LifecycleManager.interceptInstanceDeactivate only once', () => {119 spyOn(LifecycleManager, 'interceptInstanceDeactivate');120 LifecycleManager.interceptInstanceDeactivators(instance);121 LifecycleManager.interceptInstanceDeactivators(instance);122 expect(LifecycleManager.interceptInstanceDeactivate.calls.count()).toEqual(1);123 });124 it('runs LifecycleManager.interceptInstanceDetached', () => {125 spyOn(LifecycleManager, 'interceptInstanceDetached');126 LifecycleManager.interceptInstanceDeactivators(instance);127 expect(LifecycleManager.interceptInstanceDetached).toHaveBeenCalledWith(instance);128 });129 it('runs LifecycleManager.interceptInstanceDetached only once', () => {130 spyOn(LifecycleManager, 'interceptInstanceDetached');131 LifecycleManager.interceptInstanceDeactivators(instance);132 LifecycleManager.interceptInstanceDeactivators(instance);133 expect(LifecycleManager.interceptInstanceDetached.calls.count()).toEqual(1);134 });135 });136 describe('interceptHtmlBehaviorResource', () => {137 describe('intercepted analyze method', () => {138 it('runs original method', () => {139 var analyze = jasmine.createSpy('analyze');140 HtmlBehaviorResource.prototype.analyze = analyze;141 LifecycleManager.interceptHtmlBehaviorResource();142 expect(HtmlBehaviorResource.prototype.analyze).not.toBe(analyze);143 function target() { };144 HtmlBehaviorResource.prototype.analyze(1, target, false);145 expect(analyze).toHaveBeenCalledWith(1, target, false);146 });147 it('adds detached method to a target with flux metadata', () => {148 function target() { }149 target.prototype[Symbols.metadata] = {150 handlers: {151 size: 123152 }153 };154 expect(target.prototype.detached).toBeUndefined();155 HtmlBehaviorResource.prototype.analyze = function () { };156 LifecycleManager.interceptHtmlBehaviorResource();157 HtmlBehaviorResource.prototype.analyze(null, target);158 expect(target.prototype.detached).toBeDefined();159 });160 it('doesn\'t add detached method to a target without flux metadata', () => {161 function target() { }162 expect(target.prototype.detached).toBeUndefined();163 HtmlBehaviorResource.prototype.analyze = function () { };164 LifecycleManager.interceptHtmlBehaviorResource();165 HtmlBehaviorResource.prototype.analyze(null, target);166 expect(target.prototype.detached).toBeUndefined();167 });168 });169 });170 describe('interceptClassActivator', () => {171 var invokeImpl,172 instance,173 origInstanceProto,174 instanceProto;175 176 beforeAll(() => { 177 instanceProto = {}; 178 }); 179 180 beforeEach(() => {181 instance = Object.create(instanceProto);182 invokeImpl = jasmine.createSpy('invoke').and.returnValue(instance);183 ClassActivator.instance.invoke = invokeImpl;184 });185 it('intercepts ClassActivator.instance.invoke', () => {186 LifecycleManager.interceptClassActivator();187 expect(ClassActivator.instance.invoke).not.toBe(invokeImpl);188 });189 describe('intercepted ClassActivator.instance.invoke', () => { 190 191 it('throws an exception when second argument is not an array', () => {192 LifecycleManager.interceptClassActivator();193 expect(() => ClassActivator.instance.invoke(null, "")).toThrowError('Unsupported version of ClassActivator');194 }); 195 196 // without dispatcher injected197 describe('without dispatcher injected', () => {198 it('runs original invoke method', () => {199 LifecycleManager.interceptClassActivator();200 ClassActivator.instance.invoke(null, []);201 expect(invokeImpl).toHaveBeenCalled();202 });203 it('returns proper instance', () => {204 LifecycleManager.interceptClassActivator();205 var result = ClassActivator.instance.invoke(null, []);206 expect(result).toBe(instance);207 });208 });209 ///////////////////////////////210 211 // with dispatcher injected212 describe('with dispatcher injected', () => {213 var dispatcher;214 beforeEach(() => {215 dispatcher = new Dispatcher();216 });217 it('runs original invoke method', () => {218 LifecycleManager.interceptClassActivator();219 ClassActivator.instance.invoke(null, [dispatcher]);220 expect(invokeImpl).toHaveBeenCalled();221 });222 it('returns proper instance', () => {223 LifecycleManager.interceptClassActivator();224 var result = ClassActivator.instance.invoke(null, [dispatcher]);225 expect(result).toBe(instance);226 });227 it('replaces injected Dispatcher with DispatcherProxy', (done) => {228 LifecycleManager.interceptClassActivator();229 var args = [dispatcher];230 ClassActivator.instance.invoke(null, args);231 expect(args[0] instanceof DispatcherProxy).toBe(true);232 args[0].inititalize.then(() => {233 expect(args[0].instance).toBe(instance);234 done();235 }, done.fail);236 });237 it('sets instance[Symbols.instanceDispatcher] to be new Dispatcher', () => {238 LifecycleManager.interceptClassActivator();239 expect(instance[Symbols.instanceDispatcher]).toBeUndefined();240 ClassActivator.instance.invoke(null, [dispatcher]);241 expect(instance[Symbols.instanceDispatcher]).toBeDefined();242 });243 244 it('intercepts instance deactivators', () => {245 spyOn(LifecycleManager, 'interceptInstanceDeactivators');246 LifecycleManager.interceptClassActivator();247 ClassActivator.instance.invoke(null, [dispatcher]);248 expect(LifecycleManager.interceptInstanceDeactivators).toHaveBeenCalledWith(instance);249 });250 }); 251 ///////////////////////////////252 253 describe('for instance prototype with metadata', () => { 254 255 beforeEach(() => {256 instanceProto[Symbols.metadata] = new Metadata();257 });258 259 it('runs instance Disptacher.registerMetadata', () => {260 spyOn(Dispatcher.prototype, 'registerMetadata');261 LifecycleManager.interceptClassActivator(); 262 ClassActivator.instance.invoke(null, []);263 expect(Dispatcher.prototype.registerMetadata).toHaveBeenCalled();264 });265 266 it('intercepts instance deactivators', () => {267 spyOn(LifecycleManager, 'interceptInstanceDeactivators');268 LifecycleManager.interceptClassActivator();269 ClassActivator.instance.invoke(null, []);270 expect(LifecycleManager.interceptInstanceDeactivators).toHaveBeenCalledWith(instance);271 }); 272 });273 274 });275 });...

Full Screen

Full Screen

general.spec.js

Source:general.spec.js Github

copy

Full Screen

1import { activeYear } from "../common/date"2import { closeTips } from "../common/dialog"3import { interceptAll, waitRequest } from "../common/http"4import { validErrorMsg, validSuccessMessage } from "../common/message"5import { activeSelect } from "../common/select"6import { elform } from "../mutual-result/mutual-item"7/**8 * 9 * @param {string} text 点击某个功能点10 */11const findPoint = (text) => {12 cy.get('.el-collapse-item__header').contains(text).click({13 force:true14 })15}16/**17 * 18 * @param {string} text 按键文本19 * @param {number} buttonIndex 按键索引 默认值为零20 */21const clickPonitButton = (text, buttonIndex = 0) => {22 cy.findAllByText(text).eq(buttonIndex).click({23 force:true24 })25}26/**27 * @param {string} text 功能点文案28 * @param {Function} option 在该功能点下的操作29 */30const withinPointOption = (text, option) => {31 cy.get('.el-collapse-item').contains(text).parents('.el-collapse-item').within(() => {32 option() && option()33 })34}35/**36 * 37 * @param {function} interceptFunction 拦截路由函数38 * @param {function} option 拦截路由前的操作39 * @param {boolean} closeCollapse 是否需要点击功能点关闭 默认不需要40 * @param {text} text 功能点文案41 */42const pointIsAvailable = (interceptFunction, option, closeCollapse = false, text) => {43 const waitOptions = {44 timeout: 9000045 }46 waitRequest({47 intercept: interceptFunction,48 waitOptions,49 onBefore: () => {50 option() && option51 },52 onSuccess: () => {53 validSuccessMessage()54 },55 onError: (msg) => {56 validErrorMsg(msg)57 }58 })59 if (closeCollapse === true) {60 findPoint(text)61 cy.wait(1000)62 }63}64const interceptPullEqa = () => {65 return interceptAll('service/mgr/eqa/importGdEqa?adminCclCode*', interceptPullEqa.name)66}67const interceptUpdateDataComprison = () => {68 return interceptAll('service/mgr/eqa/syncGdEqaItemCodeMap?adminCclCode*', interceptUpdateDataComprison.name)69}70const interceptSyncStandardData = () => {71 return interceptAll('service/mgr/code/sync*', interceptSyncStandardData.name)72}73const interceptUpdateLabGps = () => {74 return interceptAll('service/mgr/lab/updateAllNoGps', interceptUpdateLabGps.name)75}76const interceptPullPlan = () => {77 return interceptAll('service/v2/qi/pull-plan?*', interceptPullPlan.name)78}79const interceptPullEqaPlan = () => {80 return interceptAll('service/mgr/eqa/pullEqaPlan?*', interceptPullEqaPlan.name)81}82const interceptSyncReport = () => {83 return interceptAll('service/mgr/lab/report/monthdiff/syncReport?adminCclCode*', interceptSyncReport.name)84}85const interceptPullFeedbackReport = () => {86 return interceptAll('service/v2/report/EXT_KL_REF/pull?', interceptPullFeedbackReport.name)87}88const interceptPullPatientsReport = () => {89 return interceptAll('service/v2/report/EXT_KL_PAT/pull?reportType=EXT_KL_PAT', interceptPullPatientsReport.name)90}91const interceptPullLabFeedbackReport = () => {92 return interceptAll('service/v2/report/EXT_KL_QI/pull?reportType=EXT_KL_QI', interceptPullLabFeedbackReport.name)93}94context('通用功能', () => {95 before(() => {96 cy.loginCQB()97 cy.visit('/cqb-base-mgr-fe/app.html#/system-seting/general')98 })99 context('拉取科临报告', () => {100 before(() => {101 findPoint('拉取科临报告')102 cy.wait(1000)103 })104 it('001-参考区间调查报告', () => {105 pointIsAvailable(interceptSyncReport, () => {106 withinPointOption('拉取科临报告', () => {107 elform('adminCclCode').click({108 force:true109 })110 cy.wait(1000)111 activeSelect('佛山市临床检验质量控制中心')112 clickPonitButton('拉取')113 })114 })115 })116 it('002-患者数据调查报告', () => {117 pointIsAvailable(interceptPullPatientsReport, () => {118 withinPointOption('拉取科临报告', () => {119 cy.get('[placeholder="请选择"]').first().click()120 cy.wait(1000)121 activeSelect('患者数据调查反馈报告')122 clickPonitButton('拉取')123 })124 })125 })126 it('003-实验室质量指标调查反馈报告', () => {127 pointIsAvailable(interceptPullPatientsReport, () => {128 withinPointOption('拉取科临报告', () => {129 cy.get('[placeholder="请选择"]').first().click()130 cy.wait(1000)131 activeSelect('实验室质量指标调查反馈报告')132 clickPonitButton('拉取')133 }, true, '拉取科临报告')134 })135 })136 })137 context('差异性分析报告', () => {138 before(() => {139 findPoint('拉取差异性分析报告')140 cy.wait(1000)141 })142 it('004-拉取差异性分析报告', () => {143 pointIsAvailable(interceptSyncReport, () => {144 clickPonitButton('拉取')145 }, true, '拉取差异性分析报告')146 })147 })148 context('EQA数据处理', () => {149 it('005-拉取广东EQA数据', () => {150 findPoint('EQA数据处理')151 cy.wait(2000)152 pointIsAvailable(interceptPullEqa, () => {153 clickPonitButton('拉取', 1)154 })155 })156 it('006-更新对照数据', () => {157 cy.wait(1000)158 pointIsAvailable(interceptUpdateDataComprison, () => {159 clickPonitButton('更新对照数据')160 }, true, 'EQA数据处理')161 })162 })163 context('同步数据', () => {164 it('007-同步标准数据', () => {165 findPoint('同步标准数据')166 cy.wait(1000)167 pointIsAvailable(interceptSyncStandardData, () => {168 clickPonitButton('同步')169 closeTips('提示', '同步')170 }, true, '同步标准数据')171 })172 it('008-同步GPS坐标', () => {173 findPoint('实验室GPS坐标')174 cy.wait(1000)175 pointIsAvailable(interceptUpdateLabGps, () => {176 clickPonitButton('同步', 1)177 closeTips('提示', '同步')178 }, true, '实验室GPS坐标')179 })180 })181 context('省/部EQA计划拉取', () => {182 before(() => {183 findPoint('省/部EQA计划拉取')184 cy.wait(1000)185 })186 it('009-部EQA', () => {187 pointIsAvailable(interceptPullEqaPlan, () => {188 clickPonitButton('拉取', 2)189 })190 })191 it('0010-省EQA', () => {192 cy.wait(1000)193 pointIsAvailable(interceptPullEqaPlan, () => {194 cy.get('[type ="radio"]').check('0',{195 force:true196 })197 clickPonitButton('拉取', 2)198 }, true, '省/部EQA计划拉取')199 })200 })201 context('质量指标上报计划拉取', () => {202 before(() => {203 findPoint('质量指标上报计划拉取')204 cy.wait(1000)205 })206 it('011-质量指标上报计划拉取', () => {207 pointIsAvailable(interceptPullPlan, () => {208 withinPointOption('质量指标上报计划拉取', () => {209 elform('adminCclCode').click({210 force:true211 })212 cy.wait(1000)213 activeSelect('浙江直采测试')214 elform('year').click({215 force:true216 })217 activeYear('2020')218 })219 clickPonitButton('拉取', 3)220 })221 })222 })...

Full Screen

Full Screen

iqc.js

Source:iqc.js Github

copy

Full Screen

1import { clickButton } from "../common/button"2import { closeTips, confirmDelete } from "../common/dialog"3import { interceptAll, waitIntercept, waitRequest } from "../common/http"4import { validSuccessMessage } from "../common/message"5import { activeSelect } from "../common/select"6import { elform } from "../mutual-result/mutual-item"7import { clickSearch } from "../setting/report-monitor/report-monitor"8import { validData } from "./cert-year"9const interceptQueryIqcReport = () => {10 return interceptAll('service/mgr/iqc/month/new-page?areaId*', interceptQueryIqcReport.name)11}12export const interceptQueryLab = () => {13 return interceptAll('service/mgr/lab/pageWithRole?*', interceptQueryLab.name)14}15export const interceptPreviewIqc = (path) => {16 return interceptAll(`service/system/file/preview/${path}`, interceptPreviewIqc.name)17}18const interceptPushIqc = () => {19 return interceptAll('service/mgr/iqc/month/push?*', interceptPushIqc.name)20}21const interceptBatchPushIqc = () => {22 return interceptAll('service/mgr/iqc/month/batchPush', interceptBatchPushIqc.name)23}24/**25 * 26 * @param {string} text label标签名27 * @param {string} timeText 输入框名字28 */29export const findLabelTime = (text, timeText) => {30 cy.get('.el-form:visible')31 .find('label')32 .contains(text)33 .parent()34 .find(`[placeholder="${timeText}"]`)35 .click({36 force:true37 })38}39/**40 * 41 * @param {boolean} pushAll 是否是批量推送 默认不是批量推送42 * @param {string} buttonText 按键名称43 * @param {boolean} cancelPush 是否取消推送 默认不是44 */45export const pushIqcData = (pushAll = false, buttonText, cancelPush = false) => {46 waitIntercept(interceptQueryIqcReport, () => {47 clickSearch()48 }, data => {49 if (pushAll === false) {50 if (cancelPush === false) {51 if (data.total) {52 const rowIndex = data.data.findIndex(item => item.push === false)53 if (rowIndex !== -1) {54 let queryData55 waitIntercept(interceptPushIqc, () => {56 cy.get('.el-table__body').first().find('.el-table__row')57 .eq(rowIndex)58 .findAllByText(buttonText)59 .last()60 .click({61 force:true62 })63 closeTips('提示', '推送')64 queryData = interceptQueryIqcReport()65 },() => {66 validSuccessMessage()67 waitIntercept(queryData,() => {68 clickSearch()69 }, (data) => {70 expect(data.data[rowIndex].push).to.eq(true)71 })72 })73 }74 }75 } else {76 if (data.total) {77 const rowIndex = data.data.findIndex(item => item.push)78 if (rowIndex !== -1) {79 let queryData80 waitIntercept(interceptPushIqc, () => {81 cy.get('.el-table__body').first().find('.el-table__row')82 .eq(rowIndex)83 .findAllByText(buttonText)84 .last()85 .click({86 force:true87 })88 closeTips('提示', '推送')89 queryData = interceptQueryIqcReport()90 },() => {91 validSuccessMessage()92 waitIntercept(queryData,() => {93 clickSearch()94 }, (data) => {95 expect(data.data[rowIndex].push).to.eq(false)96 })97 })98 }99 }100 }101 } else {102 if (data.total) {103 if (cancelPush === false) {104 let queryData105 cy.get('.el-table__header').first().find('[type="checkbox"]').click({106 force:true107 })108 cy.wait(1000)109 waitIntercept(interceptBatchPushIqc, () => {110 clickButton(buttonText)111 closeTips('提示', '推送')112 queryData = interceptQueryIqcReport()113 }, () => {114 validSuccessMessage()115 waitIntercept(queryData, (data) => {116 data.data.map(item => expect(item.push).to.eq(true))117 })118 })119 } else {120 let queryData121 cy.get('.el-table__header').first().find('[type="checkbox"]').click({122 force:true123 })124 cy.wait(1000)125 waitIntercept(interceptBatchPushIqc, () => {126 clickButton(buttonText)127 closeTips('提示', '推送')128 queryData = interceptQueryIqcReport()129 }, () => {130 validSuccessMessage()131 waitIntercept(queryData, (data) => {132 data.data.map(item => expect(item.push).to.eq(false))133 })134 })135 }136 }137 }138 })139}140export const interceptDeleteIqcReport = () => {141 return interceptAll('service/mgr/iqc/month', interceptDeleteIqcReport.name)142}143export const deleteIqcReport = (rowIndex) => {144 waitRequest({145 intercept: interceptDeleteIqcReport,146 onBefore: () => {147 cy.get('.el-table__body').first().find('.el-table__row')148 .eq(rowIndex)149 .findAllByText('删除')150 .last()151 .click({152 force:true153 })154 confirmDelete()155 },156 onError: () => {157 console.log(123);158 },159 onSuccess: () => {160 validSuccessMessage()161 }162 })163}164/**165 * 166 * @param {string} area 地区 省167 * @param {string} keyword 实验室名称或者编码168 * @param {boolean} labCode 是否使用实验室编码169 */170export const searchIqcReport = (area, keyword, labCode = false) => {171 if (area) {172 elform('areaId').click({173 force:true174 })175 activeSelect(area)176 waitIntercept(interceptQueryIqcReport, () => {177 clickSearch()178 }, data => {179 validData(data)180 if (data.total) {181 data.data.map(item => expect(item.province).to.contain(area))182 }183 })184 }185 if (keyword) {186 elform('labName').clear().type(keyword)187 waitIntercept(interceptQueryIqcReport, () => {188 clickSearch()189 }, data => {190 validData(data)191 if (data.total) {192 if (labCode === false) {193 data.data.map(item => expect(item.labName).to.contain(keyword))194 } else {195 data.data.map(item => expect(item.labCode).to.contain(keyword))196 }197 }198 })199 }...

Full Screen

Full Screen

sunClass.js

Source:sunClass.js Github

copy

Full Screen

1class sun{2 constructor(lineNumber, width, height){3 this.originX = mouseX;4 this.originY = mouseY;5 this.rayNumber = lineNumber;6 this.screenWidth = width;7 this.screenHeight = height;8 this.screenEdges = [9 [0, 0, screenWidth, 0],10 [0, screenHeight, screenWidth, screenHeight],11 [0, 0, 0, screenHeight],12 [screenWidth, screenHeight, screenWidth, screenHeight]13 ];14 this.screenGradients = [0, 0, Number.NaN, Number.NaN];15 this.screenC = [0, screenHeight, Number.NaN, Number.NaN];16 this.screenX = [Number.NaN, Number.NaN, 0, screenWidth];17 this.intercepts = new Array(this.rayNumber);18 for(var i = 0; i < this.rayNumber; i++){19 this.intercepts[i] = new Array(2);20 }21 this.angles = new Array(this.rayNumber);22 this.gradients = new Array(this.rayNumber);23 this.angles[0] = 2 * Math.PI / this.rayNumber;24 this.gradients[0] = tan(this.angles[0]);25 for(var i = 1; i < this.rayNumber; i++){26 this.angles[i] = this.angles[i-1] + this.angles[0];27 if(this.angles[i] === 0.5 * Math.PI || this.angles[i] === 1.5 * Math.PI){28 this.gradients[i] = Number.NaN;29 }else{30 this.gradients[i] = tan(this.angles[i]);31 }32 }33 // console.log(this.angles);34 this.C = new Array(this.rayNumber);35 }36 update(){37 this.originX = mouseX;38 this.originY = mouseY;39 }40 findC(){41 for(var i = 0; i < this.rayNumber; i++){42 if(!isNaN(this.gradients[i])){43 this.C[i] = this.originY - this.gradients[i] * this.originX;44 }else{45 this.C[i] = Number.NaN;46 }47 }48 }49 interceptScreenEdges(){50 for(var i = 2; i < 4; i++){51 for(var j = 0; j < this.rayNumber; j++){52 if(!isNaN(this.gradients[j])){53 var interceptX = this.screenX[i];54 var interceptY = this.gradients[j] * interceptX + this.C[j];55 if((this.angles[j] < 0.5 * Math.PI || this.angles[j] > 1.5 * Math.PI) && 1){56 if(interceptX > this.originX){57 this.intercepts[j][0] = interceptX;58 this.intercepts[j][1] = interceptY;59 }60 }else61 if((this.angles[j] > 0.5 * Math.PI || this.angles[j] < 1.5 * Math.PI) && 1){62 if(interceptX < this.originX){63 this.intercepts[j][0] = interceptX;64 this.intercepts[j][1] = interceptY;65 }66 }67 }68 }69 }70 for(var i = 0; i < 2; i++){71 for(var j = 0; j < this.rayNumber; j++){72 if(!isNaN(this.gradients[j])){73 var interceptX = (this.C[j] - this.screenC[i]) / (this.screenGradients[i] - this.gradients[j]);74 var interceptY = this.screenC[i];75 if(this.angles[j] < 0.5 * Math.PI || this.angles[j] > 1.5 * Math.PI){76 if(interceptX > this.originX){77 if(interceptX < this.intercepts[j][0]){78 this.intercepts[j][0] = interceptX;79 this.intercepts[j][1] = interceptY;80 }81 }82 }else83 if(this.angles[j] > 0.5 * Math.PI || this.angles[j] < 1.5 * Math.PI){84 if(interceptX < this.originX){85 if(interceptX > this.intercepts[j][0]){86 this.intercepts[j][0] = interceptX;87 this.intercepts[j][1] = interceptY;88 }89 }90 }91 }else{92 if(this.angles[j] < Math.PI){93 this.intercepts[j][0] = this.originX;94 this.intercepts[j][1] = this.screenHeight;95 }else96 if(this.angles[j] > Math.PI){97 this.intercepts[j][0] = this.originX;98 this.intercepts[j][1] = 0;99 }100 }101 }102 }103 }104 findIntercept(lineConst){105 for(var j = 0; j < this.rayNumber; j++){106 if(!isNaN(this.gradients[j])){107 if(isFinite(lineConst[0])){108 var interceptX = (this.C[j] - lineConst[1]) / (lineConst[0] - this.gradients[j]);109 var interceptY = this.gradients[j] * interceptX + this.C[j];110 if(this.angles[j] < 0.5 * Math.PI || this.angles[j] > 1.5 * Math.PI){111 if(interceptX > this.originX){112 var dist = interceptX - lineConst[2]; 113 if(0 <= dist && dist < lineConst[3] - lineConst[2]){114 if(interceptX < this.intercepts[j][0]){115 this.intercepts[j][0] = interceptX;116 this.intercepts[j][1] = interceptY;117 }118 }119 }120 }else121 if(this.angles[j] > 0.5 * Math.PI || this.angles[j] < 1.5 * Math.PI){122 if(interceptX < this.originX){123 var dist = interceptX - lineConst[2]; 124 if(0 <= dist && dist < lineConst[3] - lineConst[2]){125 if(interceptX > this.intercepts[j][0]){126 this.intercepts[j][0] = interceptX;127 this.intercepts[j][1] = interceptY;128 }129 }130 }131 }132 }else{133 var interceptX = lineConst[2];134 var interceptY = this.gradients[j] * interceptX + this.C[j];135 if(this.angles[j] < 0.5 * Math.PI || this.angles[j] > 1.5 * Math.PI){136 if(interceptX > this.originX){137 var dist = abs(interceptY - lineConst[4]) + abs(interceptY - lineConst[5]); 138 if(dist === abs(lineConst[4] - lineConst[5])){139 if(interceptX < this.intercepts[j][0]){140 this.intercepts[j][0] = interceptX;141 this.intercepts[j][1] = interceptY;142 }143 }144 }145 }else146 if(this.angles[j] > 0.5 * Math.PI || this.angles[j] < 1.5 * Math.PI){147 if(interceptX < this.originX){148 var dist = abs(interceptY - lineConst[4]) + abs(interceptY - lineConst[5]); 149 if(dist === abs(lineConst[4] - lineConst[5])){150 if(interceptX > this.intercepts[j][0]){151 this.intercepts[j][0] = interceptX;152 this.intercepts[j][1] = interceptY;153 }154 }155 }156 }157 }158 }else{159 if(this.angles[j] < Math.PI){160 var interceptX = this.originX;161 var interceptY = lineConst[0] * interceptX + lineConst[1];162 var dist = interceptX - lineConst[2]; 163 if(0 <= dist && dist < lineConst[3] - lineConst[2]){164 if(this.originY < interceptY && interceptY < this.intercepts[j][1]){165 this.intercepts[j][0] = interceptX;166 this.intercepts[j][1] = interceptY;167 }168 }169 }else170 if(this.angles[j] > Math.PI){171 var interceptX = this.originX;172 var interceptY = lineConst[0] * interceptX + lineConst[1];173 var dist = interceptX - lineConst[2]; 174 if(0 <= dist && dist < lineConst[3] - lineConst[2]){175 if(this.originY > interceptY && interceptY > this.intercepts[j][1]){176 this.intercepts[j][0] = interceptX;177 this.intercepts[j][1] = interceptY;178 }179 }180 }181 }182 }183 }184 cast(){185 for(var i = 0; i < this.rayNumber; i++){186 line(this.originX, this.originY, this.intercepts[i][0], this.intercepts[i][1]);187 }188 }...

Full Screen

Full Screen

lifecycle-scripts.spec.js

Source:lifecycle-scripts.spec.js Github

copy

Full Screen

...27 const stderr = output.slice(ix1 + 1, output.length - 1);28 return { stdout, stderr };29 };30 it("should execute a script from package.json", () => {31 const intercept = xstdout.intercept(true);32 const promise = new LifecycleScripts(Path.join(__dirname, "../fixtures/lifecycle-scripts/f1"))33 .execute(["test"])34 .then(() => {35 intercept.restore();36 expect(intercept.stdout[2].trim()).to.equal("hello");37 })38 .catch(err => failRestore(err, intercept));39 return promise;40 });41 it("should silently execute a script from package.json", () => {42 const intercept = xstdout.intercept(true);43 const promise = new LifecycleScripts(Path.join(__dirname, "../fixtures/lifecycle-scripts/f1"))44 .execute("test1", true)45 .then(() => {46 intercept.restore();47 const output = extractOutput(intercept);48 expect(output.stdout[0]).to.equal("hello");49 expect(output.stderr[0]).to.equal("stderr foo");50 })51 .catch(err => failRestore(err, intercept));52 return promise;53 });54 it("should silently execute a script with empty output from package.json", () => {55 const intercept = xstdout.intercept(true);56 const promise = new LifecycleScripts(Path.join(__dirname, "../fixtures/lifecycle-scripts/f1"))57 .execute("test4", true)58 .then(() => {59 intercept.restore();60 const output = extractOutput(intercept);61 expect(output.stdout).to.be.empty;62 expect(output.stderr).to.be.empty;63 })64 .catch(err => failRestore(err, intercept));65 return promise;66 });67 it("should silently execute a fail script from package.json", () => {68 let error;69 const intercept = xstdout.intercept(true);70 const promise = new LifecycleScripts(Path.join(__dirname, "../fixtures/lifecycle-scripts/f1"))71 .execute("test3", true)72 .catch(err => {73 intercept.restore();74 error = err;75 })76 .then(() => {77 intercept.restore();78 expect(error).to.exist;79 const output = extractOutput(intercept);80 expect(output.stdout).to.be.empty;81 expect(output.stderr[0]).to.equal("stderr blah");82 expect(error.stack).includes("exit code 127");83 });84 return promise;85 });86 it("should silently execute a script with no output from package.json", () => {87 const intercept = xstdout.intercept(true);88 const promise = new LifecycleScripts(Path.join(__dirname, "../fixtures/lifecycle-scripts/f1"))89 .execute("test2", true)90 .then(() => {91 intercept.restore();92 expect(intercept.stdout[3].trim()).to.equal("> No output from f1@1.0.0 npm script test2");93 })94 .catch(err => failRestore(err, intercept));95 return promise;96 });97 it("should set vars from config in package.json", () => {98 const intercept = xstdout.intercept(true);99 const ls = new LifecycleScripts(Path.join(__dirname, "../fixtures/lifecycle-scripts/f3"));100 const promise = ls101 .execute("test", true)102 .then(() => {103 intercept.restore();104 const output = extractOutput(intercept);105 expect(output.stdout).includes("foo-bar");106 })107 .catch(err => failRestore(err, intercept));108 return promise;109 });110 it("should not execute a script not in package.json", () => {111 const promise = new LifecycleScripts({112 dir: Path.join(__dirname, "../fixtures/lifecycle-scripts/f2")...

Full Screen

Full Screen

index.js

Source:index.js Github

copy

Full Screen

1define(function(require) {2 var justep = require("$UI/system/lib/justep");3 require("css!$UI/system/components/bootstrap/lib/css/bootstrap").load();4 require("$UI/system/lib/cordova/cordova");require("css!$UI/system/components/justep/cordova/demo/cordova.css").load();5 require("$UI/system/components/justep/cordova/demo/www/cordova-incl");6 7 var Model = function() {8 this.callParent();9 this.on('onLoad', function() {10 var deviceReady = false;11 function interceptBackbutton() {12 eventOutput("Back button intercepted");13 }14 function interceptMenubutton() {15 eventOutput("Menu button intercepted");16 }17 function interceptSearchbutton() {18 eventOutput("Search button intercepted");19 }20 function interceptResume() {21 eventOutput("Resume event intercepted");22 }23 function interceptPause() {24 eventOutput("Pause event intercepted");25 }26 function interceptOnline() {27 eventOutput("Online event intercepted");28 }29 function interceptOffline() {30 eventOutput("Offline event intercepted");31 }32 var eventOutput = function(s) {33 var el = document.getElementById("results");34 el.innerHTML = el.innerHTML + s + "<br/>";35 };36 /**37 * Function called when page has finished loading.38 */39 function init() {40 document.addEventListener("deviceready", function() {41 deviceReady = true;42 console.log("Device="+device.platform+" "+device.version);43 eventOutput("deviceready event: "+device.platform+" "+device.version);44 }, false);45 window.setTimeout(function() {46 if (!deviceReady) {47 alert("Error: Apache Cordova did not initialize. Demo will not run correctly.");48 }49 },5000);50 }51 addListenerToClass('interceptBackButton', function() {52 document.addEventListener('backbutton', interceptBackbutton, false);53 });54 addListenerToClass('stopInterceptOfBackButton', function() {55 document.removeEventListener('backbutton', interceptBackbutton, false);56 });57 addListenerToClass('interceptMenuButton', function() {58 document.addEventListener('menubutton', interceptMenubutton, false);59 });60 addListenerToClass('stopInterceptOfMenuButton', function() {61 document.removeEventListener('menubutton', interceptMenubutton, false);62 });63 addListenerToClass('interceptSearchButton', function() {64 document.addEventListener('searchbutton', interceptSearchbutton, false);65 });66 addListenerToClass('stopInterceptOfSearchButton', function() {67 document.removeEventListener('searchbutton', interceptSearchbutton, false);68 });69 addListenerToClass('interceptResume', function() {70 document.addEventListener('resume', interceptResume, false);71 });72 addListenerToClass('stopInterceptOfResume', function() {73 document.removeEventListener('resume', interceptResume, false);74 });75 addListenerToClass('interceptPause', function() {76 document.addEventListener('pause', interceptPause, false);77 });78 addListenerToClass('stopInterceptOfPause', function() {79 document.removeEventListener('pause', interceptPause, false);80 });81 addListenerToClass('interceptOnline', function() {82 document.addEventListener('online', interceptOnline, false);83 });84 addListenerToClass('stopInterceptOfOnline', function() {85 document.removeEventListener('online', interceptOnline, false);86 });87 addListenerToClass('interceptOffline', function() {88 document.addEventListener('offline', interceptOffline, false);89 });90 addListenerToClass('stopInterceptOfOffline', function() {91 document.removeEventListener('offline', interceptOffline, false);92 });93 addListenerToClass('backBtn', backHome);94 init();95 });96 };97 return Model;...

Full Screen

Full Screen

popup.js

Source:popup.js Github

copy

Full Screen

1'use strict';2const interceptOn = document.getElementById('interceptOn');3const interceptOnLive = document.getElementById('interceptOnLive');4const interceptOff = document.getElementById('interceptOff');5const interceptOnText = document.getElementById('interceptOnText');6const interceptOnLiveText = document.getElementById('interceptOnLiveText');7const interceptOffText = document.getElementById('interceptOffText');8chrome.storage.sync.get('owaIntercept', (data) => {9 console.log('data', data);10 if (data.owaIntercept === "on") {11 interceptOn.checked = true;12 interceptOnLive.checked = false;13 interceptOff.checked = false;14 interceptOnText.style.fontWeight = 'bold';15 interceptOnLive.style.fontWeight = 'normal';16 interceptOffText.style.fontWeight = 'normal';17 } else if (data.owaIntercept === "on_live") {18 interceptOn.checked = false;19 interceptOnLive.checked = true;20 interceptOff.checked = false;21 interceptOnText.style.fontWeight = 'normal';22 interceptOnLiveText.style.fontWeight = 'bold';23 interceptOffText.style.fontWeight = 'normal';24 } else {25 interceptOn.checked = false;26 interceptOnLive.checked = false;27 interceptOff.checked = true;28 interceptOnText.style.fontWeight = 'normal';29 interceptOnLiveText.style.fontWeight = 'normal';30 interceptOffText.style.fontWeight = 'bold';31 }32});33interceptOn.onclick = () => {34 chrome.storage.sync.set({owaIntercept: "on"}, () => {35 console.log('intercept on');36 interceptOn.checked = true;37 interceptOnLive.checked = false;38 interceptOff.checked = false;39 interceptOnText.style.fontWeight = 'bold';40 interceptOnLive.style.fontWeight = 'normal';41 interceptOffText.style.fontWeight = 'normal';42 });43}44interceptOnLive.onclick = () => {45 chrome.storage.sync.set({owaIntercept: "on_live"}, () => {46 console.log('intercept on_live');47 interceptOn.checked = false;48 interceptOnLive.checked = true;49 interceptOff.checked = false;50 interceptOnText.style.fontWeight = 'normal';51 interceptOnLiveText.style.fontWeight = 'bold';52 interceptOffText.style.fontWeight = 'normal';53 });54}55interceptOff.onclick = () => {56 chrome.storage.sync.set({owaIntercept: "off"}, () => {57 console.log('intercept off');58 interceptOn.checked = false;59 interceptOnLive.checked = false;60 interceptOff.checked = true;61 interceptOnText.style.fontWeight = 'normal';62 interceptOnLiveText.style.fontWeight = 'normal';63 interceptOffText.style.fontWeight = 'bold';64 });...

Full Screen

Full Screen

intercept.js

Source:intercept.js Github

copy

Full Screen

1import {assert} from './assert';2import {3 isIntercept, isRecordInvalidIntercept, isRecordRemovedIntercept, Intercept,4 RecordInvalidatedDuringProcessing, RecordRemovedDuringProcessing5} from '../intercept';6describe('record-store/intercept', () => {7 describe('#isIntercept', () => {8 it('should indicate if an object is an instance of an intercept class', () => {9 assert.isTrue(isIntercept(new Intercept()));10 assert.isTrue(isIntercept(new RecordInvalidatedDuringProcessing()));11 assert.isTrue(isIntercept(new RecordRemovedDuringProcessing()));12 assert.isFalse(isIntercept(new Error()));13 assert.isFalse(isIntercept({}));14 assert.isFalse(isIntercept());15 });16 });17 describe('#isRecordInvalidIntercept', () => {18 it('should indicate if an object is an instance of an intercept class', () => {19 assert.isFalse(isRecordInvalidIntercept(new Intercept()));20 assert.isTrue(isRecordInvalidIntercept(new RecordInvalidatedDuringProcessing()));21 assert.isFalse(isRecordInvalidIntercept(new RecordRemovedDuringProcessing()));22 assert.isFalse(isRecordInvalidIntercept(new Error()));23 assert.isFalse(isRecordInvalidIntercept({}));24 assert.isFalse(isRecordInvalidIntercept());25 });26 });27 describe('#isRecordRemovedIntercept', () => {28 it('should indicate if an object is an instance of an intercept class', () => {29 assert.isFalse(isRecordRemovedIntercept(new Intercept()));30 assert.isFalse(isRecordRemovedIntercept(new RecordInvalidatedDuringProcessing()));31 assert.isTrue(isRecordRemovedIntercept(new RecordRemovedDuringProcessing()));32 assert.isFalse(isRecordRemovedIntercept(new Error()));33 assert.isFalse(isRecordRemovedIntercept({}));34 assert.isFalse(isRecordRemovedIntercept());35 });36 });...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1Cypress.Commands.add('intercept', (method, route, fixture) => {2 cy.intercept(method, route, (req) => {3 req.reply((res) => {4 res.send(fixture);5 });6 });7});8it('should intercept the api call', () => {9});10it('should display the user list', () => {11 cy.get('.network-btn').click();12 cy.get('.network-table').contains('td', 'Bob').should('be.visible');13});14it('should display the user list', () => {15 cy.get('.network-btn').click();16 cy.get('.network-table').contains('td', 'Bob').should('be.visible');17});18![Test Result](images/test-result.png)19it('should display the user list', () => {20 cy.get('.network-btn').click();21 cy.get('.network-table').contains('td', 'Bob').should('be.visible');22});23![Test Result](images/test

Full Screen

Using AI Code Generation

copy

Full Screen

1Cypress.Commands.add('interceptRequest', (url, method, fixture) => {2 cy.intercept(method, url, req => {3 req.reply(res => {4 res.send({5 });6 });7 });8});9Cypress.Commands.add('interceptRequest', (url, method, fixture) => {10 cy.intercept(method, url, req => {11 req.reply(res => {12 res.send({13 });14 });15 });16});

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('Test', () => {2 it('test', () => {3 cy.intercept('/api/v1/employees', { fixture: 'employees.json' });4 cy.get('[data-testid="employees"]').should('be.visible');5 });6});7 {8 },9 {10 },11 {12 },13 {14 }15describe('Employees', () => {16 it('should show the list of employees', () => {17 cy.get('[data-testid="employees"]').should('be.visible');18 });19});20describe('Employees', () => {21 it('should show the list of employees', () => {22 cy.intercept('/api/v1/employees', { fixture: 'employees.json' });23 cy.get('[data-testid="employees"]').should('be.visible');24 });25});26describe('Employees', () => {27 it('should show the list of employees', () => {28 cy.intercept('/api/v1/employees', { fixture: 'employees.json' });29 cy.get('[data-testid="employees"]').should('be.visible');30 cy.get('li').should('have.length', 4);31 });32});33describe('Employees

Full Screen

Using AI Code Generation

copy

Full Screen

1}).as('getNotes')2cy.wait('@getNotes')3cy.contains('Not Found')4}).as('getNotes')5cy.wait('@getNotes')6cy.contains('Not Found')7}).as('getNotes')8cy.wait('@getNotes')9cy.contains('Not Found')10 req.reply((res) => {11 })12}).as

Full Screen

Cypress Tutorial

Cypress is a renowned Javascript-based open-source, easy-to-use end-to-end testing framework primarily used for testing web applications. Cypress is a relatively new player in the automation testing space and has been gaining much traction lately, as evidenced by the number of Forks (2.7K) and Stars (42.1K) for the project. LambdaTest’s Cypress Tutorial covers step-by-step guides that will help you learn from the basics till you run automation tests on LambdaTest.

Chapters:

  1. What is Cypress? -
  2. Why Cypress? - Learn why Cypress might be a good choice for testing your web applications.
  3. Features of Cypress Testing - Learn about features that make Cypress a powerful and flexible tool for testing web applications.
  4. Cypress Drawbacks - Although Cypress has many strengths, it has a few limitations that you should be aware of.
  5. Cypress Architecture - Learn more about Cypress architecture and how it is designed to be run directly in the browser, i.e., it does not have any additional servers.
  6. Browsers Supported by Cypress - Cypress is built on top of the Electron browser, supporting all modern web browsers. Learn browsers that support Cypress.
  7. Selenium vs Cypress: A Detailed Comparison - Compare and explore some key differences in terms of their design and features.
  8. Cypress Learning: Best Practices - Take a deep dive into some of the best practices you should use to avoid anti-patterns in your automation tests.
  9. How To Run Cypress Tests on LambdaTest? - Set up a LambdaTest account, and now you are all set to learn how to run Cypress tests.

Certification

You can elevate your expertise with end-to-end testing using the Cypress automation framework and stay one step ahead in your career by earning a Cypress certification. Check out our Cypress 101 Certification.

YouTube

Watch this 3 hours of complete tutorial to learn the basics of Cypress and various Cypress commands with the Cypress testing at LambdaTest.

Run Cypress automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful