| /** |
| * @fileoverview Exports symbols needed only by tests. |
| * |
| * This file exports several Closure Library symbols that are only |
| * used by tests. It is used to generate a file |
| * closure_asserts_commonjs.js that is only used at testing time. |
| */ |
| |
| // Include a dummy provide statement so that closurebuilder.py does not skip over this |
| // file. |
| goog.provide('jspb.ExportAsserts'); |
| |
| goog.require('goog.testing.asserts'); |
| |
| var global = Function('return this')(); |
| |
| // All of the closure "assert" functions are exported at the global level. |
| // |
| // The Google Closure assert functions start with assert, eg. |
| // assertThrows |
| // assertNotThrows |
| // assertTrue |
| // ... |
| // |
| // The one exception is the "fail" function. |
| function shouldExport(str) { |
| return str.lastIndexOf('assert') === 0 || str == 'fail'; |
| } |
| |
| for (var key in global) { |
| if ((typeof key == "string") && global.hasOwnProperty(key) && |
| shouldExport(key)) { |
| exports[key] = global[key]; |
| } |
| } |
| |
| // The COMPILED variable is set by Closure compiler to "true" when it compiles |
| // JavaScript, so in practice this is equivalent to "exports.COMPILED = true". |
| // This will disable some debugging functionality in debug.js. We could |
| // investigate whether this can/should be enabled in CommonJS builds. |
| exports.COMPILED = COMPILED |