initial checkin of features unit tests

This commit is contained in:
Bryan Housel
2014-10-26 13:32:05 -04:00
parent 1f544e883b
commit 6b6ca8d523
4 changed files with 41 additions and 15 deletions
-15
View File
@@ -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;
};
+1
View File
@@ -259,6 +259,7 @@
<script src="spec/renderer/tile_layer.js"></script>
<script src="spec/renderer/background_source.js"></script>
<script src="spec/renderer/features.js"></script>
<script src="spec/renderer/map.js"></script>
<script src="spec/svg.js"></script>
+1
View File
@@ -67,6 +67,7 @@
<script src="spec/renderer/tile_layer.js"></script>
<script src="spec/renderer/background_source.js"></script>
<script src="spec/renderer/features.js"></script>
<script src="spec/renderer/map.js"></script>
<script src="spec/svg.js"></script>
+39
View File
@@ -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');
});
});