// Copyright (c) 2012 Ecma International. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- es5id: 10.4.3-1-101gs description: > Strict Mode - checking 'this' (non-strict function passed as arg to String.prototype.replace from strict context) flags: [noStrict] ---*/ var x = 3; function f() { x = this; return "a"; } if ( (!(function() {"use strict"; return "ab".replace("b", f)==="aa";}())) || (x!==this)) { throw "'this' had incorrect value!"; }