mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-14 09:42:56 +00:00
127 lines
4.1 KiB
JavaScript
127 lines
4.1 KiB
JavaScript
describe('iD.Context', function() {
|
|
var assets = {
|
|
'iD/img/loader.gif': '/assets/iD/img/loader-b66184b5c4afbccc25f.gif'
|
|
};
|
|
|
|
describe('#assetPath', function() {
|
|
it('sets and gets assetPath', function() {
|
|
var context = iD.Context(window);
|
|
expect(context.assetPath()).to.eql('');
|
|
|
|
context.assetPath('iD/');
|
|
expect(context.assetPath()).to.eql('iD/');
|
|
});
|
|
});
|
|
|
|
describe('#assetMap', function() {
|
|
it('sets and gets assetMap', function() {
|
|
var context = iD.Context(window);
|
|
expect(context.assetMap()).to.eql({});
|
|
|
|
context.assetMap(assets);
|
|
expect(context.assetMap()).to.eql(assets);
|
|
});
|
|
});
|
|
|
|
describe('#asset', function() {
|
|
var context;
|
|
beforeEach(function() {
|
|
context = iD.Context(window).assetPath('iD/').assetMap(assets);
|
|
});
|
|
|
|
it('looks first in assetMap', function() {
|
|
expect(context.asset('img/loader.gif')).to.eql('/assets/iD/img/loader-b66184b5c4afbccc25f.gif');
|
|
});
|
|
it('falls back to prepending assetPath', function() {
|
|
expect(context.asset('img/spinner.gif')).to.eql('iD/img/spinner.gif');
|
|
});
|
|
});
|
|
|
|
describe('#imagePath', function() {
|
|
var context;
|
|
beforeEach(function() {
|
|
context = iD.Context(window).assetPath('iD/').assetMap(assets);
|
|
});
|
|
|
|
it('looks first in assetMap', function() {
|
|
expect(context.imagePath('loader.gif')).to.eql('/assets/iD/img/loader-b66184b5c4afbccc25f.gif');
|
|
});
|
|
it('falls back to prepending assetPath', function() {
|
|
expect(context.imagePath('spinner.gif')).to.eql('iD/img/spinner.gif');
|
|
});
|
|
});
|
|
|
|
describe('#presets', function() {
|
|
it('supports custom presets', function() {
|
|
var presetsCollection = {
|
|
presets: {
|
|
'mines': {
|
|
geometry: ['point', 'area'],
|
|
name: 'Mining Concession',
|
|
tags: { 'concession': 'mining' }
|
|
},
|
|
'area': {
|
|
'name': 'Area',
|
|
'tags': {},
|
|
'geometry': ['area']
|
|
},
|
|
'point': {
|
|
'name': 'Point',
|
|
'tags': {},
|
|
'geometry': ['point']
|
|
},
|
|
'line': {
|
|
'name': 'Line',
|
|
'tags': {},
|
|
'geometry': ['line']
|
|
},
|
|
'vertex': {
|
|
'name': 'Other',
|
|
'tags': {},
|
|
'geometry': ['vertex']
|
|
}
|
|
},
|
|
fields: {
|
|
'name': {
|
|
'key': 'name',
|
|
'type': 'localized',
|
|
'label': 'Name',
|
|
'placeholder': 'Common name (if any)'
|
|
}
|
|
}
|
|
};
|
|
|
|
var context = iD.Context(window).presets(presetsCollection),
|
|
way = iD.Way({tags: {concession: 'mining', area: 'yes'}}),
|
|
graph = iD.Graph([way]);
|
|
|
|
expect(context.presets().match(way, graph).id).to.eql('mines');
|
|
});
|
|
});
|
|
|
|
describe('#debug', function() {
|
|
it('sets and gets debug flags', function() {
|
|
var context = iD.Context(window),
|
|
flags = {
|
|
tile: false,
|
|
collision: false,
|
|
imagery: false,
|
|
imperial: false,
|
|
driveLeft: false
|
|
};
|
|
|
|
expect(context.debugFlags()).to.eql(flags);
|
|
|
|
context.setDebug('tile', true);
|
|
expect(context.getDebug('tile')).to.be.true;
|
|
|
|
context.setDebug('collision');
|
|
expect(context.getDebug('collision')).to.be.true;
|
|
|
|
context.setDebug('tile', false);
|
|
expect(context.getDebug('tile')).to.be.false;
|
|
});
|
|
});
|
|
|
|
});
|