diff --git a/tests/baselines/reference/umd7.js b/tests/baselines/reference/umd7.js
new file mode 100644
index 00000000000..12d0a8651fc
--- /dev/null
+++ b/tests/baselines/reference/umd7.js
@@ -0,0 +1,16 @@
+//// [tests/cases/conformance/externalModules/umd7.ts] ////
+
+//// [foo.d.ts]
+
+declare function Thing(): number;
+export = Thing;
+export as namespace Foo;
+
+//// [a.ts]
+///
+let y: number = Foo();
+
+
+//// [a.js]
+///
+var y = exports.Foo();
diff --git a/tests/baselines/reference/umd7.symbols b/tests/baselines/reference/umd7.symbols
new file mode 100644
index 00000000000..0b3ef17fb7b
--- /dev/null
+++ b/tests/baselines/reference/umd7.symbols
@@ -0,0 +1,16 @@
+=== tests/cases/conformance/externalModules/a.ts ===
+///
+let y: number = Foo();
+>y : Symbol(y, Decl(a.ts, 1, 3))
+>Foo : Symbol(Foo, Decl(foo.d.ts, 2, 15))
+
+=== tests/cases/conformance/externalModules/foo.d.ts ===
+
+declare function Thing(): number;
+>Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0))
+
+export = Thing;
+>Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0))
+
+export as namespace Foo;
+
diff --git a/tests/baselines/reference/umd7.types b/tests/baselines/reference/umd7.types
new file mode 100644
index 00000000000..60782543710
--- /dev/null
+++ b/tests/baselines/reference/umd7.types
@@ -0,0 +1,18 @@
+=== tests/cases/conformance/externalModules/a.ts ===
+///
+let y: number = Foo();
+>y : number
+>Foo() : number
+>Foo : () => number
+
+=== tests/cases/conformance/externalModules/foo.d.ts ===
+
+declare function Thing(): number;
+>Thing : () => number
+
+export = Thing;
+>Thing : () => number
+
+export as namespace Foo;
+>Foo : any
+
diff --git a/tests/cases/conformance/externalModules/umd7.ts b/tests/cases/conformance/externalModules/umd7.ts
new file mode 100644
index 00000000000..9b9a9959efc
--- /dev/null
+++ b/tests/cases/conformance/externalModules/umd7.ts
@@ -0,0 +1,11 @@
+// @module: commonjs
+// @noImplicitReferences: true
+
+// @filename: foo.d.ts
+declare function Thing(): number;
+export = Thing;
+export as namespace Foo;
+
+// @filename: a.ts
+///
+let y: number = Foo();