| /** | 
 |  * @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 |