diff --git a/src/htmlContent/extension-manager-view-item.html b/src/htmlContent/extension-manager-view-item.html index 6e73bc068fc..da0dbca28c8 100644 --- a/src/htmlContent/extension-manager-view-item.html +++ b/src/htmlContent/extension-manager-view-item.html @@ -54,7 +54,7 @@ {{/removalAllowed}} {{#failedToStart}} {{^isMarkedForRemoval}} - {{Strings.EXTENSION_ERROR}} ({{Strings.REMOVE}}) + {{Strings.EXTENSION_ERROR}} {{#allowRemove}}({{Strings.REMOVE}}){{/allowRemove}} {{/isMarkedForRemoval}} {{/failedToStart}} {{#isMarkedForRemoval}} diff --git a/test/spec/ExtensionManager-test.js b/test/spec/ExtensionManager-test.js index 799b7acdeb6..0edfce4ba5d 100644 --- a/test/spec/ExtensionManager-test.js +++ b/test/spec/ExtensionManager-test.js @@ -920,6 +920,16 @@ define(function (require, exports, module) { }); }); + it("should not have a 'remove' link for extensions in the dev folder that failed to load", function () { + mockLoadExtensions(["dev/mock-failed-in-dev-folder"], true); + setupViewWithMockData(ExtensionManagerViewModel.InstalledViewModel); + runs(function () { + expect(view).toHaveText("mock-failed-in-dev-folder"); + var $removeLink = $("a.remove[data-extension-id=mock-failed-in-dev-folder]", view.$el); + expect($removeLink.length).toBe(0); + }); + }); + it("should disable the Remove button for extensions in the dev folder", function () { mockLoadExtensions(["dev/mock-extension-2"]); setupViewWithMockData(ExtensionManagerViewModel.InstalledViewModel);