Lint finles: remove most exceptions.

Add few JsDoc.
Remove old 'Env' properties.
This commit is contained in:
denis
2019-01-05 14:50:46 +01:00
parent b35434fe6f
commit 4dc4f8a0d3
3 changed files with 162 additions and 216 deletions
+80 -57
View File
@@ -21,7 +21,19 @@
* @param specDefinitions Function for Jasmine to invoke that will define inner suites a specs
*/
declare function describe(description: string, specDefinitions: () => void): void;
/**
* A focused `describe`. If suites or specs are focused, only those that are focused will be executed.
* @param description Textual description of the group
* @param specDefinitions Function for Jasmine to invoke that will define inner suites a specs
*/
declare function fdescribe(description: string, specDefinitions: () => void): void;
/**
* A temporarily disabled `describe`. Specs within an xdescribe will be marked pending and not executed.
* @param description Textual description of the group
* @param specDefinitions Function for Jasmine to invoke that will define inner suites a specs
*/
declare function xdescribe(description: string, specDefinitions: () => void): void;
/**
@@ -34,20 +46,25 @@ declare function xdescribe(description: string, specDefinitions: () => void): vo
declare function it(expectation: string, assertion?: (done: DoneFn) => void, timeout?: number): void;
/**
* A focused it
* If suites or specs are focused, only those that are focused will be executed.
* @param expectation
* @param assertion
* @param timeout
* A focused `it`. If suites or specs are focused, only those that are focused will be executed.
* @param expectation Textual description of what this spec is checking
* @param assertion Function that contains the code of your test. If not provided the test will be pending.
* @param timeout Custom timeout for an async spec.
*/
declare function fit(expectation: string, assertion?: (done: DoneFn) => void, timeout?: number): void;
/**
* A temporarily disabled `it`. The spec will report as pending and will not be executed.
* @param expectation Textual description of what this spec is checking
* @param assertion Function that contains the code of your test. If not provided the test will be pending.
* @param timeout Custom timeout for an async spec.
*/
declare function xit(expectation: string, assertion?: (done: DoneFn) => void, timeout?: number): void;
/**
* Mark a spec as pending, expectation results will be ignored.
* If you call the function pending anywhere in the spec body, no matter the expectations, the spec will be marked pending.
* @param reason
* @returns {}
* @param reason Reason the spec is pending.
*/
declare function pending(reason?: string): void;
@@ -119,11 +136,13 @@ declare function expectAsync<T, U>(actual: Promise<T>): jasmine.AsyncMatchers<T,
/**
* Explicitly mark a spec as failed.
* @param e
* @param e Reason for the failure
*/
declare function fail(e?: any): void;
/** Action method that should be called when the async work is complete */
/**
* Action method that should be called when the async work is complete.
*/
interface DoneFn extends Function {
(): void;
@@ -133,22 +152,22 @@ interface DoneFn extends Function {
/**
* Install a spy onto an existing object.
* @param object The object upon which to install the Spy
* @param method The name of the method to replace with a Spy.
* @param object The object upon which to install the `Spy`.
* @param method The name of the method to replace with a `Spy`.
*/
declare function spyOn<T>(object: T, method: keyof T): jasmine.Spy;
/**
* Install a spy on a property onto an existing object.
* @param object The object upon which to install the Spy
* @param property The name of the property to replace with a Spy
* @param accessType The access type (get|set) of the property to Spy on.
* Install a spy on a property installed with `Object.defineProperty` onto an existing object.
* @param object The object upon which to install the `Spy`.
* @param property The name of the property to replace with a `Spy`.
* @param accessType The access type (get|set) of the property to `Spy` on.
*/
declare function spyOnProperty<T>(object: T, property: keyof T, accessType?: 'get' | 'set'): jasmine.Spy;
/**
* Installs spies on all writable and configurable properties of an object.
* @param object The object upon which to install the Spies
* @param object The object upon which to install the `Spy`s.
*/
declare function spyOnAllFunctions(object: object): jasmine.Spy;
@@ -158,9 +177,12 @@ declare function waits(timeout?: number): void;
declare namespace jasmine {
type Expected<T> = T | ObjectContaining<T> | Any | Spy;
type SpyObjMethodNames<T = undefined> = T extends undefined ? (ReadonlyArray<string> | {[methodName: string]: any}) : (ReadonlyArray<keyof T> | {[P in keyof T]?: ReturnType<T[P] extends (...args: any[]) => any ? T[P] : any>});
type SpyObjMethodNames<T = undefined> =
T extends undefined ?
(ReadonlyArray<string> | {[methodName: string]: any}) :
(ReadonlyArray<keyof T> | {[P in keyof T]?: ReturnType<T[P] extends (...args: any[]) => any ? T[P] : any>});
var clock: () => Clock;
function clock(): Clock;
var matchersUtil: MatchersUtil;
@@ -187,13 +209,12 @@ declare namespace jasmine {
function addMatchers(matchers: CustomMatcherFactories): void;
function stringMatching(str: string): Any;
function stringMatching(str: RegExp): Any;
function stringMatching(str: string | RegExp): Any;
function formatErrorMsg(domain: string, usage: string): (msg: string) => string;
interface Any {
(...params: any[]):any; // jasmine.Any can also be a function
(...params: any[]): any; // jasmine.Any can also be a function
new (expectedClass: any): any;
jasmineMatches(other: any): boolean;
@@ -221,7 +242,6 @@ declare namespace jasmine {
}
interface Block {
new (env: Env, func: SpecFunction, spec: Spec): any;
execute(onComplete: () => void): void;
@@ -271,12 +291,6 @@ declare namespace jasmine {
}
interface Env {
setTimeout: any;
clearTimeout: void;
setInterval: any;
clearInterval: void;
updateInterval: number;
currentSpec: Spec;
matchersClass: Matchers<any>;
@@ -284,8 +298,7 @@ declare namespace jasmine {
version(): any;
versionString(): string;
nextSpecId(): number;
addReporter(reporter: Reporter): void;
addReporter(reporter: CustomReporter): void;
addReporter(reporter: Reporter | CustomReporter): void;
execute(): void;
describe(description: string, specDefinitions: () => void): Suite;
// ddescribe(description: string, specDefinitions: () => void): Suite; Not a part of jasmine. Angular team adds these
@@ -316,7 +329,6 @@ declare namespace jasmine {
}
interface FakeTimer {
new (): any;
reset(): void;
@@ -395,7 +407,6 @@ declare namespace jasmine {
}
interface PrettyPrinter {
new (): any;
format(value: any): void;
@@ -411,7 +422,6 @@ declare namespace jasmine {
}
interface Queue {
new (env: any): any;
env: Env;
@@ -432,7 +442,6 @@ declare namespace jasmine {
}
interface Matchers<T> {
new (env: Env, actual: T, spec: Env, isNot?: boolean): any;
env: Env;
@@ -445,7 +454,6 @@ declare namespace jasmine {
*
* @param expected the actual value to be === to the expected value.
* @param expectationFailOutput
* @returns {}
*/
toBe(expected: Expected<T>, expectationFailOutput?: any): boolean;
@@ -453,7 +461,6 @@ declare namespace jasmine {
*
* @param expected the actual value to be equal to the expected, using deep equality comparison.
* @param expectationFailOutput
* @returns {}
*/
toEqual(expected: Expected<T>, expectationFailOutput?: any): boolean;
toMatch(expected: string | RegExp, expectationFailOutput?: any): boolean;
@@ -504,7 +511,6 @@ declare namespace jasmine {
}
interface AsyncMatchers<T, U> {
/**
* Expect a promise to be resolved.
* @param expectationFailOutput
@@ -538,7 +544,7 @@ declare namespace jasmine {
/**
* Invert the matcher following this expect.
*/
not: AsyncMatchers<T, U>
not: AsyncMatchers<T, U>;
}
interface Reporter {
@@ -571,7 +577,6 @@ declare namespace jasmine {
}
interface PassedExpectation extends CustomReportExpectation {
}
interface CustomReporterResult {
@@ -586,7 +591,7 @@ declare namespace jasmine {
interface RunDetails {
failedExpectations: ExpectationResult[];
order: jasmine.Order;
order: Order;
}
interface CustomReporter {
@@ -599,7 +604,6 @@ declare namespace jasmine {
}
interface Runner {
new (env: Env): any;
execute(): void;
@@ -626,7 +630,6 @@ declare namespace jasmine {
}
interface Spec extends SuiteOrSpec {
new (env: Env, suite: Suite, description: string): any;
suite: Suite;
@@ -670,7 +673,6 @@ declare namespace jasmine {
}
interface Suite extends SuiteOrSpec {
new (env: Env, description: string, specDefinitions: () => void, parentSuite: Suite): any;
parentSuite: Suite;
@@ -703,7 +705,7 @@ declare namespace jasmine {
type SpyObj<T> = {
[k in keyof T]: T[k] extends Function ? T[k] & Spy : T[k];
}
};
interface SpyAnd {
identity: string;
@@ -723,21 +725,21 @@ declare namespace jasmine {
}
interface Calls {
/** By chaining the spy with calls.any(), will return false if the spy has not been called at all, and then true once at least one call happens. **/
/** By chaining the spy with calls.any(), will return false if the spy has not been called at all, and then true once at least one call happens. */
any(): boolean;
/** By chaining the spy with calls.count(), will return the number of times the spy was called **/
/** By chaining the spy with calls.count(), will return the number of times the spy was called */
count(): number;
/** By chaining the spy with calls.argsFor(), will return the arguments passed to call number index **/
/** By chaining the spy with calls.argsFor(), will return the arguments passed to call number index */
argsFor(index: number): any[];
/** By chaining the spy with calls.allArgs(), will return the arguments to all calls **/
/** By chaining the spy with calls.allArgs(), will return the arguments to all calls */
allArgs(): any[];
/** By chaining the spy with calls.all(), will return the context (the this) and arguments passed all calls **/
/** By chaining the spy with calls.all(), will return the context (the this) and arguments passed all calls */
all(): CallInfo[];
/** By chaining the spy with calls.mostRecent(), will return the context (the this) and arguments for the most recent call **/
/** By chaining the spy with calls.mostRecent(), will return the context (the this) and arguments for the most recent call */
mostRecent(): CallInfo;
/** By chaining the spy with calls.first(), will return the context (the this) and arguments for the first call **/
/** By chaining the spy with calls.first(), will return the context (the this) and arguments for the first call */
first(): CallInfo;
/** By chaining the spy with calls.reset(), will clears all tracking for a spy **/
/** By chaining the spy with calls.reset(), will clears all tracking for a spy */
reset(): void;
}
@@ -759,7 +761,6 @@ declare namespace jasmine {
}
interface JsApiReporter extends Reporter {
started: boolean;
finished: boolean;
result: any;
@@ -783,10 +784,32 @@ declare namespace jasmine {
util: Util;
}
export var HtmlReporter: HtmlReporter;
export var HtmlSpecFilter: HtmlSpecFilter;
export var DEFAULT_TIMEOUT_INTERVAL: number;
export var MAX_PRETTY_PRINT_DEPTH: number;
var HtmlReporter: HtmlReporter;
var HtmlSpecFilter: HtmlSpecFilter;
/**
* Default number of milliseconds Jasmine will wait for an asynchronous spec to complete.
*/
var DEFAULT_TIMEOUT_INTERVAL: number;
/**
* Maximum number of array elements to display when pretty printing objects.
* This will also limit the number of keys and values displayed for an object.
* Elements past this number will be ellipised.
*/
var MAX_PRETTY_PRINT_ARRAY_LENGTH: number;
/**
* Maximum number of charasters to display when pretty printing objects.
* Characters past this number will be ellipised.
*/
var MAX_PRETTY_PRINT_CHARS: number;
/**
* Maximum object depth the pretty printer will print to.
* Set this to a lower value to speed up pretty printing if you have large objects.
*/
var MAX_PRETTY_PRINT_DEPTH: number;
}
declare module "jasmine" {
+81 -91
View File
@@ -16,7 +16,6 @@ describe("A suite is just a function", () => {
});
describe("The 'toBe' matcher compares with ===", () => {
it("and has a positive case", () => {
expect(true).toBe(true);
});
@@ -27,28 +26,26 @@ describe("The 'toBe' matcher compares with ===", () => {
});
describe("Included matchers:", () => {
it("The 'toBe' matcher compares with ===", () => {
var a = 12;
var b = a;
const a = 12;
const b = a;
expect(a).toBe(b);
expect(a).not.toBe(24);
});
describe("The 'toEqual' matcher", () => {
it("works for simple literals and variables", () => {
var a = 12;
const a = 12;
expect(a).toEqual(12);
});
it("should work for objects", () => {
var foo = {
const foo = {
a: 12,
b: 34
};
var bar = {
const bar = {
a: 12,
b: 34
};
@@ -56,13 +53,13 @@ describe("Included matchers:", () => {
});
it("should work for optional values", () => {
var opt: string | undefined = "s";
expect(opt as (string | undefined)).toEqual(undefined);
const opt: string | undefined = Math.random() > .5 ? "s" : undefined;
expect(opt).toEqual(undefined);
});
});
it("The 'toMatch' matcher is for regular expressions", () => {
var message = "foo bar baz";
const message = "foo bar baz";
expect(message).toMatch(/bar/);
expect(message).toMatch("bar");
@@ -70,7 +67,7 @@ describe("Included matchers:", () => {
});
it("The 'toBeDefined' matcher compares against `undefined`", () => {
var a = {
const a = {
foo: "foo"
};
@@ -79,7 +76,7 @@ describe("Included matchers:", () => {
});
it("The `toBeUndefined` matcher compares against `undefined`", () => {
var a = {
const a = {
foo: "foo"
};
@@ -88,8 +85,8 @@ describe("Included matchers:", () => {
});
it("The 'toBeNull' matcher compares against null", () => {
var a: string | null = null;
var foo = "foo";
const a: string | null = Math.random() > 0.5 ? "s" : null;
const foo = "foo";
expect(null).toBeNull();
expect(a).toBeNull();
@@ -97,72 +94,76 @@ describe("Included matchers:", () => {
});
it("The 'toBeTruthy' matcher is for boolean casting testing", () => {
var a: string | undefined, foo = "foo";
const a: string | undefined = Math.random() > 0.5 ? "s" : undefined;
const foo = "foo";
expect(foo).toBeTruthy();
expect(a).not.toBeTruthy();
});
it("The 'toBeFalsy' matcher is for boolean casting testing", () => {
var a: string | undefined, foo = "foo";
const a: string | undefined = Math.random() > 0.5 ? "s" : undefined;
const foo = "foo";
expect(a).toBeFalsy();
expect(foo).not.toBeFalsy();
});
it("The 'toContain' matcher is for finding an item in an Array", () => {
var a = ["foo", "bar", "baz"];
const a = ["foo", "bar", "baz"];
expect(a).toContain('foo');
expect(a).not.toContain("quux");
});
it("The 'toContain' matcher is also for finding an object containing distinct properties in an Array", () => {
var a = [{ a: "foo" }, { a: "bar" }, { b: "baz" }];
const a = [{ a: "foo" }, { a: "bar" }, { b: "baz" }];
expect(a).toContain(jasmine.objectContaining({ a: "foo" }));
expect(a).not.toContain({ a: "quux" });
});
it("The 'toBeLessThan' matcher is for mathematical comparisons", () => {
var pi = 3.1415926,
e = 2.78;
const pi = 3.1415926;
const e = 2.78;
expect(e).toBeLessThan(pi);
expect(pi).not.toBeLessThan(e);
});
it("The 'toBeGreaterThan' is for mathematical comparisons", () => {
var pi = 3.1415926,
e = 2.78;
const pi = 3.1415926;
const e = 2.78;
expect(pi).toBeGreaterThan(e);
expect(e).not.toBeGreaterThan(pi);
});
it("The 'toBeCloseTo' matcher is for precision math comparison", () => {
var pi = 3.1415926,
e = 2.78;
const pi = 3.1415926;
const e = 2.78;
expect(pi).not.toBeCloseTo(e, 2);
expect(pi).toBeCloseTo(e, 0);
});
it("The 'toThrow' matcher is for testing if a function throws an exception", () => {
var foo = () => {
const foo = () => {
return 1 + 2;
};
var bar = () => {
var a: any;
return a + 1;
const bar = () => {
throw new Error("message");
};
expect(foo).not.toThrow();
expect(foo).toThrow();
expect(bar).not.toThrow();
expect(bar).toThrow();
});
it("The 'toThrowError' matcher is for testing a specific thrown exception", () => {
var foo = () => {
const foo = () => {
throw new TypeError("foo bar baz");
};
@@ -173,7 +174,7 @@ describe("Included matchers:", () => {
});
it("async matchers", async () => {
var badness = new Error("badness");
const badness = new Error("badness");
await expectAsync(Promise.resolve()).toBeResolved();
await expectAsync(Promise.resolve()).toBeResolved("good job");
await expectAsync(Promise.resolve(true)).toBeResolvedTo(true);
@@ -184,8 +185,8 @@ describe("Included matchers:", () => {
});
it("async matchers - not", async () => {
var badness = new Error("badness");
var malady = new Error("malady");
const badness = new Error("badness");
const malady = new Error("malady");
await expectAsync(Promise.reject(badness)).not.toBeResolved();
await expectAsync(Promise.resolve(true)).not.toBeResolvedTo(false);
await expectAsync(Promise.resolve()).not.toBeRejected();
@@ -198,7 +199,7 @@ describe("Included matchers:", () => {
describe("toThrowMatching", () => {
expect(() => {
({} as any).doSomething();
}).toThrowMatching(error => error != undefined);
}).toThrowMatching(error => error !== undefined);
});
describe("toBeNegativeInfinity", () => {
@@ -306,7 +307,6 @@ xdescribe("A spec", () => {
});
describe("Pending specs", () => {
xit("can be declared 'xit'", () => {
expect(true).toBe(false);
});
@@ -358,7 +358,7 @@ describe("A spy", () => {
expect(bar).toBeNull();
});
it("tracks if it was called at all", function () {
it("tracks if it was called at all", function() {
foo.setBar();
expect(foo.setBar.calls.any()).toEqual(true);
@@ -767,17 +767,15 @@ describe("Multiple spies, when created manually", () => {
it("read isPlaying property", () => {
expect(tape.isPlaying).toBe(false);
})
});
});
describe("multiple spies, when created with spyOnAllFunctions", () => {
it("spies on all functions", () => {
const obj = {
x: (a: number) => a,
y: (a: number) => a,
}
};
spyOnAllFunctions(obj);
@@ -809,7 +807,7 @@ describe("jasmine.any", () => {
const a: Test = {
fn1: () => { },
fn2: (param1: number) => { return param1; },
fn2: (param1: number) => param1,
};
const expected: Test = {
@@ -822,7 +820,7 @@ describe("jasmine.any", () => {
describe("when used with a spy", () => {
it("is useful for comparing arguments", () => {
var foo = jasmine.createSpy('foo');
const foo = jasmine.createSpy('foo');
foo(12, () => {
return true;
});
@@ -867,7 +865,7 @@ describe("jasmine.objectContaining", () => {
describe("when used with a spy", () => {
it("is useful for comparing arguments", () => {
var callback = jasmine.createSpy('callback');
const callback = jasmine.createSpy('callback');
callback({
bar: "baz"
@@ -884,7 +882,7 @@ describe("jasmine.objectContaining", () => {
});
describe("jasmine.arrayContaining", () => {
var foo: Array<number>;
var foo: number[];
beforeEach(() => {
foo = [1, 2, 3, 4];
@@ -900,7 +898,7 @@ describe("jasmine.arrayContaining", () => {
describe("when used with a spy", () => {
it("is useful when comparing arguments", () => {
var callback = jasmine.createSpy('callback');
const callback = jasmine.createSpy('callback');
callback([1, 2, 3, 4]);
@@ -911,7 +909,7 @@ describe("jasmine.arrayContaining", () => {
});
describe("jasmine.arrayWithExactContents", () => {
var foo: Array<number>;
var foo: number[];
beforeEach(() => {
foo = [1, 2, 3, 4];
@@ -927,7 +925,7 @@ describe("jasmine.arrayWithExactContents", () => {
describe("when used with a spy", () => {
it("is useful when comparing arguments", () => {
var callback = jasmine.createSpy('callback');
const callback = jasmine.createSpy('callback');
callback([1, 2, 3, 4]);
@@ -980,7 +978,7 @@ describe("Manually ticking the Jasmine Clock", () => {
describe("Mocking the Date object", () => {
it("mocks the Date object and sets it to a given time", () => {
var baseTime = new Date(2013, 9, 23);
const baseTime = new Date(2013, 9, 23);
jasmine.clock().mockDate(baseTime);
@@ -1020,11 +1018,9 @@ describe("Asynchronous specs", () => {
done();
}, 1000);
});
});
describe("Fail", () => {
it("should fail test when called without arguments", () => {
fail();
});
@@ -1036,12 +1032,11 @@ describe("Fail", () => {
it("should fail test when called an error", () => {
fail(new Error("The test failed with this error"));
});
});
// test based on http://jasmine.github.io/2.2/custom_equality.html
describe("custom equality", () => {
var myCustomEquality: jasmine.CustomEqualityTester = function (first: any, second: any): boolean | void {
const myCustomEquality: jasmine.CustomEqualityTester = function(first: any, second: any): boolean | void {
if (typeof first === "string" && typeof second === "string") {
return first[0] === second[1];
}
@@ -1051,7 +1046,6 @@ describe("custom equality", () => {
jasmine.addCustomEqualityTester(myCustomEquality);
});
it("should be custom equal", () => {
expect("abc").toEqual("aaa");
});
@@ -1069,15 +1063,13 @@ var customMatchers: jasmine.CustomMatcherFactories = {
if (expected === undefined) {
expected = '';
}
var result: jasmine.CustomMatcherResult = { pass: false };
const result: jasmine.CustomMatcherResult = { pass: false };
result.pass = util.equals(actual.hyuk, "gawrsh" + expected, customEqualityTesters);
if (result.pass) {
result.message = "Expected " + actual + " not to be quite so goofy";
} else {
result.message = "Expected " + actual + " to be goofy, but it was not very goofy";
}
result.message = result.pass ?
`Expected ${actual} not to be quite so goofy` :
`Expected ${actual} to be goofy, but it was not very goofy`;
return result;
}
@@ -1110,8 +1102,8 @@ var customMatchers: jasmine.CustomMatcherFactories = {
// }
declare namespace jasmine {
interface Matchers<T> {
toBeGoofy(expected?: jasmine.Expected<T>): boolean;
toBeWithinRange(expected?: jasmine.Expected<T>, floor?: number, ceiling?: number): boolean;
toBeGoofy(expected?: Expected<T>): boolean;
toBeWithinRange(expected?: Expected<T>, floor?: number, ceiling?: number): boolean;
}
}
@@ -1157,7 +1149,7 @@ describe("Custom matcher: 'toBeGoofy'", () => {
const result = matcher.compare(actual, null);
expect(result.pass).toBe(false);
expect(result.message).toBe("Expected " + actual + " to be goofy, but it was not very goofy");
expect(result.message).toBe(`Expected ${actual} to be goofy, but it was not very goofy`);
});
});
@@ -1168,16 +1160,16 @@ var myReporter: jasmine.CustomReporter = {
},
suiteStarted: (result: jasmine.CustomReporterResult) => {
console.log("Suite started: " + result.description + " whose full description is: " + result.fullName);
console.log(`Suite started: ${result.description} whose full description is: ${result.fullName}`);
},
specStarted: (result: jasmine.CustomReporterResult) => {
console.log("Spec started: " + result.description + " whose full description is: " + result.fullName);
console.log(`Spec started: ${result.description} whose full description is: ${result.fullName}`);
},
specDone: (result: jasmine.CustomReporterResult) => {
console.log("Spec: " + result.description + " was " + result.status);
//tslint:disable-next-line:prefer-for-of
console.log(`Spec: ${result.description} was ${result.status}`);
// tslint:disable-next-line:prefer-for-of
for (var i = 0; result.failedExpectations && i < result.failedExpectations.length; i += 1) {
console.log("Failure: " + result.failedExpectations[i].message);
console.log("Actual: " + result.failedExpectations[i].actual);
@@ -1188,8 +1180,8 @@ var myReporter: jasmine.CustomReporter = {
},
suiteDone: (result: jasmine.CustomReporterResult) => {
console.log('Suite: ' + result.description + ' was ' + result.status);
//tslint:disable-next-line:prefer-for-of
console.log(`Suite: ${result.description} was ${result.status}`);
// tslint:disable-next-line:prefer-for-of
for (var i = 0; result.failedExpectations && i < result.failedExpectations.length; i += 1) {
console.log('AfterAll ' + result.failedExpectations[i].message);
console.log(result.failedExpectations[i].stack);
@@ -1207,24 +1199,24 @@ jasmine.getEnv().addReporter(myReporter);
describe("Randomize Tests", () => {
it("should allow randomization of the order of tests", () => {
expect(() => {
var env = jasmine.getEnv();
return env.randomizeTests(true);
const env = jasmine.getEnv();
env.randomizeTests(true);
}).not.toThrow();
});
it("should allow a seed to be passed in for randomization", () => {
expect(() => {
var env = jasmine.getEnv();
const env = jasmine.getEnv();
env.randomizeTests(true);
return env.seed(1234);
}).not.toThrow();
});
});
//dest spces copied from jasmine project (https://github.com/jasmine/jasmine/blob/master/spec/core/SpecSpec.js)
describe("createSpyObj", function () {
it("should create an object with spy methods and corresponding return values when you call jasmine.createSpyObj() with an object", function () {
var spyObj = jasmine.createSpyObj('BaseName', { 'method1': 42, 'method2': 'special sauce' });
// Dest spces copied from jasmine project (https://github.com/jasmine/jasmine/blob/master/spec/core/SpecSpec.js)
describe("createSpyObj", function() {
it("should create an object with spy methods and corresponding return values when you call jasmine.createSpyObj() with an object", function() {
const spyObj = jasmine.createSpyObj('BaseName', {method1: 42, method2: 'special sauce'});
expect(spyObj.method1()).toEqual(42);
expect(spyObj.method1.and.identity()).toEqual('BaseName.method1');
@@ -1233,17 +1225,16 @@ describe("createSpyObj", function () {
expect(spyObj.method2.and.identity()).toEqual('BaseName.method2');
});
it("should create an object with a bunch of spy methods when you call jasmine.createSpyObj()", function () {
var spyObj = jasmine.createSpyObj('BaseName', ['method1', 'method2']);
it("should create an object with a bunch of spy methods when you call jasmine.createSpyObj()", function() {
const spyObj = jasmine.createSpyObj('BaseName', ['method1', 'method2']);
expect(spyObj).toEqual({ method1: jasmine.any(Function), method2: jasmine.any(Function) });
expect(spyObj.method1.and.identity()).toEqual('BaseName.method1');
expect(spyObj.method2.and.identity()).toEqual('BaseName.method2');
});
it("should allow you to omit the baseName and takes only an object", function () {
var spyObj = jasmine.createSpyObj({ 'method1': 42, 'method2': 'special sauce' });
it("should allow you to omit the baseName and takes only an object", function() {
const spyObj = jasmine.createSpyObj({method1: 42, method2: 'special sauce'});
expect(spyObj.method1()).toEqual(42);
expect(spyObj.method1.and.identity()).toEqual('unknown.method1');
@@ -1252,22 +1243,22 @@ describe("createSpyObj", function () {
expect(spyObj.method2.and.identity()).toEqual('unknown.method2');
});
it("should allow you to omit the baseName and takes only a list of methods", function () {
var spyObj = jasmine.createSpyObj(['method1', 'method2']);
it("should allow you to omit the baseName and takes only a list of methods", function() {
const spyObj = jasmine.createSpyObj(['method1', 'method2']);
expect(spyObj).toEqual({ method1: jasmine.any(Function), method2: jasmine.any(Function) });
expect(spyObj.method1.and.identity()).toEqual('unknown.method1');
expect(spyObj.method2.and.identity()).toEqual('unknown.method2');
});
it("should throw if you pass an empty array argument", function () {
expect(function () {
it("should throw if you pass an empty array argument", function() {
expect(function() {
jasmine.createSpyObj('BaseName', []);
}).toThrow("createSpyObj requires a non-empty array or object of method names to create spies for");
});
it("should throw if you pass an empty object argument", function () {
expect(function () {
it("should throw if you pass an empty object argument", function() {
expect(function() {
jasmine.createSpyObj('BaseName', {});
}).toThrow("createSpyObj requires a non-empty array or object of method names to create spies for");
});
@@ -1275,17 +1266,17 @@ describe("createSpyObj", function () {
(() => {
// from boot.js
var env = jasmine.getEnv();
const env = jasmine.getEnv();
var htmlReporter = new jasmine.HtmlReporter();
const htmlReporter = new jasmine.HtmlReporter();
env.addReporter(htmlReporter);
var specFilter = new jasmine.HtmlSpecFilter();
const specFilter = new jasmine.HtmlSpecFilter();
env.specFilter = (spec) => {
return specFilter.matches(spec.getFullName());
};
var currentWindowOnload = window.onload;
const currentWindowOnload = window.onload;
window.onload = () => {
if (currentWindowOnload) {
(currentWindowOnload as any)(null);
@@ -1293,7 +1284,6 @@ describe("createSpyObj", function () {
htmlReporter.initialize();
env.execute();
};
})();
jasmine.DEFAULT_TIMEOUT_INTERVAL = 1000;
+1 -68
View File
@@ -1,80 +1,13 @@
{
"extends": "dtslint/dt.json",
"rules": {
"adjacent-overload-signatures": false,
"array-type": false,
"arrow-return-shorthand": false,
"ban-types": false,
"callable-types": false,
"comment-format": false,
"dt-header": true,
"eofline": false,
"export-just-namespace": false,
"file-name-casing": [true, "kebab-case"],
"import-spacing": false,
"interface-name": false,
"interface-over-type-literal": false,
"jsdoc-format": false,
"max-line-length": false,
"member-access": false,
"new-parens": false,
"no-any-union": false,
"no-boolean-literal-compare": false,
"no-conditional-assignment": false,
"no-consecutive-blank-lines": false,
"no-construct": false,
"no-declare-current-package": false,
"no-duplicate-imports": false,
"no-duplicate-variable": false,
"no-empty-interface": false,
"no-for-in-array": false,
"no-inferrable-types": false,
"no-internal-module": false,
"no-irregular-whitespace": false,
"no-mergeable-namespace": false,
"no-misused-new": false,
"no-namespace": false,
"no-object-literal-type-assertion": false,
"no-padding": false,
"no-redundant-jsdoc": false,
"no-redundant-jsdoc-2": false,
"no-redundant-undefined": false,
"no-reference-import": false,
"no-relative-import-in-test": false,
"no-self-import": false,
"no-single-declare-module": false,
"no-string-throw": false,
"no-unnecessary-callback-wrapper": false,
"no-unnecessary-class": false,
"no-unnecessary-generics": false,
"no-unnecessary-qualifier": false,
"no-unnecessary-type-assertion": false,
"no-useless-files": false,
"no-var-keyword": false,
"no-var-requires": false,
"no-void-expression": false,
"no-trailing-whitespace": false,
"object-literal-key-quotes": false,
"object-literal-shorthand": false,
"one-line": false,
"one-variable-per-declaration": false,
"only-arrow-functions": false,
"prefer-conditional-expression": false,
"prefer-const": false,
"prefer-declare-function": false,
"prefer-for-of": false,
"prefer-method-signature": false,
"prefer-template": false,
"radix": false,
"semicolon": false,
"space-before-function-paren": false,
"space-within-parens": false,
"strict-export-declare-modifiers": false,
"trim-file": false,
"triple-equals": false,
"typedef-whitespace": false,
"unified-signatures": false,
"void-return": false,
"whitespace": false
"only-arrow-functions": false
}
}