refactor(reflection): improved error message
This commit is contained in:
@@ -31,6 +31,18 @@ export function main() {
|
||||
}
|
||||
|
||||
describe('reflection capabilities', () => {
|
||||
describe("factory", () => {
|
||||
it("should create a factory for a type", () => {
|
||||
var f = rc.factory(ClassWithField);
|
||||
expect(f("value").field).toEqual("value");
|
||||
});
|
||||
|
||||
it("should throw when a constructor has more than 10 args", () => {
|
||||
expect(() => rc.factory(ClassWith11Fields)).toThrowError(
|
||||
new RegExp(`has more than 10 arguments`));
|
||||
});
|
||||
});
|
||||
|
||||
it('can read out class annotations through annotations key', () => {
|
||||
assertTestClassAnnotations(rc.annotations(TestClass));
|
||||
});
|
||||
@@ -115,6 +127,17 @@ class TestClassTypesOnly {
|
||||
constructor(a: P1, b: P2) {}
|
||||
}
|
||||
|
||||
class ClassWithField {
|
||||
field;
|
||||
constructor(field) {
|
||||
this.field = field;
|
||||
}
|
||||
}
|
||||
class ClassWith11Fields {
|
||||
constructor(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) {
|
||||
}
|
||||
}
|
||||
|
||||
// Mocking the data stored in global.Reflect as if TS was compiling TestClass above.
|
||||
var mockDataForTestClassTypesOnly = {
|
||||
'annotations': null,
|
||||
|
||||
Reference in New Issue
Block a user