"use strict";

import d, {a, b as B} from "./abc";

import * as abc from "./abc";

function x() { throw new Error("should not be executed"); }
it("should have this = undefined on imported non-strict functions", function() {
	x
	d().should.be.eql("undefined");
	x
	a().should.be.eql("undefined");
	x
	B().should.be.eql("undefined");
	x
	abc.a().should.be.eql(abc);
	x
});

import C2, { C } from "./new";

import * as New from "./new";

it("should be possible to use new correctly", function() {
	x
	new C().should.be.eql({ok: true});
	x
	new C2().should.be.eql({ok: true});
	x
	new New.C().should.be.eql({ok: true});
});

@@ -498,38 +498,37 @@
 %09new C().should.
-be.eql
+match
 (%7Bok: true%7D);%0A%09x
@@ -537,38 +537,37 @@
 new C2().should.
-be.eql
+match
 (%7Bok: true%7D);%0A%09x
@@ -587,22 +587,21 @@
 .should.
-be.eql
+match
 (%7Bok: tr

update the affected test case with proper interfaces