Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / test / data / extensions / api_test / bluetooth_low_energy / get_descriptor / runtest.js
index 49418e4..99e2830 100644 (file)
@@ -2,7 +2,13 @@
 // 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);
@@ -27,42 +33,52 @@ var badDescId = 'desc_id1';
 
 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;