diff --git a/js/id/renderer/features.js b/js/id/renderer/features.js
index 734c70bd7..b69a6e1b4 100644
--- a/js/id/renderer/features.js
+++ b/js/id/renderer/features.js
@@ -209,21 +209,6 @@ iD.Features = function(context) {
}
};
- features.setAll = function(val) {
- if (val !== undefined) {
- _.each(feature, function(f) { return val ? f.enable() : f.disable(); });
- update();
- }
- };
-
- features.enableAll = function() {
- features.setAll(true);
- };
-
- features.disableAll = function() {
- features.setAll(false);
- };
-
features.count = function(k) {
return feature[k] && feature[k].count;
};
diff --git a/test/index.html b/test/index.html
index 6ad75a745..f5cc7da2a 100644
--- a/test/index.html
+++ b/test/index.html
@@ -259,6 +259,7 @@
+
diff --git a/test/index_packaged.html b/test/index_packaged.html
index 4a4f3f135..9df77e3cc 100644
--- a/test/index_packaged.html
+++ b/test/index_packaged.html
@@ -67,6 +67,7 @@
+
diff --git a/test/spec/renderer/features.js b/test/spec/renderer/features.js
new file mode 100644
index 000000000..f83da4acb
--- /dev/null
+++ b/test/spec/renderer/features.js
@@ -0,0 +1,39 @@
+describe('iD.Features', function() {
+ var context, features;
+
+ beforeEach(function() {
+ context = iD();
+ features = context.features();
+ });
+
+ it('returns feature keys', function() {
+ var keys = features.keys();
+ expect(keys).to.have.members([
+ 'points', 'major_roads', 'minor_roads', 'paths',
+ 'buildings', 'landuse', 'boundaries', 'water', 'rail',
+ 'power', 'past_future', 'others'
+ ]);
+ });
+
+ it('disables and enables features', function() {
+ var enabled, disabled;
+
+ features.disable('water');
+ features.disable('rail');
+ enabled = features.enabled();
+ disabled = features.disabled();
+
+ expect(enabled).to.not.have.members(['water', 'rail']);
+ expect(disabled).to.have.members(['water', 'rail']);
+
+ features.enable('water');
+ enabled = features.enabled();
+ disabled = features.disabled();
+
+ expect(enabled).to.include('water');
+ expect(enabled).to.not.include('rail');
+ expect(disabled).to.include('rail');
+ expect(disabled).to.not.include('water');
+ });
+
+});