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

@ -53,7 +53,7 @@ define(
expect(mockScope.ngModel)
.not.toHaveBeenCalledWith("some new value");
// Fire the matching watcher
mockScope.$watch.calls.forEach(function (call) {
mockScope.$watch.calls.all().forEach(function (call) {
if (call.args[0] === "getterSetter.value") {
call.args[1](mockScope.getterSetter.value);
}
@ -64,11 +64,11 @@ define(
});
it("updates internal state when external changes are detected", function () {
mockScope.ngModel.andReturn("some other new value");
mockScope.ngModel.and.returnValue("some other new value");
// Verify precondition
expect(mockScope.getterSetter.value).toBeUndefined();
// Fire the matching watcher
mockScope.$watch.calls.forEach(function (call) {
mockScope.$watch.calls.all().forEach(function (call) {
if (call.args[0] === "ngModel()") {
call.args[1]("some other new value");
}