From c8706caad0a134f84c889381e990454f7791304f Mon Sep 17 00:00:00 2001 From: Anthony Date: Fri, 8 Aug 2014 19:57:23 -0400 Subject: [PATCH 1/3] New definitions for Jasmine data driven tests --- .../jasmine-data_driven_tests-tests.ts | 54 +++++++++++++++++++ .../jasmine-data_driven_tests.d.ts | 7 +++ 2 files changed, 61 insertions(+) create mode 100644 jasmine-data_driven_tests/jasmine-data_driven_tests-tests.ts create mode 100644 jasmine-data_driven_tests/jasmine-data_driven_tests.d.ts diff --git a/jasmine-data_driven_tests/jasmine-data_driven_tests-tests.ts b/jasmine-data_driven_tests/jasmine-data_driven_tests-tests.ts new file mode 100644 index 000000000..df48df8cf --- /dev/null +++ b/jasmine-data_driven_tests/jasmine-data_driven_tests-tests.ts @@ -0,0 +1,54 @@ +/// +/// + +all("A data driven test is a suite with multiple specs", + ['a', 'b', 'c'], + (value: string) => { + expect(value).not.toBe('d'); + } +); + +all("A data driven test can have many arguments", + [ + [1, 2, 3], + [2, 4, 6] + ], + (a: number, b: number, c: number) => { + expect(c - (a + b)).toBe(0); + } +); + +all("A data driven test can be asynchronous", + [ + [3, 1], + [5, 2] + ], + (a: number, b: number, done: () => void) => { + setTimeout(() => { + expect(a - b > 0).toBe(true); + done(); + }, 50); + } +); + +xall("A data driven test can be pending", + [1, 2, 3], + (value: number) => { + expect(value < 4).toBe(true); + } +); + +describe("A suite", () => { + var a: number; + + beforeEach(() => { + a = 5; + }); + + all("can contain data driven tests", + [1, 2, 3], + (b: number) => { + expect(a - b > 0).toBe(true); + } + ); +}); \ No newline at end of file diff --git a/jasmine-data_driven_tests/jasmine-data_driven_tests.d.ts b/jasmine-data_driven_tests/jasmine-data_driven_tests.d.ts new file mode 100644 index 000000000..c0936872b --- /dev/null +++ b/jasmine-data_driven_tests/jasmine-data_driven_tests.d.ts @@ -0,0 +1,7 @@ +// Type definitions for Jasmine Data Driven Tests +// Project: https://github.com/gburghardt/jasmine-data_driven_tests +// Definitions by: Anthony MacKinnon +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare function all(description: string, dataset: any[], specDefinitions: (...args: any[]) => void): void; +declare function xall(description: string, dataset: any[], specDefinitions: (...args: any[]) => void): void; \ No newline at end of file From 153b4f3fa354d799090212979ae559ec44dd05c4 Mon Sep 17 00:00:00 2001 From: Anthony Date: Sat, 9 Aug 2014 00:15:18 -0400 Subject: [PATCH 2/3] Renamed callback to assertion to be consistent with Jasmine naming --- jasmine-data_driven_tests/jasmine-data_driven_tests.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jasmine-data_driven_tests/jasmine-data_driven_tests.d.ts b/jasmine-data_driven_tests/jasmine-data_driven_tests.d.ts index c0936872b..912720e7f 100644 --- a/jasmine-data_driven_tests/jasmine-data_driven_tests.d.ts +++ b/jasmine-data_driven_tests/jasmine-data_driven_tests.d.ts @@ -3,5 +3,5 @@ // Definitions by: Anthony MacKinnon // Definitions: https://github.com/borisyankov/DefinitelyTyped -declare function all(description: string, dataset: any[], specDefinitions: (...args: any[]) => void): void; -declare function xall(description: string, dataset: any[], specDefinitions: (...args: any[]) => void): void; \ No newline at end of file +declare function all(description: string, dataset: any[], assertion: (...args: any[]) => void): void; +declare function xall(description: string, dataset: any[], assertion: (...args: any[]) => void): void; \ No newline at end of file From 79139ac1702e0089445e2b8f8af4fb3160e2742c Mon Sep 17 00:00:00 2001 From: Anthony Date: Sat, 9 Aug 2014 13:54:31 -0400 Subject: [PATCH 3/3] Added name to contributors --- CONTRIBUTORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 5292ba4bf..c53c7559f 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -138,6 +138,7 @@ All definitions files include a header with the author and editors, so at some p * [IxJS (Interactive extensions)](https://github.com/Reactive-Extensions/IxJS) (by [Igor Oleinikov](https://github.com/Igorbek)) * [jake](https://github.com/mde/jake) (by [Kon](http://phyzkit.net/)) * [Jasmine](http://pivotal.github.com/jasmine/) (by [Boris Yankov](https://github.com/borisyankov)) +* [Jasmine-data_driven_tests](https://github.com/gburghardt/jasmine-data_driven_tests) (by [Anthony MacKinnon](https://github.com/AnthonyMacKinnon)) * [Jasmine-jQuery](https://github.com/velesin/jasmine-jquery) (by [Gregor Stamac](https://github.com/gstamac)) * [jDataView](https://github.com/jDataView/jDataView) (by [Ingvar Stepanyan](https://github.com/RReverser)) * [JointJS](http://www.jointjs.com/) (by [Aidan Reel](http://github.com/areel))