How to use getSession method in Cypress

Best JavaScript code snippet using cypress

pooling.js

Source:pooling.js Github

copy

Full Screen

...26 });27 context('when the pool is not full', () => {28 it('should retrieve a valid connection', () => {29 const client = mysqlx.getClient(config);30 return expect(client.getSession()).to.be.fulfilled31 .then(session => {32 return expect(session.inspect()).to.deep.include({ pooling: true });33 })34 .then(() => {35 return client.close();36 });37 });38 it('should allow to retrieve connections in parallel', () => {39 const client = mysqlx.getClient(config);40 return expect(Promise.all([client.getSession(), client.getSession()])).to.be.fulfilled41 .then(() => {42 return client.close();43 });44 });45 it('should start from a clean session slate', () => {46 const client = mysqlx.getClient(config, { pooling: { enabled: true, maxSize: 2 } });47 const expected = [[null]];48 const actual = [];49 return client.getSession()50 .then(session => {51 return session.sql('SET @a = 5').execute()52 .then(() => session.close());53 })54 .then(() => {55 return client.getSession();56 })57 .then(session => {58 return session.sql('SELECT @a = 5').execute(row => actual.push(row))59 .then(() => session.close());60 })61 .then(() => {62 expect(actual).to.deep.equal(expected);63 return client.close();64 });65 });66 it('it should not fail to retrieve a connection with short maximum idle times', () => {67 const client = mysqlx.getClient(config, { pooling: { enabled: true, maxSize: 4, maxIdleTime: 1 } });68 return client.getSession()69 .then(() => client.getSession())70 .then(() => client.getSession())71 .then(() => expect(client.getSession()).to.be.fulfilled)72 .then(() => client.close());73 });74 });75 context('when the pool is full', () => {76 context('and there are idle connections', () => {77 it('should wait indefinetily for a valid connection with the default timeout', () => {78 const client = mysqlx.getClient(config, { pooling: { enabled: true, maxSize: 1 } });79 return client.getSession()80 .then(session => {81 return session.close();82 })83 .then(() => {84 return new Promise((resolve, reject) => {85 // wait for a few millis before passing86 setTimeout(resolve, 1000);87 client.getSession().then(resolve).catch(reject);88 });89 })90 .then(() => {91 return client.close();92 });93 });94 it('should retrieve a valid connection if one is made available and there is no queueTimeout', () => {95 const client = mysqlx.getClient(config, { pooling: { enabled: true, maxSize: 2 } });96 return Promise.all([client.getSession(), client.getSession()])97 .then(sessions => {98 return expect(Promise.all([client.getSession(), sessions[0].close(), sessions[1].close(), client.getSession()])).to.be.fulfilled;99 })100 .then(() => {101 return client.close();102 });103 });104 it('should retrieve a valid connection if one is made available before exceeding the queueTimeout', () => {105 const client = mysqlx.getClient(config, { pooling: { enabled: true, maxSize: 1, queueTimeout: 2000 } });106 return client.getSession()107 .then(session => {108 const delayed = new Promise(resolve => {109 setTimeout(() => session.close().then(resolve), 500);110 });111 return expect(Promise.all([client.getSession(), delayed])).to.be.fulfilled;112 })113 .then(() => {114 return client.close();115 });116 });117 it('should retrieve a valid connection if the timeout is above the maximum idle time', function () {118 const maxIdleTime = 100;119 const queueTimeout = maxIdleTime * 50;120 const client = mysqlx.getClient(config, { pooling: { enabled: true, maxSize: 1, maxIdleTime, queueTimeout } });121 return client.getSession()122 .then(session => {123 return session.close();124 })125 .then(() => {126 return new Promise((resolve, reject) => {127 setTimeout(() => client.getSession().then(resolve).catch(reject), maxIdleTime * 10);128 });129 })130 .then(session => {131 return expect(session.inspect()).to.deep.include({ pooling: true });132 })133 .then(() => {134 return client.close();135 });136 });137 it('should start from a clean session slate', () => {138 const client = mysqlx.getClient(config, { pooling: { enabled: true, maxSize: 1 } });139 const expected = [[null]];140 const actual = [];141 return client.getSession()142 .then(session => {143 return session.sql('SET @a = 5').execute()144 .then(() => session.close());145 })146 .then(() => {147 return client.getSession();148 })149 .then(session => {150 return session.sql('SELECT @a = 5').execute(row => actual.push(row))151 .then(() => session.close());152 })153 .then(() => {154 expect(actual).to.deep.equal(expected);155 return client.close();156 });157 });158 it('should fail if the timeout is exceeded', () => {159 const queueTimeout = 100;160 const maxIdleTime = queueTimeout * 10;161 const error = `Could not retrieve a connection from the pool. Timeout of ${queueTimeout} ms was exceeded.`;162 const client = mysqlx.getClient(config, { pooling: { enabled: true, maxSize: 1, maxIdleTime, queueTimeout } });163 return client.getSession()164 .then(() => {165 return expect(client.getSession()).to.be.rejectedWith(error);166 })167 .then(() => {168 return client.close();169 });170 });171 it('prioritizes idle connections instead of unused ones', () => {172 const client = mysqlx.getClient(config, { pooling: { enabled: true, maxSize: 3 } });173 const connections = [];174 return client.getSession()175 .then(session1 => {176 return session1.sql('SELECT CONNECTION_ID()')177 .execute(row => connections.push(row[0]))178 .then(() => client.getSession())179 .then(session2 => {180 return session2.sql('SELECT CONNECTION_ID()')181 .execute(row => connections.push(row[0]))182 // close the second session183 .then(() => session2.close());184 })185 .then(() => client.getSession())186 .then(session3 => {187 return session3.sql('SELECT CONNECTION_ID()')188 .execute(row => connections.push(row[0]))189 // close the first session190 .then(() => session1.close());191 })192 .then(() => client.getSession())193 .then(session4 => {194 return session4.sql('SELECT CONNECTION_ID()')195 .execute(row => connections.push(row[0]));196 });197 })198 .then(() => {199 expect(connections).to.have.lengthOf(4);200 expect(connections[2]).to.equal(connections[1]);201 expect(connections[3]).to.equal(connections[0]);202 return client.close();203 });204 });205 it('prioritizes idle connections instead of closed ones', () => {206 const client = mysqlx.getClient(config, { pooling: { enabled: true, maxSize: 3, maxIdleTime: 10 } });207 const connections = [];208 return client.getSession()209 .then(session1 => {210 return session1.sql('SELECT CONNECTION_ID()')211 .execute(row => connections.push(row[0]))212 .then(() => client.getSession())213 .then(session2 => {214 return session2.sql('SELECT CONNECTION_ID()')215 .execute(row => connections.push(row[0]))216 // close the second session217 .then(() => session2.close());218 })219 .then(() => new Promise(resolve => {220 setTimeout(() => client.getSession().then(resolve), 100);221 }))222 .then(session3 => {223 return session3.sql('SELECT CONNECTION_ID()')224 .execute(row => connections.push(row[0]))225 // close the first session226 .then(() => session1.close());227 })228 .then(() => new Promise(resolve => {229 setTimeout(() => client.getSession().then(resolve), 100);230 }))231 .then(session4 => {232 return session4.sql('SELECT CONNECTION_ID()')233 .execute(row => connections.push(row[0]));234 });235 })236 .then(() => {237 expect(connections).to.have.lengthOf(4);238 expect(connections[2]).to.equal(connections[1]);239 expect(connections[3]).to.equal(connections[0]);240 return client.close();241 });242 });243 it('re-uses idle connections after some period of inactivity', () => {244 const baseConfig = Object.assign({}, config, { connectTimeout: 100 });245 const client = mysqlx.getClient(baseConfig, { pooling: { maxSize: 2 } });246 const connections = [];247 return client.getSession()248 .then(session1 => {249 return session1.sql('SELECT CONNECTION_ID()')250 .execute(row => connections.push(row[0]))251 .then(() => session1.close());252 })253 .then(() => {254 return new Promise(resolve => setTimeout(() => client.getSession().then(resolve), 200));255 })256 .then(session2 => {257 return session2.sql('SELECT CONNECTION_ID()')258 .execute(row => connections.push(row[0]))259 .then(() => session2.close());260 })261 .then(() => {262 expect(connections).to.have.lengthOf(2);263 expect(connections[1]).to.equal(connections[0]);264 return client.close();265 });266 });267 });268 context('and there are no idle connections', () => {269 it('should wait indefinetily for a valid connection with the default timeout', () => {270 const client = mysqlx.getClient(config, { pooling: { enabled: true, maxSize: 1 } });271 return client.getSession()272 .then(() => {273 return new Promise((resolve, reject) => {274 // wait for a few millis before passing275 setTimeout(resolve, 1000);276 client.getSession().then(resolve).catch(reject);277 });278 })279 .then(() => {280 return client.close();281 });282 });283 it('should fail after the timeout is exceeded', () => {284 const queueTimeout = 200;285 const error = `Could not retrieve a connection from the pool. Timeout of ${queueTimeout} ms was exceeded.`;286 const client = mysqlx.getClient(config, { pooling: { enabled: true, maxSize: 1, queueTimeout } });287 return client.getSession()288 .then(() => {289 return expect(client.getSession()).to.be.rejectedWith(error);290 })291 .then(() => {292 return client.close();293 });294 });295 });296 });297 context('session state', () => {298 it('should make idle connections unusable', () => {299 const maxIdleTime = 1;300 const client = mysqlx.getClient(config, { pooling: { maxIdleTime } });301 const error = 'This session was closed. Use "mysqlx.getSession()" or "mysqlx.getClient()" to create a new one.';302 return client.getSession()303 .then(session => {304 return session.close()305 .then(() => {306 return new Promise(resolve => setTimeout(resolve, maxIdleTime * 10));307 })308 .then(() => {309 return expect(session.getSchemas()).to.be.rejectedWith(error);310 });311 })312 .then(() => {313 return client.close();314 });315 });316 context('killing connections', () => {317 it('should not fail when closing connections that have been killed', () => {318 const client = mysqlx.getClient(config, { pooling: { maxSize: 2 } });319 const connections = [];320 return client.getSession()321 .then(session1 => {322 return session1.sql('SELECT CONNECTION_ID()').execute(row => connections.push(row[0]))323 .then(() => {324 return session1.close();325 });326 })327 .then(() => {328 return Promise.all([client.getSession(), client.getSession()]);329 })330 .then(sessions => {331 // sessions[0] should have the same id as session1332 return sessions[1].sql(`KILL ${connections[0]}`)333 .execute()334 .then(() => {335 return expect(sessions[0].close()).to.be.fulfilled;336 });337 })338 .then(() => {339 return client.close();340 });341 });342 it('should properly re-use a connection that has been killed', () => {343 const client = mysqlx.getClient(config, { pooling: { maxSize: 2 } });344 const connections = [];345 return client.getSession()346 .then(session1 => {347 return session1.sql('SELECT CONNECTION_ID()')348 .execute(row => connections.push(row[0]))349 .then(() => {350 return session1.close();351 });352 })353 .then(() => {354 return Promise.all([client.getSession(), client.getSession()]);355 })356 .then(sessions => {357 return Promise.all([sessions[0].close(), sessions[1].sql(`KILL ${connections[0]}`).execute()]);358 })359 .then(() => {360 return expect(client.getSession()).to.be.fulfilled;361 })362 .then(session4 => {363 return session4.sql('SELECT CONNECTION_ID()')364 .execute(row => connections.push(row[0]));365 })366 .then(() => {367 expect(connections).to.have.lengthOf(2);368 // session1 and session4 should have different ids since the connection was re-created369 expect(connections[0]).to.not.equal(connections[1]);370 return client.close();371 });372 });373 });374 });375 context('closing the pool', () => {376 it('closes all the active connections in the server', () => {377 const client = mysqlx.getClient(config, { pooling: { maxSize: 3 } });378 const processIds = [];379 const connectionIds = [];380 const trackConnectionId = () => {381 return client.getSession()382 .then(session => {383 return session.sql('SELECT CONNECTION_ID()')384 .execute(row => connectionIds.push(row[0]));385 });386 };387 return Promise.all([trackConnectionId(), trackConnectionId(), trackConnectionId()])388 .then(() => client.close())389 .then(() => mysqlx.getSession(config))390 .then(session => {391 return session.sql('SHOW PROCESSLIST')392 .execute(row => processIds.push(row[0]))393 .then(() => session.close());394 })395 .then(() => {396 expect(processIds).to.not.include.members(connectionIds);397 });398 });399 });...

Full Screen

Full Screen

account_control.js

Source:account_control.js Github

copy

Full Screen

...31import("etherpad.pad.padutils");32import("etherpad.pad.padusers");33import("etherpad.collab.collab_server");34function onRequest() {35 if (!getSession().tempFormData) {36 getSession().tempFormData = {};37 }38 return false; // path not handled here39}40//--------------------------------------------------------------------------------41// helpers42//--------------------------------------------------------------------------------43function _redirOnError(m, clearQuery) {44 if (m) {45 getSession().accountFormError = m;46 var dest = request.url;47 if (clearQuery) {48 dest = request.path;49 }50 response.redirect(dest);51 }52}53function setSigninNotice(m) {54 getSession().accountSigninNotice = m;55}56function setSessionError(m) {57 getSession().accountFormError = m;58}59function _topDiv(id, name) {60 var m = getSession()[name];61 if (m) {62 delete getSession()[name];63 return DIV({id: id}, m);64 } else {65 return '';66 }67}68function _messageDiv() { return _topDiv('account-message', 'accountMessage'); }69function _errorDiv() { return _topDiv('account-error', 'accountFormError'); }70function _signinNoticeDiv() { return _topDiv('signin-notice', 'accountSigninNotice'); }71function _renderTemplate(name, data) {72 data.messageDiv = _messageDiv;73 data.errorDiv = _errorDiv;74 data.signinNotice = _signinNoticeDiv;75 data.tempFormData = getSession().tempFormData;76 renderFramed('pro/account/'+name+'.ejs', data);77}78//----------------------------------------------------------------79// /ep/account/80//----------------------------------------------------------------81function render_main_get() {82 _renderTemplate('my-account', {83 account: getSessionProAccount(),84 changePass: getSession().changePass85 });86}87function render_update_info_get() {88 response.redirect('/ep/account/');89}90function render_update_info_post() {91 var fullName = request.params.fullName;92 var email = trim(request.params.email);93 getSession().tempFormData.email = email;94 getSession().tempFormData.fullName = fullName;95 _redirOnError(pro_accounts.validateEmail(email));96 _redirOnError(pro_accounts.validateFullName(fullName));97 98 pro_accounts.setEmail(getSessionProAccount(), email);99 pro_accounts.setFullName(getSessionProAccount(), fullName);100 getSession().accountMessage = "Info updated.";101 response.redirect('/ep/account/');102}103function render_update_password_get() {104 response.redirect('/ep/account/');105}106function render_update_password_post() {107 var password = request.params.password;108 var passwordConfirm = request.params.passwordConfirm;109 if (password != passwordConfirm) { _redirOnError('Passwords did not match.'); }110 _redirOnError(pro_accounts.validatePassword(password));111 112 pro_accounts.setPassword(getSessionProAccount(), password);113 if (getSession().changePass) {114 delete getSession().changePass;115 response.redirect('/');116 }117 getSession().accountMessage = "Password updated.";118 response.redirect('/ep/account/');119}120//--------------------------------------------------------------------------------121// signin/signout122//--------------------------------------------------------------------------------123function render_sign_in_get() {124 if (request.params.uid && request.params.tp) {125 var m = pro_accounts.authenticateTempSignIn(Number(request.params.uid), request.params.tp);126 if (m) {127 getSession().accountFormError = m;128 response.redirect('/ep/account/');129 }130 }131 if (request.params.instantSigninKey) {132 _attemptInstantSignin(request.params.instantSigninKey);133 }134 if (getSession().recentlySignedOut && getSession().accountFormError) {135 delete getSession().accountFormError;136 delete getSession().recentlySignedOut;137 }138 // Note: must check isAccountSignedIn before calling checkAutoSignin()!139 if (pro_accounts.isAccountSignedIn()) {140 _redirectToPostSigninDestination();141 }142 pro_account_auto_signin.checkAutoSignin();143 var domainRecord = domains.getRequestDomainRecord();144 var showGuestBox = false;145 if (request.params.guest && request.params.padId) {146 showGuestBox = true;147 }148 _renderTemplate('signin', {149 domain: pro_utils.getFullProDomain(),150 siteName: toHTML(pro_config.getConfig().siteName),151 email: getSession().tempFormData.email || "",152 password: getSession().tempFormData.password || "",153 rememberMe: getSession().tempFormData.rememberMe || false,154 showGuestBox: showGuestBox,155 localPadId: request.params.padId156 });157}158function _attemptInstantSignin(key) {159 // See src/etherpad/control/global_pro_account_control.js160 var email = null;161 var password = null;162 syncedWithCache('global_signin_passwords', function(c) {163 if (c[key]) {164 email = c[key].email;165 password = c[key].password;166 }167 delete c[key];168 });169 getSession().tempFormData.email = email;170 _redirOnError(pro_accounts.authenticateSignIn(email, password), true);171}172function render_sign_in_post() {173 var email = trim(request.params.email);174 var password = request.params.password;175 getSession().tempFormData.email = email;176 getSession().tempFormData.rememberMe = request.params.rememberMe;177 _redirOnError(pro_accounts.authenticateSignIn(email, password));178 pro_account_auto_signin.setAutoSigninCookie(request.params.rememberMe);179 _redirectToPostSigninDestination();180}181function render_guest_sign_in_get() {182 var localPadId = request.params.padId;183 var domainId = domains.getRequestDomainId();184 var globalPadId = padutils.makeGlobalId(domainId, localPadId);185 var userId = padusers.getUserId();186 pro_account_auto_signin.checkAutoSignin();187 pad_security.clearKnockStatus(userId, globalPadId);188 _renderTemplate('signin-guest', {189 localPadId: localPadId,190 errorMessage: getSession().guestAccessError,191 siteName: toHTML(pro_config.getConfig().siteName),192 guestName: padusers.getUserName() || ""193 });194}195function render_guest_sign_in_post() {196 function _err(m) {197 if (m) {198 getSession().guestAccessError = m;199 response.redirect(request.url);200 }201 }202 var displayName = request.params.guestDisplayName;203 var localPadId = request.params.localPadId;204 if (!(displayName && displayName.length > 0)) {205 _err("Please enter a display name");206 }207 getSession().guestDisplayName = displayName;208 response.redirect('/ep/account/guest-knock?padId='+encodeURIComponent(localPadId)+209 "&guestDisplayName="+encodeURIComponent(displayName));210}211function render_guest_knock_get() {212 var localPadId = request.params.padId;213 helpers.addClientVars({214 localPadId: localPadId,215 guestDisplayName: request.params.guestDisplayName,216 padUrl: "http://"+httpHost(request.host)+"/"+localPadId217 });218 _renderTemplate('guest-knock', {});219}220function render_guest_knock_post() {221 var localPadId = request.params.padId;222 var displayName = request.params.guestDisplayName;223 var domainId = domains.getRequestDomainId();224 var globalPadId = padutils.makeGlobalId(domainId, localPadId);225 var userId = padusers.getUserId();226 response.setContentType("text/plain; charset=utf-8");227 // has the knock already been answsered?228 var currentAnswer = pad_security.getKnockAnswer(userId, globalPadId);229 if (currentAnswer) {230 response.write(currentAnswer);231 } else {232 collab_server.guestKnock(globalPadId, userId, displayName);233 response.write("wait");234 }235}236function _redirectToPostSigninDestination() {237 var cont = request.params.cont;238 if (!cont) { cont = '/'; }239 response.redirect(cont);240}241function render_sign_out() {242 pro_account_auto_signin.setAutoSigninCookie(false);243 pro_accounts.signOut();244 delete getSession().padPasswordAuth;245 getSession().recentlySignedOut = true;246 response.redirect("/");247}248//--------------------------------------------------------------------------------249// create-admin-account (eepnet only)250//--------------------------------------------------------------------------------251function render_create_admin_account_get() {252 if (pro_accounts.doesAdminExist()) {253 renderFramedError("An admin account already exists on this domain.");254 response.stop();255 }256 _renderTemplate('create-admin-account', {});257}258function render_create_admin_account_post() {259 var email = trim(request.params.email);260 var password = request.params.password;261 var passwordConfirm = request.params.passwordConfirm;262 var fullName = request.params.fullName;263 getSession().tempFormData.email = email;264 getSession().tempFormData.fullName = fullName;265 if (password != passwordConfirm) { _redirOnError('Passwords did not match.'); }266 _redirOnError(pro_accounts.validateEmail(email));267 _redirOnError(pro_accounts.validateFullName(fullName));268 _redirOnError(pro_accounts.validatePassword(password));269 pro_accounts.createNewAccount(null, fullName, email, password, true);270 var u = pro_accounts.getAccountByEmail(email, null);271 // TODO: should we send a welcome email here?272 //pro_accounts.sendWelcomeEmail(u);273 _redirOnError(pro_accounts.authenticateSignIn(email, password));274 response.redirect("/");275}276//--------------------------------------------------------------------------------277// forgot password278//--------------------------------------------------------------------------------279function render_forgot_password_get() {280 if (request.params.instantSubmit && request.params.email) {281 render_forgot_password_post();282 } else {283 _renderTemplate('forgot-password', {284 email: getSession().tempFormData.email || ""285 });286 }287}288function render_forgot_password_post() {289 var email = trim(request.params.email);290 getSession().tempFormData.email = email;291 var u = pro_accounts.getAccountByEmail(email, null);292 if (!u) {293 _redirOnError("Account not found: "+email);294 }295 var tempPass = stringutils.randomString(10);296 pro_accounts.setTempPassword(u, tempPass);297 var subj = "EtherPad: Request to reset your password on "+request.domain;298 var body = renderTemplateAsString('pro/account/forgot-password-email.ejs', {299 account: u,300 recoverUrl: pro_accounts.getTempSigninUrl(u, tempPass)301 });302 var fromAddr = pro_utils.getEmailFromAddr();303 sendEmail(u.email, fromAddr, subj, {}, body);304 getSession().accountMessage = "An email has been sent to "+u.email+" with instructions to reset the password.";305 response.redirect(request.path);...

Full Screen

Full Screen

edit.js

Source:edit.js Github

copy

Full Screen

...16 editor.lastValue = null;17 statusBar = new StatusBar(editor, document.getElementById("statusBar"));18 var ext = op.ext;19 if (ext == 'js')20 editor.getSession().setMode("ace/mode/javascript");21 else if (ext == "json" || ext == "json6")22 editor.getSession().setMode("ace/mode/json");23 else if (ext == "jsx" || ext == "es" || ext == "es6")24 editor.getSession().setMode("ace/mode/jsx");25 else if (ext == 'xml' || ext == "xsl")26 editor.getSession().setMode("ace/mode/xml");27 else if (ext == 'xsd')28 editor.getSession().setMode("ace/mode/scheme");29 else if (ext == "conf")30 editor.getSession().setMode("ace/mode/nix");31 else if (ext == 'css' || ext == "scss")32 editor.getSession().setMode("ace/mode/scss");33 else if (ext == "lua")34 editor.getSession().setMode("ace/mode/lua");35 else if (ext == "sql")36 editor.getSession().setMode("ace/mode/mysql");37 else if (ext == "less")38 editor.getSession().setMode("ace/mode/less");39 else if (ext == 'md')40 editor.getSession().setMode("ace/mode/markdown");41 else if (ext == "html")42 editor.getSession().setMode("ace/mode/html");43 else if (ext == "java")44 editor.getSession().setMode("ace/mode/java");45 else if (ext == "jsp")46 editor.getSession().setMode("ace/mode/jsp");47 else if (ext == "vm")48 editor.getSession().setMode("ace/mode/velocity");49 else if (ext == "ftl")50 editor.getSession().setMode("ace/mode/ftl");51 else if (ext == "go")52 editor.getSession().setMode("ace/mode/golang");53 else if (ext == "py")54 editor.getSession().setMode("ace/mode/python");55 else if (ext == "php" || ext == "php5" || ext == "php6")56 editor.getSession().setMode("ace/mode/php")57 else if (ext == "jade")58 editor.getSession().setMode("ace/mode/jade");59 else if (ext == "ejs")60 editor.getSession().setMode("ace/mode/ejs");61 else if (ext == "sh")62 editor.getSession().setMode("ace/mode/sh");63 else if (ext == "coffee")64 editor.getSession().setMode("ace/mode/coffee");65 else if (ext == "cpp" || ext == "c")66 editor.getSession().setMode("ace/mode/c_cpp");67 else if (ext == "ts")68 editor.getSession().setMode("ace/mode/typescript");69 else70 editor.getSession().setMode("ace/mode/text");71 editor.getSession().setUseWrapMode(true);72 editor.getSession().setWrapLimitRange();73 editor.commands.addCommands([{74 name: "showSettingsMenu",75 bindKey: {76 win: "Ctrl-s",77 mac: "Command-s",78 sender: "editor"79 },80 exec: function (editor) {81 var value = editor.getValue();82 var oldValue = editor.lastValue;83 if (oldValue != value) {84 jQuery.post("save", {85 content: value,86 ext: editor.ext,87 path: editor.path,88 "mtime": editor.lastModifiedTime89 }, function (result) {90 Utils.handleResult(result, function () {91 if (result && result.code == "1") {92 editor.lastValue = value;93 editor.lastModifiedTime = result.mtime;94 editor.isChanged = false;95 onHandleChanged(editor.isChanged);96 onHandleNotify("<span style='color: red;'>保存成功~~<span>");97 } else {98 onHandleNotify("<span style='color: red;'>" + result.message || "保存失败,请稍后再试~~" + "<span>");99 }100 });101 });102 } else {103 onHandleNotify("<span style='color: red;'>保存成功~~<span>");104 }105 },106 readOnly: true107 }]);108 editor.commands.addCommands([{109 name: "toggleUserWrap",110 bindKey: {111 win: "Ctrl-w",112 mac: "Command-w",113 sender: "editor"114 },115 exec: function (editor) {116 var isOn = editor.isWrapOn;117 if (isOn) {118 editor.getSession().setUseWrapMode(false);119 onHandleNotify("<span style='color: red;'>自动换行关闭~~<span>");120 } else {121 editor.getSession().setUseWrapMode(true);122 editor.getSession().setWrapLimitRange();123 onHandleNotify("<span style='color: red;'>自动换行打开~~<span>");124 }125 editor.isWrapOn = !isOn;126 },127 readOnly: false128 }, {129 name: "changeThmeme",130 bindKey: {131 win: "Alt-t",132 mac: "Command-t"133 },134 exec: function (editor) {135 editor.setTheme(Theme.getNextTheme());136 onHandleNotify("<span style='color: red;'>Theme改为:" + Theme.getCurrentThemeName() + "<span>");137 }138 }, {139 name: "bueatifyCode",140 bindKey: {141 win: "Ctrl-b",142 mac: "Command-b"143 },144 exec: function (editor) {145 if (editor.languageMode == "js" || editor.languageMode == "xml"146 || editor.languageMode == "html") {147 var Beautify = ace.require("ace/ext/beautify");148 Beautify.beautify(editor.getSession());149 onHandleNotify("<span style='color: red;'>美化" + editor.languageMode + "代码<span>");150 } else if(editor.languageMode == "json"){151 var value = editor.getValue();152 var newValue = vkbeautify.json(value, 4);153 editor.getSession().doc.setValue(newValue);154 onHandleNotify("<span style='color: red;'>美化" + editor.languageMode + "代码<span>");155 } else if(editor.languageMode == "css"){156 var value = editor.getValue();157 var newValue = vkbeautify.css(value, '. . . .');158 editor.getSession().doc.setValue(newValue);159 onHandleNotify("<span style='color: red;'>美化" + editor.languageMode + "代码<span>");160 } else if(editor.languageMode == "sql"){161 var value = editor.getValue();162 var newValue = vkbeautify.sql(value, '----');163 editor.getSession().doc.setValue(newValue);164 onHandleNotify("<span style='color: red;'>美化" + editor.languageMode + "代码<span>");165 }166 else if (editor.languageMode == "xml" || editor.languageMode == "xsd") {167 var value = editor.getValue();168 var newValue = vkbeautify.xml(value, 4);169 editor.getSession().doc.setValue(newValue);170 onHandleNotify("<span style='color: red;'>美化" + editor.languageMode + "代码<span>");171 } else {172 onHandleNotify("<span style='color: red;'>不支持该格式的美化<span>");173 }174 }175 }]);176 editor.lastValue = editor.getValue();177 editor.on("change", Utils.throttle(function(){178 var currentValue = editor.getValue();179 editor.isChanged = currentValue != editor.lastValue;180 onHandleChanged(editor.isChanged);181 }, 100));182 onHandleChanged(editor.isChanged);183 return editor;...

Full Screen

Full Screen

http.js

Source:http.js Github

copy

Full Screen

...27Vue.prototype.$close=false;28axios.interceptors.request.use(29 config => {30 config.headers['Content-Type'] = 'application/x-www-form-urlencoded';31 // config.data.append("channelCode",getSession("channelCode"));32 if(config.method=='post' || config.method=='put'){33 if(config.url == '/api/upload'){34 config.data.append("channel",getSession("channelCode"));35 config.data.append("relation",getSession("userRelation"));36 // config.data.append("app_key",appkey);37 // config.data.append("sign",getSession("sign"));38 // config.data.append("user_agent",ua);39 config.headers['Content-Type'] = 'multipart\n' +40 ' config.data.append("token",getSession("token"));/form-data';41 }else{42 config.data = {43 ...config.data,44 // app_key: appkey,45 token: getSession("token"),46 channel:getSession("channelCode"),47 relation:getSession("userRelation"),48 // sign: getSession("sign"),49 // user_agent: ua50 }51 config.data = qs.stringify(config.data)52 }53 }else if(config.method=='get'){54 config.params = {55 // app_key: appkey,56 token: getSession("token"),57 channel:getSession("channelCode"),58 relation:getSession("userRelation"),59 // sign: getSession("sign"),60 // user_agent: ua,61 ...config.params62 }63 config.paramsSerializer=function(params) {64 return qs.stringify(config.params)65 }66 }else if(config.method =='delete'){67 config.params = {68 // app_key: appkey,69 token: getSession("token"),70 channel:getSession("channelCode"),71 relation:getSession("userRelation"),72 // sign: getSession("sign"),73 // user_agent: ua,74 ...config.params75 }76 config.paramsSerializer=function(params) {77 return qs.stringify(config.params)78 }79 }80 return config;81 },82 error => {83 return Promise.reject(err);84 }85);86axios.interceptors.response.use(...

Full Screen

Full Screen

latex-min.js

Source:latex-min.js Github

copy

Full Screen

1var editor = ace.edit("code"),2 $result = $("#east");3editor.setTheme("ace/theme/crimson_editor");4editor.getSession().setMode("ace/mode/tex");5editor.getSession().setUseWrapMode(!0);6editor.focus();7$("#code").resize(function() {8 editor.resize(!0);9 editor.focus()10});11$("#codebox").tabs({12 onSelect: function(a, b) {13 editor.resize(!0);14 editor.focus()15 }16});17$("#clear").click(function() {18 editor.getValue().length && $.messager.confirm("Alert", "Do you really want to remove the code?", function(a) {19 a && (a = document.querySelector(".ace_editor").env.editor, a.selection.getCursor(), a.setValue(""), $result.html(""))20 }).window({21 width: 40022 })23});24var edit = document.querySelector(".ace_editor").env.editor,25 latex;26$(".keyboard li").click(function() {27 $(this);28 var a = $(this).html(),29 b = a.match(/(.*)MathJax-Element-(\d+)(.*)/);30 b ? latex = $("#MathJax-Element-" + b[2]).html() : a.match(/Space/) ? latex = "\\:" : a.match(/Quad/) ? latex = "\\quad" : a.match(/Enter/) && (latex = "\\\\");31 edit.selection.getCursor();32 edit.insert(latex)33});34editor.on("change", function() {35 var a = editor.getValue();36 0 >= a.length && ($result.html(""), result);37 $result.html("$" + a + "$");38 MathJax.typeset(document.querySelectorAll("#east"));39});40$("#undo").click(function() {41 editor.getSession().getUndoManager().hasUndo() && editor.getSession().getUndoManager().undo(!1)42});43$("#redo").click(function() {44 editor.getSession().getUndoManager().hasRedo() && editor.getSession().getUndoManager().redo(!1)45});46var clipboard;47$("#cut").click(function() {48 var a = editor.getSelectionRange();49 editor.getSession().getTextRange(a) && (clipboard = editor.getSession().getTextRange(a), editor.getSession().remove(a))50});51$("#delete").click(function() {52 var a = editor.getSelectionRange();53 editor.getSession().getTextRange(a) && editor.getSession().remove(a)54});55$("#copy").click(function() {56 var a = editor.getSelectionRange();57 editor.getSession().getTextRange(a) && (clipboard = editor.getSession().getTextRange(a))58});59$("#paste").click(function() {60 var a = editor.getCursorPosition();61 editor.getSession().insert(a, clipboard)62});63$("#select").click(function() {64 editor.getSelection().selectAll()65});66$("#find").click(function() {67 editor.execCommand("find")68});69$("#findreplace").click(function() {70 editor.execCommand("replace")71});72function setEditorTheme(a) {73 editor.setTheme("ace/theme/" + a)74}75function setEditorSoftWrap(a) {76 "true" === a ? editor.getSession().setUseWrapMode(!0) : "false" === a ? editor.getSession().setUseWrapMode(!1) : (editor.getSession().setUseWrapMode(!0), editor.getSession().setWrapLimitRange(parseInt(a), parseInt(a)))77}78function setEditorFontSize(a) {79 editor_font_size = parseInt(a);80 editor.setFontSize(editor_font_size);81 $("#east").css("font-size", editor_font_size)82}83function download(a) {84 var b = editor.getValue();85 if (0 >= b.length) return $.messager.alert("Alert", "Please type some code to generate image"), !1;86 $.ajax({87 url: "https://tools.tutorialspoint.com/process_latex.php",88 method: "POST",89 data: {90 type: a,91 code: b92 },93 dataType: "json",94 beforeSend: function() {95 $("#loading").css({96 visibility: "visible"97 })98 },99 success: function(a) {100 $("#loading").css({101 visibility: "hidden"102 });103 $("#download").attr("src", a.file)104 },105 error: function(a) {106 $("#loading").css({107 visibility: "hidden"108 });109 $("#download").attr("src", a.file)110 }111 })112}113function setEditorTabSize(a) {114 editor_tab_size = parseInt(a);115 editor.getSession().setTabSize(editor_tab_size)116}117function setEditorInvisible(a) {118 editor.setShowInvisibles(a)119}120function setEditorGutter(a) {121 editor.renderer.setShowGutter(a)122}123$("div#loading").css({124 visibility: "hidden"125});126$("form#ff").css({127 visibility: "visible"...

Full Screen

Full Screen

JSONEditorPostView.js

Source:JSONEditorPostView.js Github

copy

Full Screen

...20 render:function () {21 var _this = this;22 ace.require("ace/ext/language_tools");23 var editor = ace.edit("jsoneditor");24 var requestBodyObject = editor.getSession().getValue();25 var request = $.ajax({26 url:cluster.get("connectionRootURL") + this.model.endpoint,27 type:this.model.action,28 data:requestBodyObject29 });30 request.success(function (data, textStatus, jqXHR) {31 _this.resultBody = JSON.stringify(data, undefined, 2);32 var output = ace.edit("jsonoutput");33 output.getSession().setMode("ace/mode/json");34 output.setTheme("ace/theme/monokai");35 output.setShowPrintMargin(false);36 output.setFontSize(13);37 output.getSession().setUseSoftTabs(true);38 output.getSession().setUseWrapMode(true);39 output.setValue(_this.resultBody);40 output.getSession().selection.clearSelection();41 output.setOptions({42 readOnly:true43 });44 output.moveCursorTo(1, 1);45 output.getSession().foldAll(1, 10000);46 });47 request.error(function (data, textStatus, jqXHR) {48 _this.resultBody = JSON.stringify(data, undefined, 2);49 var output = ace.edit("jsonoutput");50 output.getSession().setMode("ace/mode/json");51 output.setTheme("ace/theme/monokai");52 output.setShowPrintMargin(false);53 output.setFontSize(13);54 output.getSession().setUseSoftTabs(true);55 output.getSession().setUseWrapMode(true);56 output.setValue(_this.resultBody);57 output.getSession().selection.clearSelection();58 output.setOptions({59 readOnly:true60 });61 output.moveCursorTo(1, 1);62 //output.getSession().foldAll(1, 10000);63 });64 request.complete(function (jqXHR, textStatus) {65// TODO: may be a good place to add help or response information.66 });67 return this;68 }...

Full Screen

Full Screen

editor_code.js

Source:editor_code.js Github

copy

Full Screen

...11$(function() {12 // Javascript editor13 var js_editor = ace.edit("javascript_editor");14 js_editor.setTheme("ace/theme/monokai");15 js_editor.getSession().setMode("ace/mode/javascript");16 js_editor.setShowPrintMargin(false);17 // HTML editor18 var html_editor = ace.edit("html_editor");19 html_editor.setTheme("ace/theme/monokai");20 html_editor.getSession().setMode("ace/mode/html");21 html_editor.setShowPrintMargin(false);22 // CSS editor23 var css_editor = ace.edit("css_editor");24 css_editor.setTheme("ace/theme/monokai");25 css_editor.getSession().setMode("ace/mode/css");26 css_editor.setShowPrintMargin(false);27 // JSON editor28 var json_editor = ace.edit("json_editor");29 json_editor.setTheme("ace/theme/monokai");30 json_editor.getSession().setMode("ace/mode/json");31 json_editor.setShowPrintMargin(false);32 // LESS editor33 var less_editor = ace.edit("less_editor");34 less_editor.setTheme("ace/theme/monokai");35 less_editor.getSession().setMode("ace/mode/less");36 less_editor.setShowPrintMargin(false);37 // PHP editor38 var php_editor = ace.edit("php_editor");39 php_editor.setTheme("ace/theme/monokai");40 php_editor.getSession().setMode("ace/mode/php");41 php_editor.setShowPrintMargin(false);42 // Ruby editor43 var ruby_editor = ace.edit("ruby_editor");44 ruby_editor.setTheme("ace/theme/monokai");45 ruby_editor.getSession().setMode("ace/mode/ruby");46 ruby_editor.setShowPrintMargin(false);47 // SASS editor48 var sass_editor = ace.edit("sass_editor");49 sass_editor.setTheme("ace/theme/monokai");50 sass_editor.getSession().setMode("ace/mode/sass");51 sass_editor.setShowPrintMargin(false);52 // Coffee editor53 var coffee_editor = ace.edit("coffee_editor");54 coffee_editor.setTheme("ace/theme/monokai");55 coffee_editor.getSession().setMode("ace/mode/coffee");56 coffee_editor.setShowPrintMargin(false);57 // Handlebars editor58 var handlebars_editor = ace.edit("handlebars_editor");59 handlebars_editor.setTheme("ace/theme/monokai");60 handlebars_editor.getSession().setMode("ace/mode/handlebars");61 handlebars_editor.setShowPrintMargin(false);...

Full Screen

Full Screen

editor.js

Source:editor.js Github

copy

Full Screen

...11$('div.code-editor').each(function () {12 var editor = ace.edit(this);13 var textarea = document.querySelector('input[name=html]');14 editor.setTheme('ace/theme/chrome');15 editor.getSession().setMode('ace/mode/html');16 editor.getSession().setUseWrapMode(true);17 editor.getSession().setUseSoftTabs(true);18 editor.setShowPrintMargin(false);19 editor.getSession().on('change', function () {20 textarea.value = editor.getSession().getValue();21 });22 textarea.value = editor.getSession().getValue();23});24$('div[class*="code-editor-"]').each(function () {25 var input = $(this).siblings('input')[0];26 var mode = 'html';27 var editor = ace.edit(this);28 if ($(this).hasClass('code-editor-text')) {29 mode = 'plain_text';30 } else if ($(this).hasClass('code-editor-mjml')) {31 mode = 'html';32 editor.getSession().setUseWorker(false);33 } else if ($(this).hasClass('code-editor-css')) {34 mode = 'css';35 } else if ($(this).hasClass('code-editor-javascript')) {36 mode = 'javascript';37 } else if ($(this).hasClass('code-editor-json')) {38 mode = 'json';39 } else if ($(this).hasClass('code-editor-handlebars')) {40 mode = 'handlebars';41 }42 editor.setTheme('ace/theme/chrome');43 editor.setShowPrintMargin(false);44 editor.getSession().setMode('ace/mode/' + mode);45 editor.getSession().setUseWrapMode(true);46 editor.getSession().setUseSoftTabs(true);47 editor.getSession().setValue(input.value);48 editor.getSession().on('change', function () {49 input.value = editor.getSession().getValue();50 });...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('My First Test', function() {2 it('Does not do much!', function() {3 cy.contains('type').click()4 cy.url().should('include', '/commands/actions')5 cy.get('.action-email')6 .type('

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('My First Test', function () {2 it('Visits the Kitchen Sink', function () {3 cy.contains('type').click()4 cy.url().should('include', '/commands/actions')5 cy.get('.action-email')6 .type('

Full Screen

Using AI Code Generation

copy

Full Screen

1Cypress.Commands.add("getSession", function () {2 return cy.request({3 });4});5Cypress.Commands.add("setSession", function (sessionData) {6 return cy.request({7 });8});9Cypress.Commands.add("clearSession", function () {10 return cy.request({11 });12});13Cypress.Commands.add("login", function () {14 return cy.request({15 body: {16 },17 });18});19Cypress.Commands.add("logout", function () {20 return cy.request({21 });22});23Cypress.Commands.add("getCookie", function (cookieName) {24 return cy.request({25 });26});27Cypress.Commands.add("setCookie", function (cookieName, cookieValue) {28 return cy.request({29 body: {30 },31 });32});33Cypress.Commands.add("clearCookie", function (cookieName) {34 return cy.request({35 });36});37Cypress.Commands.add("clearCookies", function () {38 return cy.request({39 });40});41Cypress.Commands.add("

Full Screen

Using AI Code Generation

copy

Full Screen

1Cypress.Commands.add('getSession', function () {2 return cy.request({3 headers: {4 }5 })6});7Cypress.Commands.add('setSession', function (session) {8 return cy.request({9 headers: {10 }11 })12});

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('test', () => {2 it('test', () => {3 cy.wait(2000)4 cy.get('input[name="q"]').type('Cypress')5 cy.wait(2000)6 cy.get('input[name="btnK"]').click()7 cy.wait(2000)8 cy.wait(2000)9 cy.get('.navbar-nav > :nth-child(1) > .nav-link').click()10 cy.wait(2000)11 cy.get('.navbar-nav > :nth-child(2) > .nav-link').click()12 cy.wait(2000)13 cy.get('.navbar-nav > :nth-child(3) > .nav-link').click()14 cy.wait(2000)15 cy.get('.navbar-nav > :nth-child(4) > .nav-link').click()16 cy.wait(2000)17 cy.get('.navbar-nav > :nth-child(5) > .nav-link').click()18 cy.wait(2000)19 cy.get('.navbar-nav > :nth-child(6) > .nav-link').click()20 cy.wait(2000)21 cy.get('.navbar-nav > :nth-child(7) > .nav-link').click()22 cy.wait(2000)23 cy.get('.navbar-nav > :nth-child(8) > .nav-link').click()24 cy.wait(2000)25 cy.get('.navbar-nav > :nth-child(9) > .nav-link').click()26 cy.wait(2000)27 cy.get('.navbar-nav > :nth-child(10) > .nav-link').click()28 cy.wait(2000)29 cy.get('.navbar-nav > :nth-child(11) > .nav-link').click()30 cy.wait(2000)31 cy.get('.navbar-nav > :nth-child(12) > .nav-link').click()32 cy.wait(2000)33 cy.get('.navbar-nav > :nth-child(13) > .nav-link').click()34 cy.wait(2000)35 cy.get('.navbar-nav > :nth-child(14) > .nav-link').click()36 cy.wait(2000)37 cy.get('.navbar-nav > :nth-child(15) > .nav-link').click

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('Cypress Session', () => {2 it('should load the page', () => {3 cy.get('#tsf > div:nth-child(2) > div > div.RNNXgb > div > div.a4bIc > input').type('Cypress')4 cy.get('#tsf > div:nth-child(2) > div > div.FPdoLc.VlcLAe > center > input.gNO89b').click()5 cy.get('#rso > div:nth-child(1) > div > div:nth-child(1) > a > h3').click()6 cy.get('#navbar >

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('Test', () => {2 it('test', () => {3 cy.get('#username').type('admin');4 cy.get('#password').type('admin');5 cy.get('#login').click();6 cy.get('#logout').click();7 cy.get('#username').type('admin');8 cy.get('#password').type('admin');9 cy.get('#login').click();10 cy.get('#logout').click();11 cy.get('#username').type('admin');12 cy.get('#password').type('admin');13 cy.get('#login').click();14 cy.get('#logout').click();15 cy.get('#username').type('admin');16 cy.get('#password').type('admin');17 cy.get('#login').click();18 cy.get('#logout').click();19 cy.get('#username').type('admin');20 cy.get('#password').type('admin');21 cy.get('#login').click();22 cy.get('#logout').click();23 cy.get('#username').type('admin');24 cy.get('#password').type('admin');25 cy.get('#login').click();26 cy.get('#logout').click();27 cy.get('#username').type('admin');28 cy.get('#password').type('admin');29 cy.get('#login').click();30 cy.get('#logout').click();31 cy.get('#username').type('admin');32 cy.get('#password').type('admin');33 cy.get('#login').click();34 cy.get('#logout').click();35 });36});

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('Cypress Session', function() {2 it('should set and get session', function() {3 cy.setSession({4 })5 cy.request('/api/session').then(response => {6 expect(response.body.foo).to.equal('bar')7 })8 cy.getSession().then(session => {9 expect(session.foo).to.equal('bar')10 })11 })12})

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