// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+var error;
+
function testGetDescriptor() {
+ if (error !== undefined) {
+ chrome.test.sendMessage('fail');
+ chrome.test.fail(error);
+ }
chrome.test.assertTrue(descriptor != null, '\'descriptor\' is null');
chrome.test.assertEq('desc_id0', descriptor.instanceId);
var descriptor = null;
+function earlyError(message) {
+ error = message;
+ chrome.test.runTests([testGetDescriptor]);
+}
+
+function expectError(result) {
+ if (result || !chrome.runtime.lastError) {
+ earlyError('getDescriptor should have failed');
+ }
+ return error !== undefined;
+}
+
// 1. Unknown descriptor instanceId.
getDescriptor(badDescId, function (result) {
if (result || !chrome.runtime.lastError) {
- chrome.test.fail('getDescriptor should have failed for \'badDescId\'');
+ earlyError('getDescriptor should have failed for \'badDescId\'');
+ return;
}
// 2. Known descriptor instanceId, but the mapped device is unknown.
getDescriptor(descId, function (result) {
- if (result || !chrome.runtime.lastError) {
- chrome.test.fail('getDescriptor should have failed');
- }
+ if (expectError(result))
+ return;
// 3. Known descriptor instanceId, but the mapped service is unknown.
getDescriptor(descId, function (result) {
- if (result || !chrome.runtime.lastError) {
- chrome.test.fail('getDescriptor should have failed');
- }
+ if (expectError(result))
+ return;
// 4. Known descriptor instanceId, but the mapped characteristic is
// unknown.
getDescriptor(descId, function (result) {
- if (result || !chrome.runtime.lastError) {
- chrome.test.fail('getDescriptor should have failed');
- }
+ if (expectError(result))
+ return;
// 5. Known descriptor instanceId, but the mapped the characteristic
// does not know about the descriptor.
getDescriptor(descId, function (result) {
- if (result || !chrome.runtime.lastError) {
- chrome.test.fail('getDescriptor should have failed');
- }
+ if (expectError(result))
+ return;
// 6. Success.
getDescriptor(descId, function (result) {
if (chrome.runtime.lastError) {
- chrome.test.fail(chrome.runtime.lastError.message);
+ earlyError(chrome.runtime.lastError.message);
+ return;
}
descriptor = result;