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.
This commit is contained in:
parent
93e3a48004
commit
b38dea0597
25901 changed files with 9982925 additions and 369 deletions
119
gaia/apps/keyboard/test/marionette/text_keyboard_test.js
Executable file
119
gaia/apps/keyboard/test/marionette/text_keyboard_test.js
Executable file
|
|
@ -0,0 +1,119 @@
|
|||
'use strict';
|
||||
|
||||
var KeyboardTestApp = require('./lib/keyboard_test_app'),
|
||||
Dialog = require('../../../system/test/marionette/lib/dialog'),
|
||||
Keyboard = require('./lib/keyboard'),
|
||||
assert = require('assert');
|
||||
|
||||
marionette('Text keyboard input tests', function() {
|
||||
var apps = {};
|
||||
var keyboardTestApp = null;
|
||||
var keyboard = null;
|
||||
var systemInputMgmt = 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() {
|
||||
systemInputMgmt = client.loader.getAppClass('system', 'input_management');
|
||||
system = client.loader.getAppClass('system');
|
||||
system.waitForFullyLoaded();
|
||||
|
||||
keyboard = new Keyboard(client);
|
||||
keyboardTestApp = new KeyboardTestApp(client);
|
||||
|
||||
keyboard.waitForKeyboardReady();
|
||||
|
||||
keyboardTestApp.launch();
|
||||
keyboardTestApp.switchTo();
|
||||
keyboardTestApp.textInput.tap();
|
||||
|
||||
keyboard.switchTo();
|
||||
});
|
||||
|
||||
test('Type abc', function() {
|
||||
var inputString = 'abc';
|
||||
keyboard.type(inputString);
|
||||
keyboardTestApp.switchTo();
|
||||
|
||||
assert.equal(
|
||||
keyboardTestApp.textInput.getAttribute('value'), inputString);
|
||||
});
|
||||
|
||||
test('Type multiple alphabet', function() {
|
||||
var inputString = 'aGDsaIabcmvljdDFDFDDs śZîd';
|
||||
keyboard.type(inputString);
|
||||
keyboardTestApp.switchTo();
|
||||
|
||||
assert.equal(
|
||||
keyboardTestApp.textInput.getAttribute('value'), inputString);
|
||||
});
|
||||
|
||||
test('Type number and then alphabet', function() {
|
||||
var inputString = '123abc';
|
||||
keyboard.type(inputString);
|
||||
keyboardTestApp.switchTo();
|
||||
|
||||
assert.equal(
|
||||
keyboardTestApp.textInput.getAttribute('value'), inputString);
|
||||
});
|
||||
|
||||
test('Type alphabet and then number', function() {
|
||||
var inputString = 'abc123';
|
||||
keyboard.type(inputString);
|
||||
keyboardTestApp.switchTo();
|
||||
|
||||
assert.equal(
|
||||
keyboardTestApp.textInput.getAttribute('value'), inputString);
|
||||
});
|
||||
|
||||
test('Type symbols', function() {
|
||||
var inputString = 'aG1 !@#$&*-_/(),.:;"\'?[]{}<>+=`^~|\\%';
|
||||
keyboard.type(inputString);
|
||||
keyboardTestApp.switchTo();
|
||||
|
||||
assert.equal(
|
||||
keyboardTestApp.textInput.getAttribute('value'), inputString);
|
||||
});
|
||||
|
||||
var dialog;
|
||||
|
||||
test('Type into an window.prompt() dialog and hit enter', function() {
|
||||
// Hide keyboard before click prompt
|
||||
keyboardTestApp.switchTo();
|
||||
keyboardTestApp.nonInputArea.tap();
|
||||
client.waitFor(() => {
|
||||
return !systemInputMgmt.keyboardFrameDisplayed();
|
||||
});
|
||||
|
||||
dialog = new Dialog(client);
|
||||
|
||||
keyboardTestApp.switchTo();
|
||||
keyboardTestApp.triggerPromptModalDialog();
|
||||
client.switchToFrame();
|
||||
|
||||
dialog.promptInput.tap();
|
||||
keyboard.switchTo();
|
||||
keyboard.type('lazy dog.');
|
||||
keyboard.getKey('\u000d').tap();
|
||||
|
||||
keyboardTestApp.switchTo();
|
||||
|
||||
assert.equal('lazy dog.', keyboardTestApp.promptResult.text());
|
||||
});
|
||||
});
|
||||
Loading…
Reference in a new issue