// 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-101-s
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";
}

assert.sameValue(function() {"use strict"; return "ab".replace("b", f);}(), "aa");
assert.sameValue(x, this, 'x');
