diff --git a/platform/commonUI/edit/src/representers/EditToolbarRepresenter.js b/platform/commonUI/edit/src/representers/EditToolbarRepresenter.js index df390617fd..b17c7f7d88 100644 --- a/platform/commonUI/edit/src/representers/EditToolbarRepresenter.js +++ b/platform/commonUI/edit/src/representers/EditToolbarRepresenter.js @@ -64,6 +64,8 @@ define( if (attrs.toolbar) { // Initialize toolbar object toolbar = new EditToolbar(definition, commit); + // Ensure toolbar state is exposed + scope.$parent[attrs.toolbar] = toolbarObject; } } diff --git a/platform/commonUI/edit/test/representers/EditToolbarRepresenterSpec.js b/platform/commonUI/edit/test/representers/EditToolbarRepresenterSpec.js index aea9ef3b03..56093b5e86 100644 --- a/platform/commonUI/edit/test/representers/EditToolbarRepresenterSpec.js +++ b/platform/commonUI/edit/test/representers/EditToolbarRepresenterSpec.js @@ -48,10 +48,22 @@ define( }); it("watches for toolbar state changes", function () { + representer.represent({}); expect(mockScope.$watchCollection).toHaveBeenCalledWith( jasmine.any(Function), jasmine.any(Function) ); + expect(mockScope.$watchCollection.calls[0].args[0]()) + .toBe(mockScope.$parent.testToolbar.state); + }); + + it("removes state from parent scope on destroy", function () { + // Verify precondition + expect(mockScope.$parent.testToolbar).toBeDefined(); + // Destroy the represeter + representer.destroy(); + // Should have removed toolbar state from view + expect(mockScope.$parent.testToolbar).toBeUndefined(); }); // Verify a simple interaction between selection state and toolbar diff --git a/platform/features/layout/test/elements/TelemetryProxySpec.js b/platform/features/layout/test/elements/TelemetryProxySpec.js index fdd7e555d0..2042535c90 100644 --- a/platform/features/layout/test/elements/TelemetryProxySpec.js +++ b/platform/features/layout/test/elements/TelemetryProxySpec.js @@ -30,6 +30,27 @@ define( it("exposes the element's id", function () { expect(proxy.id).toEqual('test-id'); }); + + it("allows title to be shown/hidden", function () { + // Initially, only showTitle and hideTitle are available + expect(proxy.hideTitle).toBeUndefined(); + proxy.showTitle(); + + // Should have set titled state + expect(testElement.titled).toBeTruthy(); + + // Should also have changed methods available + expect(proxy.showTitle).toBeUndefined(); + proxy.hideTitle(); + + // Should have cleared titled state + expect(testElement.titled).toBeFalsy(); + + // Available methods should have changed again + expect(proxy.hideTitle).toBeUndefined(); + proxy.showTitle(); + }); + }); } ); diff --git a/platform/forms/test/controllers/ColorControllerSpec.js b/platform/forms/test/controllers/ColorControllerSpec.js index c8d432d91b..ce449bc98a 100644 --- a/platform/forms/test/controllers/ColorControllerSpec.js +++ b/platform/forms/test/controllers/ColorControllerSpec.js @@ -41,7 +41,7 @@ define( count += 1; set[color] = true; }); - }) + }); // Size of set should be number of colors if all were unique expect(Object.keys(set).length).toEqual(count);