From 3ad77c6ea0bb08de951c71a8b057d1d92551a1f4 Mon Sep 17 00:00:00 2001 From: Dan Quirk Date: Wed, 23 Jul 2014 03:27:56 -0700 Subject: [PATCH] Be less clever, just use \r\n for newlines by default, tests can opt into different newlines, fix one more file casing test --- src/harness/harness.ts | 10 +++------- src/harness/runner.ts | 2 ++ tests/baselines/reference/contextualTyping.errors.txt | 3 ++- tests/baselines/reference/contextualTyping.js | 3 ++- tests/cases/compiler/contextualTyping.ts | 4 ++-- tests/cases/projects/MultipleLevels/A/{a.ts => A.ts} | 0 .../projects/MultipleLevels/A/AA/{aA.ts => AA.ts} | 0 tests/cases/projects/MultipleLevels/B/{b.ts => B.ts} | 0 8 files changed, 11 insertions(+), 11 deletions(-) rename tests/cases/projects/MultipleLevels/A/{a.ts => A.ts} (100%) rename tests/cases/projects/MultipleLevels/A/AA/{aA.ts => AA.ts} (100%) rename tests/cases/projects/MultipleLevels/B/{b.ts => B.ts} (100%) diff --git a/src/harness/harness.ts b/src/harness/harness.ts index bcef6fabea0..25c04993b31 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -568,9 +568,6 @@ module Harness { private lastErrors: MinimalDiagnostic[]; - // save this away so we can reset the newline value after any tests that change it - private originalNewline = sys.newLine; - public reset() { this.inputFiles = []; this.settings = []; @@ -629,7 +626,7 @@ module Harness { // always use \r\n for newlines unless the test specifies otherwise // this ensures baseline consistency across Windows and *nix but still lets us test both \n and \r\n - sys.newLine = '\r\n'; + //sys.newLine = '\r\n'; this.settings.forEach(setting => { switch (setting.flag.toLowerCase()) { @@ -751,7 +748,6 @@ module Harness { var sourceMapData: ts.SourceMapData[]; if (!hadParseErrors) { sourceMapData = checker.emitFiles().sourceMaps; - sys.newLine = this.originalNewline; } var errors: MinimalDiagnostic[] = []; @@ -766,7 +762,7 @@ module Harness { result.updateSourceMapRecord(program, sourceMapData); onComplete(result); - sys.newLine = this.originalNewline; + sys.newLine = '\r\n'; return options; } } @@ -1133,7 +1129,7 @@ module Harness { return filePath.indexOf('lib.d.ts') >= 0 || filePath.indexOf('lib.core.d.ts') >= 0; } - if (Error) (Error).stackTraceLimit = 100; + if (Error) (Error).stackTraceLimit = 1; } // TODO: not sure why Utils.evalFile isn't working with this, eventually will concat it like old compiler instead of eval diff --git a/src/harness/runner.ts b/src/harness/runner.ts index ab77778588f..26b768729fc 100644 --- a/src/harness/runner.ts +++ b/src/harness/runner.ts @@ -104,4 +104,6 @@ if (runners.length === 0) { // runners.push(new GeneratedFourslashRunner()); } +sys.newLine = '\r\n'; + runTests(runners); diff --git a/tests/baselines/reference/contextualTyping.errors.txt b/tests/baselines/reference/contextualTyping.errors.txt index edc2e64569e..69bffcc5782 100644 --- a/tests/baselines/reference/contextualTyping.errors.txt +++ b/tests/baselines/reference/contextualTyping.errors.txt @@ -234,4 +234,5 @@ interface B extends A { } var x: B = { }; ~ -!!! Type '{}' is not assignable to type 'B':\n Property 'x' is missing in type '{}'. \ No newline at end of file +!!! Type '{}' is not assignable to type 'B':\n Property 'x' is missing in type '{}'. + \ No newline at end of file diff --git a/tests/baselines/reference/contextualTyping.js b/tests/baselines/reference/contextualTyping.js index c8f98cea049..30a1d614141 100644 --- a/tests/baselines/reference/contextualTyping.js +++ b/tests/baselines/reference/contextualTyping.js @@ -228,7 +228,8 @@ Point.prototype = { interface A { x: string; } interface B extends A { } -var x: B = { }; +var x: B = { }; + //// [contextualTyping.js] var C1T5 = (function () {\n function C1T5() {\n this.foo = function (i) {\n return i;\n };\n }\n return C1T5;\n})();\nvar C2T5;\n(function (C2T5) {\n C2T5.foo = function (i) {\n return i;\n };\n})(C2T5 || (C2T5 = {}));\nvar c3t1 = (function (s) {\n return s;\n});\nvar c3t2 = ({\n n: 1\n});\nvar c3t3 = [];\nvar c3t4 = function () {\n return ({});\n};\nvar c3t5 = function (n) {\n return ({});\n};\nvar c3t6 = function (n, s) {\n return ({});\n};\nvar c3t7 = function (n) {\n return n;\n};\nvar c3t8 = function (n) {\n return n;\n};\nvar c3t9 = [[], []];\nvar c3t10 = [({}), ({})];\nvar c3t11 = [function (n, s) {\n return s;\n}];\nvar c3t12 = {\n foo: ({})\n};\nvar c3t13 = ({\n f: function (i, s) {\n return s;\n }\n});\nvar c3t14 = ({\n a: []\n});\nvar C4T5 = (function () {\n function C4T5() {\n this.foo = function (i, s) {\n return s;\n };\n }\n return C4T5;\n})();\nvar C5T5;\n(function (C5T5) {\n C5T5.foo;\n C5T5.foo = function (i, s) {\n return s;\n };\n})(C5T5 || (C5T5 = {}));\nvar c6t5;\nc6t5 = function (n) {\n return ({});\n};\nvar c7t2;\nc7t2[0] = ({ n: 1 });\nvar objc8 = ({});\nobjc8.t1 = (function (s) {\n return s;\n});\nobjc8.t2 = ({\n n: 1\n});\nobjc8.t3 = [];\nobjc8.t4 = function () {\n return ({});\n};\nobjc8.t5 = function (n) {\n return ({});\n};\nobjc8.t6 = function (n, s) {\n return ({});\n};\nobjc8.t7 = function (n) {\n return n;\n};\nobjc8.t8 = function (n) {\n return n;\n};\nobjc8.t9 = [[], []];\nobjc8.t10 = [({}), ({})];\nobjc8.t11 = [function (n, s) {\n return s;\n}];\nobjc8.t12 = {\n foo: ({})\n};\nobjc8.t13 = ({\n f: function (i, s) {\n return s;\n }\n});\nobjc8.t14 = ({\n a: []\n});\nfunction c9t5(f) {\n}\n;\nc9t5(function (n) {\n return ({});\n});\nvar c10t5 = function () {\n return function (n) {\n return ({});\n };\n};\nvar C11t5 = (function () {\n function C11t5(f) {\n }\n return C11t5;\n})();\n;\nvar i = new C11t5(function (n) {\n return ({});\n});\nvar c12t1 = (function (s) {\n return s;\n});\nvar c12t2 = ({\n n: 1\n});\nvar c12t3 = [];\nvar c12t4 = function () {\n return ({});\n};\nvar c12t5 = function (n) {\n return ({});\n};\nvar c12t6 = function (n, s) {\n return ({});\n};\nvar c12t7 = function (n) {\n return n;\n};\nvar c12t8 = function (n) {\n return n;\n};\nvar c12t9 = [[], []];\nvar c12t10 = [({}), ({})];\nvar c12t11 = [function (n, s) {\n return s;\n}];\nvar c12t12 = {\n foo: ({})\n};\nvar c12t13 = ({\n f: function (i, s) {\n return s;\n }\n});\nvar c12t14 = ({\n a: []\n});\nfunction EF1(a, b) {\n return a + b;\n}\nvar efv = EF1(1, 2);\nfunction Point(x, y) {\n this.x = x;\n this.y = y;\n return this;\n}\nPoint.origin = new Point(0, 0);\nPoint.prototype.add = function (dx, dy) {\n return new Point(this.x + dx, this.y + dy);\n};\nPoint.prototype = {\n x: 0,\n y: 0,\n add: function (dx, dy) {\n return new Point(this.x + dx, this.y + dy);\n }\n};\nvar x = {};\n//# sourceMappingURL=contextualTyping.js.map \ No newline at end of file diff --git a/tests/cases/compiler/contextualTyping.ts b/tests/cases/compiler/contextualTyping.ts index 5a202e507b5..e378fd82065 100644 --- a/tests/cases/compiler/contextualTyping.ts +++ b/tests/cases/compiler/contextualTyping.ts @@ -1,5 +1,5 @@ -// @sourcemap: true // @newline: \n +// @sourcemap: true // DEFAULT INTERFACES interface IFoo { n: number; @@ -229,4 +229,4 @@ Point.prototype = { interface A { x: string; } interface B extends A { } -var x: B = { }; \ No newline at end of file +var x: B = { }; diff --git a/tests/cases/projects/MultipleLevels/A/a.ts b/tests/cases/projects/MultipleLevels/A/A.ts similarity index 100% rename from tests/cases/projects/MultipleLevels/A/a.ts rename to tests/cases/projects/MultipleLevels/A/A.ts diff --git a/tests/cases/projects/MultipleLevels/A/AA/aA.ts b/tests/cases/projects/MultipleLevels/A/AA/AA.ts similarity index 100% rename from tests/cases/projects/MultipleLevels/A/AA/aA.ts rename to tests/cases/projects/MultipleLevels/A/AA/AA.ts diff --git a/tests/cases/projects/MultipleLevels/B/b.ts b/tests/cases/projects/MultipleLevels/B/B.ts similarity index 100% rename from tests/cases/projects/MultipleLevels/B/b.ts rename to tests/cases/projects/MultipleLevels/B/B.ts