This repository has been archived by the owner on Nov 3, 2021. It is now read-only.
/
contacts_shortcuts_test.js
87 lines (70 loc) · 2.58 KB
/
contacts_shortcuts_test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
'use strict';
var Contacts = require('./lib/contacts');
var assert = require('assert');
var Actions = require('marionette-client').Actions;
marionette('Contacts shortcuts > touch', function() {
var config = Contacts.config;
config.prefs = {
'dom.w3c_touch_events.enabled': 1
};
var client = marionette.client(config);
var subject;
var selectors;
var actions = new Actions(client);
var scrollbar,
overlay;
function overlayOpacity() {
return subject.getElementStyle(selectors.overlay, 'opacity');
}
setup(function() {
subject = new Contacts(client);
subject.launch();
selectors = Contacts.Selectors;
subject.addContact();
scrollbar = client.helper.waitForElement(selectors.scrollbar);
});
suite('touch on shortcuts', function() {
test('press/release on scrollbar should show/hide shortcut', function() {
var action = actions.press(scrollbar, 10, 200).perform();
overlay = client.helper.waitForElement(selectors.overlay);
assert.equal(overlay.text().length, 1);
assert.equal(overlayOpacity(), '1');
action.release().perform();
client.helper.waitForElementToDisappear(overlay);
assert.equal(overlayOpacity(), '0');
assert.equal(overlay.text().length, 0);
});
// Disabled bug 1005708
test.skip('shortcut text should change after moving some distance',
function() {
var letter, nextLetter, lastLetter;
var action = actions.press(scrollbar, 10, 100).perform();
overlay = client.helper.waitForElement(selectors.overlay);
letter = overlay.text();
assert.equal(letter.length, 1);
action.moveByOffset(0, 1).perform();
nextLetter = overlay.text();
assert.equal(nextLetter.length, 1);
assert.equal(letter, nextLetter);
action.moveByOffset(0, 50).perform();
lastLetter = overlay.text();
assert.equal(nextLetter.length, 1);
assert.notEqual(lastLetter, nextLetter);
action.release().perform();
});
test('pressing near the last release position should show valid shortcut',
function() {
actions.press(scrollbar, 10, 200).release().perform();
var action = actions.press(scrollbar, 10, 200).perform();
overlay = client.helper.waitForElement(selectors.overlay);
assert.equal(overlay.text().length, 1);
action.release().perform();
});
test('pressing outside the scrollbar should not show shortcut',
function() {
var action = actions.press(scrollbar, -1, 200).perform();
assert.notEqual(overlayOpacity(), '1');
action.release().perform();
});
});
});