Update test specs to use Jasmine 3 (#2089)

* Updated Karma and Jasmine versions

* Added DOMObserver class. Supports promise-based testing of DOM changes

Update asynchronous test specs to use promises or done() instead of waitsFor/runs

* Modified ActionCapability to duplicate context object properties as own properties for better object equality comparisons

* Global find + replace to fix syntax issues

* Fixed various issues caused by non-deterministic runtime order of tests in Jasmine 3. Fixed issues caused by changes to determination of object equality

* Addressed review comments

* Resolved merge conflicts with master

* Fixed style errors

* Use spy.calls.count() instead of manually tracking
This commit is contained in:
Andrew Henry
2018-06-29 17:32:59 -07:00
committed by Pete Richards
parent 013eba744d
commit 433dee0314
305 changed files with 2866 additions and 3324 deletions

View File

@@ -40,7 +40,7 @@ define(
* var linkService = new MockLinkService();
*
* // validate is a standard jasmine spy.
* linkService.validate.andReturn(true);
* linkService.validate.and.returnValue(true);
* var isValid = linkService.validate(object, parentObject);
* expect(isValid).toBe(true);
*
@@ -48,7 +48,7 @@ define(
* var whenLinked = jasmine.createSpy('whenLinked');
* linkService.perform(object, parentObject).then(whenLinked);
* expect(whenLinked).not.toHaveBeenCalled();
* linkService.perform.mostRecentCall.promise.resolve('someArg');
* linkService.perform.calls.mostRecent().promise.resolve('someArg');
* expect(whenLinked).toHaveBeenCalledWith('someArg');
* ```
*/
@@ -63,11 +63,11 @@ define(
]
);
mockLinkService.perform.andCallFake(function (object) {
mockLinkService.perform.and.callFake(function (object) {
var performPromise = new ControlledPromise();
this.perform.mostRecentCall.promise = performPromise;
this.perform.calls[this.perform.calls.length - 1].promise =
this.perform.calls.mostRecent().promise = performPromise;
this.perform.calls.all()[this.perform.calls.count() - 1].promise =
performPromise;
return performPromise.then(function (overrideObject) {