diff --git a/jasmine/jasmine.d.ts b/jasmine/jasmine.d.ts
index 2ff32afb7..c3e95e427 100644
--- a/jasmine/jasmine.d.ts
+++ b/jasmine/jasmine.d.ts
@@ -1,21 +1,26 @@
-// Type definitions for Jasmine 1.2
+// Type definitions for Jasmine 2.0
// Project: http://pivotal.github.com/jasmine/
-// Definitions by: Boris Yankov
+// Definitions by: Boris Yankov and Theodore Brown
// DefinitelyTyped: https://github.com/borisyankov/DefinitelyTyped
declare function describe(description: string, specDefinitions: () => void): void;
declare function xdescribe(description: string, specDefinitions: () => void): void;
-declare function it(expectation: string, assertion: () => void): void;
-declare function it(expectation: string, assertion: (done: (err?: any) => void) => void): void;
-declare function xit(expectation: string, assertion: () => void): void;
+declare function it(expectation: string, assertion?: () => void): void;
+declare function it(expectation: string, assertion?: (done: () => void) => void): void;
+declare function xit(expectation: string, assertion?: () => void): void;
+declare function xit(expectation: string, assertion?: (done: () => void) => void): void;
+
+/** If you call the function pending anywhere in the spec body, no matter the expectations, the spec will be marked pending. */
+declare function pending(): void;
declare function beforeEach(action: () => void): void;
+declare function beforeEach(action: (done: () => void) => void): void;
declare function afterEach(action: () => void): void;
+declare function afterEach(action: (done: () => void) => void): void;
declare function expect(spy: Function): jasmine.Matchers;
-//declare function expect(spy: jasmine.Spy): jasmine.Matchers;
declare function expect(actual: any): jasmine.Matchers;
declare function spyOn(object: any, method: string): jasmine.Spy;
@@ -26,7 +31,7 @@ declare function waits(timeout?: number): void;
declare module jasmine {
- var Clock: Clock;
+ var clock: () => Clock;
function any(aclass: any): Any;
function objectContaining(sample: any): ObjectContaining;
@@ -67,17 +72,10 @@ declare module jasmine {
}
interface Clock {
- reset(): void;
- tick(millis: number): void;
- runFunctionsWithinRange(oldMillis: number, nowMillis: number): void;
- scheduleFunction(timeoutKey: any, funcToCall: () => void, millis: number, recurring: boolean): void;
- useMock(): void;
- installMock(): void;
- uninstallMock(): void;
- real: void;
- assertInstalled(): void;
- isInstalled(): boolean;
- installed: any;
+ install(): void;
+ uninstall(): void;
+ /** Calls to any registered callback are triggered when the clock is ticked forward via the jasmine.clock().tick function, which takes a number of milliseconds. */
+ tick(ms: number): void;
}
interface Env {
@@ -125,6 +123,10 @@ declare module jasmine {
new (): any;
}
+ interface HtmlSpecFilter {
+ new (): any;
+ }
+
interface Result {
type: string;
}
@@ -235,6 +237,7 @@ declare module jasmine {
toContainHtml(expected: string): boolean;
toContainText(expected: string): boolean;
toThrow(expected?: any): boolean;
+ toThrowError(expected?: any): boolean;
not: Matchers;
Any: Any;
@@ -345,15 +348,25 @@ declare module jasmine {
(...params: any[]): any;
identity: string;
+ and: SpyAnd;
calls: any[];
mostRecentCall: { args: any[]; };
argsForCall: any[];
wasCalled: boolean;
callCount: number;
+ }
- andReturn(value: any): Spy;
- andCallThrough(): Spy;
- andCallFake(fakeFunc: Function): Spy;
+ interface SpyAnd {
+ /** By chaining the spy with and.callThrough, the spy will still track all calls to it but in addition it will delegate to the actual implementation. */
+ callThrough(): void;
+ /** By chaining the spy with and.returnValue, all calls to the function will return a specific value. */
+ returnValue(val: any): void;
+ /** By chaining the spy with and.callFake, all calls to the spy will delegate to the supplied function. */
+ callFake(fn: () => any): void;
+ /** By chaining the spy with and.throwError, all calls to the spy will throw the specified value. */
+ throwError(msg: string): void;
+ /** When a calling strategy is used for a spy, the original stubbing behavior can be returned at any time with and.stub. */
+ stub(): void;
}
interface Util {
@@ -384,9 +397,10 @@ declare module jasmine {
interface Jasmine {
Spec: Spec;
- Clock: Clock;
+ clock: Clock;
util: Util;
}
- export var HtmlReporter: any;
+ export var HtmlReporter: HtmlReporter;
+ export var HtmlSpecFilter: HtmlSpecFilter;
}