| Index: extensions/test/data/unit_test_environment_specific_bindings.js | 
| diff --git a/extensions/test/data/unit_test_environment_specific_bindings.js b/extensions/test/data/unit_test_environment_specific_bindings.js | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..245d050d6325400bc5c7722c790620dc9a8d83aa | 
| --- /dev/null | 
| +++ b/extensions/test/data/unit_test_environment_specific_bindings.js | 
| @@ -0,0 +1,50 @@ | 
| +// Copyright 2014 The Chromium Authors. All rights reserved. | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +var nativesPromise = requireAsync('testNatives'); | 
| + | 
| +function registerHooks(api) { | 
| +  var chromeTest = api.compiledApi; | 
| +  var apiFunctions = api.apiFunctions; | 
| + | 
| +  apiFunctions.setHandleRequest('notifyPass', function() { | 
| +    nativesPromise.then(function(natives) { | 
| +      natives.NotifyPass(); | 
| +    }); | 
| +  }); | 
| + | 
| +  apiFunctions.setHandleRequest('notifyFail', function(message) { | 
| +    nativesPromise.then(function(natives) { | 
| +      natives.NotifyFail(message); | 
| +    }); | 
| +  }); | 
| + | 
| +  apiFunctions.setHandleRequest('log', function() { | 
| +    nativesPromise.then(function(natives) { | 
| +      natives.Log($Array.join(arguments, ' ')); | 
| +    }); | 
| +  }); | 
| + | 
| +} | 
| + | 
| +function testDone(runNextTest) { | 
| +    // Use a promise here to allow previous test contexts to be eligible for | 
| +    // garbage collection. | 
| +    Promise.resolve().then(function() { | 
| +      runNextTest(); | 
| +    }); | 
| +} | 
| + | 
| +function exportTests(tests, runTests, exports) { | 
| +  $Array.forEach(tests, function(test) { | 
| +    exports[test.name] = function() { | 
| +      runTests([test]); | 
| +      return true; | 
| +    } | 
| +  }); | 
| +} | 
| + | 
| +exports.registerHooks = registerHooks; | 
| +exports.testDone = testDone; | 
| +exports.exportTests = exportTests; | 
|  |