Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Added project tests for node_modules JavaScript searches
  • Loading branch information
billti committed Jun 27, 2016
commit 885b0e902aa74e36874479aa5e2f038fdbaac2c2
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,4 @@ internal/
**/.vscode
!**/.vscode/tasks.json
!tests/cases/projects/projectOption/**/node_modules
!tests/cases/projects/NodeModulesSearch/**/*
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
define(["require", "exports", "m1"], function (require, exports, m1) {
"use strict";
m1.f1("test");
m1.f2.a = 10;
m1.f2.person.age = "10"; // Error: Should be number (if direct import of m2 made the m3 module visible).
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
importHigher/root.ts(6,1): error TS2322: Type 'string' is not assignable to type 'number'.


==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/importHigher/node_modules/m2/entry.js (0 errors) ====
var m3 = require("m3");

module.exports = {
"a": 42,
"b": "hello, world",
"person": m3.person
};

==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/importHigher/node_modules/m1/index.js (0 errors) ====
var m2 = require('m2');

/**
* @param {string} p1 The first param
*/
exports.f1 = function(p1) {
return 42;
};

exports.f2 = m2;

==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/importHigher/node_modules/m2/node_modules/m3/index.js (0 errors) ====
exports.person = {
"name": "John Doe",
"age": 42
}

==== importHigher/root.ts (1 errors) ====
import * as m1 from "m1";
import * as m2 from "m2";

m1.f1("test");
m1.f2.a = 10;
m1.f2.person.age = "10"; // Error: Should be number (if direct import of m2 made the m3 module visible).
~~~~~~~~~~~~~~~~
!!! error TS2322: Type 'string' is not assignable to type 'number'.

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"scenario": "Verify that a higher import loads a module that was previously skipped",
"projectRoot": "tests/cases/projects/NodeModulesSearch",
"baselineCheck": true,
"declaration": false,
"moduleResolution": "node",
"project": "importHigher",
"resolvedInputFiles": [
"lib.d.ts",
"importHigher/node_modules/m2/entry.js",
"importHigher/node_modules/m1/index.js",
"importHigher/node_modules/m2/node_modules/m3/index.js",
"importHigher/root.ts"
],
"emittedFiles": [
"importHigher/root.js"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"use strict";
var m1 = require("m1");
m1.f1("test");
m1.f2.a = 10;
m1.f2.person.age = "10"; // Error: Should be number (if direct import of m2 made the m3 module visible).
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
importHigher/root.ts(6,1): error TS2322: Type 'string' is not assignable to type 'number'.


==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/importHigher/node_modules/m2/entry.js (0 errors) ====
var m3 = require("m3");

module.exports = {
"a": 42,
"b": "hello, world",
"person": m3.person
};

==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/importHigher/node_modules/m1/index.js (0 errors) ====
var m2 = require('m2');

/**
* @param {string} p1 The first param
*/
exports.f1 = function(p1) {
return 42;
};

exports.f2 = m2;

==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/importHigher/node_modules/m2/node_modules/m3/index.js (0 errors) ====
exports.person = {
"name": "John Doe",
"age": 42
}

==== importHigher/root.ts (1 errors) ====
import * as m1 from "m1";
import * as m2 from "m2";

m1.f1("test");
m1.f2.a = 10;
m1.f2.person.age = "10"; // Error: Should be number (if direct import of m2 made the m3 module visible).
~~~~~~~~~~~~~~~~
!!! error TS2322: Type 'string' is not assignable to type 'number'.

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"scenario": "Verify that a higher import loads a module that was previously skipped",
"projectRoot": "tests/cases/projects/NodeModulesSearch",
"baselineCheck": true,
"declaration": false,
"moduleResolution": "node",
"project": "importHigher",
"resolvedInputFiles": [
"lib.d.ts",
"importHigher/node_modules/m2/entry.js",
"importHigher/node_modules/m1/index.js",
"importHigher/node_modules/m2/node_modules/m3/index.js",
"importHigher/root.ts"
],
"emittedFiles": [
"importHigher/root.js"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
define(["require", "exports", "m1"], function (require, exports, m1) {
"use strict";
m1.f1("test");
m1.f2.a = "10"; // Error: Should be number
m1.f2.person.age = "10"; // OK if stopped at 2 modules: person will be "any".
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
maxDepthExceeded/root.ts(3,1): error TS2322: Type 'string' is not assignable to type 'number'.


==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/maxDepthExceeded/node_modules/m2/entry.js (0 errors) ====
var m3 = require("m3");

module.exports = {
"a": 42,
"b": "hello, world",
"person": m3.person
};

==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/maxDepthExceeded/node_modules/m1/index.js (0 errors) ====
var m2 = require('m2');

/**
* @param {string} p1 The first param
*/
exports.f1 = function(p1) {
return 42;
};

exports.f2 = m2;

==== maxDepthExceeded/root.ts (1 errors) ====
import * as m1 from "m1";
m1.f1("test");
m1.f2.a = "10"; // Error: Should be number
~~~~~~~
!!! error TS2322: Type 'string' is not assignable to type 'number'.
m1.f2.person.age = "10"; // OK if stopped at 2 modules: person will be "any".

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"scenario": "Verify that JavaScript modules are not resolved if too many hops",
"projectRoot": "tests/cases/projects/NodeModulesSearch",
"baselineCheck": true,
"declaration": false,
"moduleResolution": "node",
"project": "maxDepthExceeded",
"resolvedInputFiles": [
"lib.d.ts",
"maxDepthExceeded/node_modules/m2/entry.js",
"maxDepthExceeded/node_modules/m1/index.js",
"maxDepthExceeded/root.ts"
],
"emittedFiles": [
"maxDepthExceeded/root.js"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"use strict";
var m1 = require("m1");
m1.f1("test");
m1.f2.a = "10"; // Error: Should be number
m1.f2.person.age = "10"; // OK if stopped at 2 modules: person will be "any".
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
maxDepthExceeded/root.ts(3,1): error TS2322: Type 'string' is not assignable to type 'number'.


==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/maxDepthExceeded/node_modules/m2/entry.js (0 errors) ====
var m3 = require("m3");

module.exports = {
"a": 42,
"b": "hello, world",
"person": m3.person
};

==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/maxDepthExceeded/node_modules/m1/index.js (0 errors) ====
var m2 = require('m2');

/**
* @param {string} p1 The first param
*/
exports.f1 = function(p1) {
return 42;
};

exports.f2 = m2;

==== maxDepthExceeded/root.ts (1 errors) ====
import * as m1 from "m1";
m1.f1("test");
m1.f2.a = "10"; // Error: Should be number
~~~~~~~
!!! error TS2322: Type 'string' is not assignable to type 'number'.
m1.f2.person.age = "10"; // OK if stopped at 2 modules: person will be "any".

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"scenario": "Verify that JavaScript modules are not resolved if too many hops",
"projectRoot": "tests/cases/projects/NodeModulesSearch",
"baselineCheck": true,
"declaration": false,
"moduleResolution": "node",
"project": "maxDepthExceeded",
"resolvedInputFiles": [
"lib.d.ts",
"maxDepthExceeded/node_modules/m2/entry.js",
"maxDepthExceeded/node_modules/m1/index.js",
"maxDepthExceeded/root.ts"
],
"emittedFiles": [
"maxDepthExceeded/root.js"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
define(["require", "exports", "m1"], function (require, exports, m1) {
"use strict";
m1.f1("test");
m1.f2.a = 10;
m1.f2.person.age = "10"; // Error: Should be number
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
maxDepthIncreased/root.ts(4,1): error TS2322: Type 'string' is not assignable to type 'number'.


==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/maxDepthIncreased/node_modules/m2/node_modules/m3/index.js (0 errors) ====
exports.person = {
"name": "John Doe",
"age": 42
}

==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/maxDepthIncreased/node_modules/m2/entry.js (0 errors) ====
var m3 = require("m3");

module.exports = {
"a": 42,
"b": "hello, world",
"person": m3.person
};

==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/maxDepthIncreased/node_modules/m1/index.js (0 errors) ====
var m2 = require('m2');

/**
* @param {string} p1 The first param
*/
exports.f1 = function(p1) {
return 42;
};

exports.f2 = m2;

==== maxDepthIncreased/root.ts (1 errors) ====
import * as m1 from "m1";
m1.f1("test");
m1.f2.a = 10;
m1.f2.person.age = "10"; // Error: Should be number
~~~~~~~~~~~~~~~~
!!! error TS2322: Type 'string' is not assignable to type 'number'.

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"scenario": "Verify that the setting to search node_modules deeper takes effect",
"projectRoot": "tests/cases/projects/NodeModulesSearch",
"baselineCheck": true,
"declaration": false,
"moduleResolution": "node",
"project": "maxDepthIncreased",
"resolvedInputFiles": [
"lib.d.ts",
"maxDepthIncreased/node_modules/m2/node_modules/m3/index.js",
"maxDepthIncreased/node_modules/m2/entry.js",
"maxDepthIncreased/node_modules/m1/index.js",
"maxDepthIncreased/root.ts"
],
"emittedFiles": [
"maxDepthIncreased/root.js"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"use strict";
var m1 = require("m1");
m1.f1("test");
m1.f2.a = 10;
m1.f2.person.age = "10"; // Error: Should be number
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
maxDepthIncreased/root.ts(4,1): error TS2322: Type 'string' is not assignable to type 'number'.


==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/maxDepthIncreased/node_modules/m2/node_modules/m3/index.js (0 errors) ====
exports.person = {
"name": "John Doe",
"age": 42
}

==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/maxDepthIncreased/node_modules/m2/entry.js (0 errors) ====
var m3 = require("m3");

module.exports = {
"a": 42,
"b": "hello, world",
"person": m3.person
};

==== C:/src/TypeScript/tests/cases/projects/NodeModulesSearch/maxDepthIncreased/node_modules/m1/index.js (0 errors) ====
var m2 = require('m2');

/**
* @param {string} p1 The first param
*/
exports.f1 = function(p1) {
return 42;
};

exports.f2 = m2;

==== maxDepthIncreased/root.ts (1 errors) ====
import * as m1 from "m1";
m1.f1("test");
m1.f2.a = 10;
m1.f2.person.age = "10"; // Error: Should be number
~~~~~~~~~~~~~~~~
!!! error TS2322: Type 'string' is not assignable to type 'number'.

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"scenario": "Verify that the setting to search node_modules deeper takes effect",
"projectRoot": "tests/cases/projects/NodeModulesSearch",
"baselineCheck": true,
"declaration": false,
"moduleResolution": "node",
"project": "maxDepthIncreased",
"resolvedInputFiles": [
"lib.d.ts",
"maxDepthIncreased/node_modules/m2/node_modules/m3/index.js",
"maxDepthIncreased/node_modules/m2/entry.js",
"maxDepthIncreased/node_modules/m1/index.js",
"maxDepthIncreased/root.ts"
],
"emittedFiles": [
"maxDepthIncreased/root.js"
]
}
Loading