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'); + }); + +});