Merge branch 'master' into open671

Conflicts:
	main.js
	platform/commonUI/edit/src/policies/EditableMovePolicy.js
	platform/commonUI/general/src/directives/MCTTree.js
	platform/commonUI/general/src/ui/ToggleView.js
	platform/core/src/actions/ActionCapability.js
	platform/core/test/models/CachingModelDecoratorSpec.js
	platform/core/test/services/InstantiateSpec.js
	platform/features/events/bundle.js
	platform/features/events/src/DomainColumn.js
	platform/features/events/src/EventListController.js
	platform/features/events/src/EventListPopulator.js
	platform/features/events/src/RangeColumn.js
	platform/features/events/src/directives/MCTDataTable.js
	platform/features/events/src/policies/MessagesViewPolicy.js
	platform/features/events/test/DomainColumnSpec.js
	platform/features/events/test/EventListControllerSpec.js
	platform/features/events/test/EventListPopulatorSpec.js
	platform/features/events/test/RangeColumnSpec.js
	platform/features/events/test/policies/MessagesViewPolicySpec.js
	platform/features/rtevents/bundle.js
	platform/features/rtevents/src/DomainColumn.js
	platform/features/rtevents/src/RTEventListController.js
	platform/features/rtevents/src/RangeColumn.js
	platform/features/rtevents/src/directives/MCTRTDataTable.js
	platform/features/rtevents/src/policies/RTMessagesViewPolicy.js
	platform/features/rtevents/test/DomainColumnSpec.js
	platform/features/rtevents/test/RTEventListControllerSpec.js
	platform/features/rtevents/test/RangeColumnSpec.js
	platform/features/rtevents/test/policies/RTMessagesViewPolicySpec.js
	platform/features/rtscrolling/bundle.js
	platform/features/rtscrolling/src/DomainColumn.js
	platform/features/rtscrolling/src/NameColumn.js
	platform/features/rtscrolling/src/RTScrollingListController.js
	platform/features/rtscrolling/src/RangeColumn.js
	platform/features/scrolling/src/DomainColumn.js
	platform/features/scrolling/src/RangeColumn.js
	platform/features/scrolling/src/ScrollingListController.js
	platform/features/scrolling/src/ScrollingListPopulator.js
	platform/features/scrolling/test/DomainColumnSpec.js
	platform/features/scrolling/test/RangeColumnSpec.js
	platform/features/scrolling/test/ScrollingListControllerSpec.js
	platform/features/scrolling/test/ScrollingListPopulatorSpec.js
	platform/features/table/src/directives/MCTTable.js
	platform/features/table/test/controllers/TelemetryTableControllerSpec.js
	platform/representation/src/gestures/DropGesture.js
	platform/telemetry/src/TelemetryFormatter.js
	test-main.js
This commit is contained in:
Victor Woeltjen
2016-04-08 16:05:04 -07:00
179 changed files with 6732 additions and 19586 deletions

View File

@@ -29,6 +29,7 @@ define(
mockIdentifierService,
mockInstantiate,
mockIdentifier,
mockNow,
mockDomainObject,
instantiation;
@@ -55,9 +56,13 @@ define(
mockIdentifierService.parse.andReturn(mockIdentifier);
mockIdentifierService.generate.andReturn("some-id");
mockNow = jasmine.createSpy();
mockNow.andReturn(1234321);
instantiation = new InstantiationCapability(
mockInjector,
mockIdentifierService,
mockNow,
mockDomainObject
);
});
@@ -79,7 +84,10 @@ define(
expect(instantiation.instantiate(testModel))
.toBe(mockDomainObject);
expect(mockInstantiate)
.toHaveBeenCalledWith(testModel, jasmine.any(String));
.toHaveBeenCalledWith({
someKey: "some value",
modified: mockNow()
}, jasmine.any(String));
});
});

View File

