2014-07-22 01:09:02 +02:00
|
|
|
// Copyright (c) 2012 Ecma International. All rights reserved.
|
2015-07-17 17:42:45 +02:00
|
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
2014-07-22 01:09:02 +02:00
|
|
|
|
|
|
|
/*---
|
2014-07-25 00:41:42 +02:00
|
|
|
es5id: 10.4.3-1-101-s
|
2014-07-22 01:09:02 +02:00
|
|
|
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";
|
|
|
|
}
|
|
|
|
|
2015-08-13 17:34:40 +02:00
|
|
|
assert.sameValue(function() {"use strict"; return "ab".replace("b", f);}(), "aa");
|
2016-04-22 19:07:00 +02:00
|
|
|
assert.sameValue(x, this, 'x');
|