VulpesOS/gaia/apps/keyboard/test/marionette/email_keyboard_test.js
OverSu b38dea0597 Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
2026-09-30 23:13:03 +02:00

81 lines
1.9 KiB
JavaScript
Executable file

'use strict';
var KeyboardTestApp = require('./lib/keyboard_test_app'),
Keyboard = require('./lib/keyboard'),
assert = require('assert');
marionette('Email keyboard input tests', function() {
var apps = {};
var keyboardTestApp = null;
var keyboard = null;
var client = null;
var system = null;
apps[KeyboardTestApp.ORIGIN] = __dirname + '/apps/keyboardtestapp';
client = marionette.client({
profile: {
apps: apps,
prefs: {
'focusmanager.testmode': true
},
settings: {
'lockscreen.enabled': false,
'ftu.manifestURL': null
}
},
desiredCapabilities: { raisesAccessibilityExceptions: false }
});
setup(function() {
system = client.loader.getAppClass('system');
system.waitForFullyLoaded();
keyboard = new Keyboard(client);
keyboardTestApp = new KeyboardTestApp(client);
keyboard.waitForKeyboardReady();
keyboardTestApp.launch();
keyboardTestApp.switchTo();
keyboardTestApp.emailInput.tap();
keyboard.switchTo();
});
test('Should be email layout', function() {
var atSymbol = '@';
var commaSymbol = ',';
assert.equal(keyboard.isKeyPresent(atSymbol), true);
assert.equal(keyboard.isKeyPresent(commaSymbol), false);
});
test('Type post@mydomain.com', function() {
keyboard.type('post');
keyboardTestApp.switchTo();
keyboardTestApp.emailInput.tap();
keyboard.switchTo();
keyboard.type('@');
keyboard.type('mydomain.com');
keyboardTestApp.switchTo();
assert.equal(
keyboardTestApp.emailInput.getAttribute('value'), 'post@mydomain.com');
});
test('Type post123@mydomain.com', function() {
keyboard.type('post123');
keyboard.type('@');
keyboard.type('mydomain.com');
keyboardTestApp.switchTo();
assert.equal(
keyboardTestApp.emailInput.getAttribute('value'),
'post123@mydomain.com');
});
});