/* globals chai:false */
/* eslint no-extend-native:off */
iD.debug = true;
// Disable things that use the network
for (var k in iD.services) { delete iD.services[k]; }
// Try not to load imagery
window.location.hash = '#background=none';
// Run without data for speed (tests which need data can set it up themselves)
iD.fileFetcher.assetPath('../dist/');
var cached = iD.fileFetcher.cache();
// Initializing `coreContext` will try loading the locale data and English locale strings:
cached.locales = { en: { rtl: false, pct: 1 } };
cached.locales_index_general = { en: { rtl: false, pct: 1 } };
cached.locales_index_tagging = { en: { rtl: false, pct: 1 } };
// Use fake data for the 'tagging' scope
cached.locale_tagging_en = {
en: {
presets: {
fields: {
restrictions: {
label: 'Turn Restrictions'
},
access: {
label: 'Allowed Access',
placeholder: 'Not Specified',
types: {
access: 'All',
foot: 'Foot',
motor_vehicle: 'Motor Vehicles',
bicycle: 'Bicycles',
horse: 'Horses'
},
options: {
yes: {
title: 'Allowed',
description: 'Access allowed by law; a right of way'
},
no: {
title: 'Prohibited',
description: 'Access not allowed to the general public'
},
permissive: {
title: 'Permissive',
description: 'Access allowed until such time as the owner revokes the permission'
},
private: {
title: 'Private',
description: 'Access allowed only with permission of the owner on an individual basis'
},
designated: {
title: 'Designated',
description: 'Access allowed according to signs or specific local laws'
},
destination: {
title: 'Destination',
description: 'Access allowed only to reach a destination'
},
dismount: {
title: 'Dismount',
description: 'Access allowed but rider must dismount'
},
permit: {
title: 'Permit',
description: 'Access allowed only with a valid permit or license'
}
}
}
}
}
}
};
// Load the actual data from `dist/locales/` for the 'general' scope
iD.localizer.loadLocale('en', 'general', 'locales');
// Load the fake data seeded above for the 'tagging' scope
iD.localizer.loadLocale('en', 'tagging');
// Initializing `coreContext` initializes `_background`, which tries loading:
cached.imagery = [];
// Initializing `coreContext` initializes `_presets`, which tries loading:
cached.preset_categories = {};
cached.preset_defaults = {};
cached.preset_fields = {};
cached.preset_presets = {};
// Initializing `coreContext` initializes `_validator`, which tries loading:
cached.deprecated = [];
// Initializing `coreContext` initializes `_uploader`, which tries loading:
cached.discarded = {};
mocha.setup({
timeout: 5000, // 5 sec
ui: 'bdd',
globals: [
'__onmousemove.zoom',
'__onmouseup.zoom',
'__onkeydown.select',
'__onkeyup.select',
'__onclick.draw',
'__onclick.draw-block'
]
});
expect = chai.expect;
window.d3 = iD.d3; // Remove this if we can avoid exporting all of d3.js
delete window.PointerEvent; // force the browser to use mouse events
// some sticky fallbacks
const capabilities = `
`;
fetchMock.sticky('https://www.openstreetmap.org/api/capabilities', capabilities, {sticky: true});
fetchMock.sticky('http://www.openstreetmap.org/api/capabilities', capabilities, {sticky: true});
const vegbilderOwsCapabilities = `
Mock OGC
WFS
2.0.0
vegbilder_1_0:Vegbilder_2020
Vegbilder_2020
Testlayer
urn:ogc:def:crs:EPSG::4326
urn:ogc:def:crs:EPSG::3857
not_matched_layer:Vegbilder_2020
Vegbilder_2020_4
Not matched layer
urn:ogc:def:crs:EPSG::4326
urn:ogc:def:crs:EPSG::3857
`;
fetchMock.sticky({
url: 'https://www.vegvesen.no/kart/ogc/vegbilder_1_0/ows',
query: {
service: 'WFS',
request: 'GetCapabilities'
}
}, vegbilderOwsCapabilities, {sticky: true});
fetchMock.config.fallbackToNetwork = true;
fetchMock.config.overwriteRoutes = false;