Index: test/mjsunit/arguments.js |
diff --git a/test/mjsunit/arguments.js b/test/mjsunit/arguments.js |
index 26eb38912a0e552dc6d61243ccb8b3480ae892ed..f179c7e8872594aa27a6743afc5940be2ff734dc 100644 |
--- a/test/mjsunit/arguments.js |
+++ b/test/mjsunit/arguments.js |
@@ -26,7 +26,6 @@ |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
// Flags: --allow-natives-syntax |
- |
Igor Sheludko
2016/04/08 07:36:15
Spurious change?
|
function argc0() { |
return arguments.length; |
} |
@@ -204,3 +203,70 @@ assertEquals(117, arg_set(0xFFFFFFFF)); |
} |
assertTrue(%HasSloppyArgumentsElements(a)); |
})(); |
+ |
+(function testDeleteArguments() { |
+ function f() { return arguments }; |
+ var args = f(1, 2); |
+ assertEquals(1, args[0]); |
+ assertEquals(2, args[1]); |
+ assertEquals(2, args.length); |
+ |
+ delete args[0]; |
+ assertEquals(undefined, args[0]); |
+ assertEquals(2, args[1]); |
+ assertEquals(2, args.length); |
+ |
+ delete args[1]; |
+ assertEquals(undefined, args[0]); |
+ assertEquals(undefined, args[1]); |
+ assertEquals(2, args.length); |
+})(); |
+ |
+(function testDeleteFastSloppyArguments() { |
+ function f(a) { return arguments }; |
+ var args = f(1, 2); |
+ assertEquals(1, args[0]); |
+ assertEquals(2, args[1]); |
+ assertEquals(2, args.length); |
+ |
+ delete args[0]; |
+ assertEquals(undefined, args[0]); |
+ assertEquals(2, args[1]); |
+ assertEquals(2, args.length); |
+ |
+ delete args[1]; |
+ assertEquals(undefined, args[0]); |
+ assertEquals(undefined, args[1]); |
+ assertEquals(2, args.length); |
+})(); |
+ |
+(function testDeleteSlowSloppyArguments() { |
+ var key = 10000; |
+ function f(a) { |
+ arguments[key] = key; |
+ return arguments |
+ }; |
+ var args = f(1, 2); |
+ assertEquals(1, args[0]); |
+ assertEquals(2, args[1]); |
+ assertEquals(key, args[key]); |
+ assertEquals(2, args.length); |
+ |
+ delete args[0]; |
+ assertEquals(undefined, args[0]); |
+ assertEquals(2, args[1]); |
+ assertEquals(key, args[key]); |
+ assertEquals(2, args.length); |
+ |
+ delete args[1]; |
+ assertEquals(undefined, args[0]); |
+ assertEquals(undefined, args[1]); |
+ assertEquals(key, args[key]); |
+ assertEquals(2, args.length); |
+ |
+ delete args[key]; |
+ assertEquals(undefined, args[0]); |
+ assertEquals(undefined, args[1]); |
+ assertEquals(undefined, args[key]); |
+ assertEquals(2, args.length); |
+})(); |