diff --git a/test/index.html b/test/index.html index f74414288..ce43f99ea 100644 --- a/test/index.html +++ b/test/index.html @@ -22,8 +22,6 @@ var setProperty = (function() { var _defineProperty = Object.defineProperty; return function(object, key, value) { - // avoid a bug where overwriting non-enumerable built-ins makes them enumerable - // https://code.google.com/p/v8/issues/detail?id=1623 try { _defineProperty(object, key, { 'configurable': true, @@ -38,9 +36,6 @@ }()); function addBizarroMethods() { - // add extensions - Function.prototype._method = function() {}; - // allow bypassing native checks setProperty(Function.prototype, 'toString', (function() { function fnToString() { @@ -54,6 +49,9 @@ return fnToString; }())); + // add extensions + Function.prototype._method = function() {}; + // set bad shims setProperty(Array, '_isArray', Array.isArray); setProperty(Array, 'isArray', function() {}); diff --git a/test/test.js b/test/test.js index abaa1972e..b8a8e4099 100644 --- a/test/test.js +++ b/test/test.js @@ -208,14 +208,16 @@ /** * Sets a non-enumerable property value on `object`. * + * Note: This function is used to avoid a bug in older versions of V8 where + * overwriting non-enumerable built-ins makes them enumerable. + * See https://code.google.com/p/v8/issues/detail?id=1623 + * * @private * @param {Object} object The object augment. * @param {string} key The name of the property to set. * @param {*} value The property value. */ function setProperty(object, key, value) { - // avoid a bug where overwriting non-enumerable built-ins makes them enumerable - // https://code.google.com/p/v8/issues/detail?id=1623 try { defineProperty(object, key, { 'configurable': true, @@ -273,7 +275,7 @@ // load ES6 Set shim require('./asset/set'); - // expose `baseEach` + // expose `baseEach` for better code coverage if (isModularize && !isNpm) { var path = require('path'); _._baseEach = require(path.join(path.dirname(filePath), 'internals', 'baseEach.js'));