v8/test/mjsunit/es7/object-observe-runtime.js
adamk@chromium.org 92b895a761 Harden %SetIsObserved with RUNTIME_ASSERTs
Now throws if its argument is already observed, or if the argument is
the global proxy.

BUG=371782
LOG=Y
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/274163002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 08:49:51 +00:00

19 lines
445 B
JavaScript

// Copyright 2014 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --allow-natives-syntax
// These tests are meant to ensure that that the Object.observe runtime
// functions are hardened.
var obj = {};
%SetIsObserved(obj);
assertThrows(function() {
%SetIsObserved(obj);
});
assertThrows(function() {
%SetIsObserved(this);
});