-
Notifications
You must be signed in to change notification settings - Fork 426
/
tests.js
114 lines (98 loc) · 4.37 KB
/
tests.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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
exports.defineAutoTests = function () {
describe('Device Information (window.device)', function () {
it('should exist', function () {
expect(window.device).toBeDefined();
});
it('should contain a platform specification that is a string', function () {
expect(window.device.platform).toBeDefined();
expect(String(window.device.platform).length > 0).toBe(true);
});
it('should contain a version specification that is a string', function () {
expect(window.device.version).toBeDefined();
expect(String(window.device.version).length > 0).toBe(true);
});
it('should contain a UUID specification that is a string or a number', function () {
expect(window.device.uuid).toBeDefined();
if (typeof window.device.uuid === 'string' || typeof window.device.uuid === 'object') {
expect(String(window.device.uuid).length > 0).toBe(true);
} else {
expect(window.device.uuid > 0).toBe(true);
}
});
it('should contain a cordova specification that is a string', function () {
expect(window.device.cordova).toBeDefined();
expect(String(window.device.cordova).length > 0).toBe(true);
});
it('should depend on the presence of cordova.version string', function () {
expect(window.cordova.version).toBeDefined();
expect(String(window.cordova.version).length > 0).toBe(true);
});
it('should contain device.cordova equal to cordova.version', function () {
expect(window.device.cordova).toBe(window.cordova.version);
});
it('should contain a model specification that is a string', function () {
expect(window.device.model).toBeDefined();
expect(String(window.device.model).length > 0).toBe(true);
});
it('should contain a manufacturer property that is a string', function () {
expect(window.device.manufacturer).toBeDefined();
expect(String(window.device.manufacturer).length > 0).toBe(true);
});
it('should contain an isVirtual property that is a boolean', function () {
expect(window.device.isVirtual).toBeDefined();
expect(typeof window.device.isVirtual).toBe('boolean');
});
it('should contain a serial number specification that is a string', function () {
expect(window.device.serial).toBeDefined();
expect(String(window.device.serial).length > 0).toBe(true);
});
});
};
exports.defineManualTests = function (contentEl, createActionButton) {
var logMessage = function (message, color) {
var log = document.getElementById('info');
var logLine = document.createElement('div');
if (color) {
logLine.style.color = color;
}
logLine.innerHTML = message;
log.appendChild(logLine);
};
var clearLog = function () {
var log = document.getElementById('info');
log.innerHTML = '';
};
var device_tests =
'<h3>Press Dump Device button to get device information</h3>' +
'<div id="dump_device"></div>' +
'Expected result: Status box will get updated with device info. (i.e. platform, version, uuid, model, etc)';
contentEl.innerHTML = '<div id="info"></div>' + device_tests;
createActionButton(
'Dump device',
function () {
clearLog();
logMessage(JSON.stringify(window.device, null, '\t'));
},
'dump_device'
);
};