@@ -34,6 +34,7 @@ define(
mockDomainObject,
mockIdentifier,
mockNofificationService,
mockCacheService,
mockQ,
id = "object id",
model,
@@ -79,6 +80,10 @@ define(
"notificationService",
["error"]
);
mockCacheService = jasmine.createSpyObj(
"cacheService",
[ "get", "put", "remove", "all" ]
);
mockDomainObject = {
getId: function () { return id; },
@@ -94,6 +99,7 @@ define(
mockIdentifierService.parse.andReturn(mockIdentifier);
mockIdentifier.getSpace.andReturn(SPACE);
persistence = new PersistenceCapability(
mockCacheService,
mockPersistenceService,
mockIdentifierService,
mockNofificationService,
@@ -169,6 +175,7 @@ define(
expect(mockNofificationService.error).not.toHaveBeenCalled();
});
});
describe("unsuccessful persistence", function() {
var sadPromise = {
then: function(callback){

View File

@@ -21,8 +21,11 @@
*****************************************************************************/
define(
["../../src/models/CachingModelDecorator"],
function (CachingModelDecorator) {
[
"../../src/models/CachingModelDecorator",
"../../src/models/ModelCacheService"
],
function (CachingModelDecorator, ModelCacheService) {
describe("The caching model decorator", function () {
var mockModelService,
@@ -65,7 +68,10 @@ define(
b: { someOtherKey: "some other value" }
};
mockModelService.getModels.andReturn(asPromise(testModels));
decorator = new CachingModelDecorator(mockModelService);
decorator = new CachingModelDecorator(
new ModelCacheService(),
mockModelService
);
});
it("loads models from its wrapped model service", function () {
@@ -148,4 +154,4 @@ define(
});
}
);
);

View File

@@ -0,0 +1,69 @@
/*****************************************************************************
* Open MCT Web, Copyright (c) 2014-2015, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
* Open MCT Web is licensed under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0.
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
* Open MCT Web includes source code licensed under additional open source
* licenses. See the Open Source Licenses file (LICENSES.md) included with
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/
define(['../../src/models/ModelCacheService'], function (ModelCacheService) {
'use strict';
describe("ModelCacheService", function () {
var testIds,
testModels,
cacheService;
beforeEach(function () {
testIds = [ 'a', 'b', 'c', 'd' ];
testModels = testIds.reduce(function (models, id) {
models[id] = { someKey: "some value for " + id };
return models;
}, {});
cacheService = new ModelCacheService();
});
describe("when populated with models", function () {
beforeEach(function () {
testIds.forEach(function (id) {
cacheService.put(id, testModels[id]);
});
});
it("indicates that it has these models", function () {
testIds.forEach(function (id) {
expect(cacheService.has(id)).toBe(true);
});
});
it("provides all of these models", function () {
expect(cacheService.all()).toEqual(testModels);
});
it("allows models to be retrieved", function () {
testIds.forEach(function (id) {
expect(cacheService.get(id)).toEqual(testModels[id]);
});
});
it("allows models to be removed", function () {
cacheService.remove('a');
expect(cacheService.has('a')).toBe(false);
});
});
});
});

View File

@@ -30,6 +30,7 @@ define(
mockIdentifierService,
mockCapabilityConstructor,
mockCapabilityInstance,
mockCacheService,
idCounter,
testModel,
instantiate,
@@ -58,11 +59,17 @@ define(
"some-id-" + (idCounter += 1);
});
mockCacheService = jasmine.createSpyObj(
'cacheService',
[ 'get', 'put', 'remove', 'all' ]
);
testModel = { someKey: "some value" };
instantiate = new Instantiate(
mockCapabilityService,
mockIdentifierService
mockIdentifierService,
mockCacheService
);
domainObject = instantiate(testModel);
});
@@ -88,6 +95,13 @@ define(
expect(instantiate(testModel).getId())
.not.toEqual(domainObject.getId());
});
it("caches the instantiated model", function () {
expect(mockCacheService.put).toHaveBeenCalledWith(
domainObject.getId(),
testModel
);
});
});
}