Commit Graph

11262 Commits

Author SHA1 Message Date
Bryan Housel e981cd5dd5 Switch mapillary and openstreetcam tests to work async
- can't reliably use sinon.spy to tell whether a thing has been called,
  so we listen for events instead and check server.requests()
- make sure to request the next page before dispatching `loadedImages` so
  we can `server.respond()` to the request in the event handler if we want to
- also moves `localeDateString` in the openstreetcam service from parsing
  code to display code, because it's very slow (we can just do this for the
  images we look at, instead of all images we fetch)
2019-04-29 15:31:08 -04:00
Bryan Housel af31b84b1d Keep track of whether requests have been processed
This lets us call `respond` multiple times, which is useful for the
tests which fetch data in pages.
2019-04-29 13:03:01 -04:00
Bryan Housel 452eb8b43a Bump timeouts on streetlevel loadimage-type tests
This isn't perfect but might avoid spurious test failures.
2019-04-27 17:41:58 -04:00
Bryan Housel d0452e6be4 Convert fakeServer tests to use fakeFetch
- Many text expects are now wrapped in setTimeout, as the fetch
  promises settle async now.
- This makes the tests somewhat brittle, and we should maybe consider
  reworking some of them. For example it is very hard to perform
  a test like `expect(spy).to.have.not.been.called` in an async way.
  (We could instead inspect the fakeServer requests() to know this.)
- Also includes some trickery for osm.js, which uses d3-xml (fetch)
  now for unauthenticated calls and osmauth (xhr) for authenticated calls
2019-04-26 22:29:48 -04:00
Bryan Housel 552ea46c43 Wrap the fake-fetch methods with sinon.fakeServer-like interface
This mimics `respondWith` and `respond` to keep the tests mostly
similar between `FakeFetch` and `sinon.fakeServer`

Major difference is that all the fakeServer tests which were sync
are now async and this is probably unavoidable.
2019-04-26 22:25:57 -04:00
Bryan Housel b48a7d1e1b Workround for status errors thrown by d3-xml
Because the done callback is expecting something that has a `status` property,
(like an XHR would), we need to extract the status out of the error message.
d3-xml includes status in the error message, but we can't access the response itself.
2019-04-26 22:23:08 -04:00
Bryan Housel b99be67169 When calling an errback from a Promise.catch, pass err.message 2019-04-25 21:58:36 -04:00
Bryan Housel 3e363fed8b Make sure to return a new Response each time, not the same one
You can only consume a response once - thereafter the response
body becomes "locked" and will throw an error if you try.
https://stackoverflow.com/questions/53511974/javascript-fetch-failed-to-execute-json-on-response-body-stream-is-locked
2019-04-25 19:22:11 -04:00
Bryan Housel 6f31062d32 Add support for sinon-stubbing fetch API to spec_helpers 2019-04-25 14:13:08 -04:00
Bryan Housel e6bc9d9e8f Swap out d3-request, swap in d3-fetch 2019-04-24 16:25:25 -04:00
Bryan Housel 48b1ddc925 Rename fetch to fetchComboData to not conflict with fetch API 2019-04-24 16:24:36 -04:00
Bryan Housel b6cd13508a Add abortcontroller-polyfill to support abortable fetch calls 2019-04-24 16:24:13 -04:00
Bryan Housel f72fd961cc Update to d3 ~5.9.2 2019-04-24 10:52:28 -04:00
Bryan Housel 862eca9ddd Update shortcut screen straighten text too 2019-04-24 01:58:19 -04:00
Bryan Housel 05949608aa Support straightening of points
(closes #6217)

- Split `actionStraighten` into `actionStraightenWay` and `actionStraightenNodes`
- Now `operationStraighten` chooses the correct action depending on selected entities
- Also move `getSmallestSurroundingRectangle` from `actionReflect` to `geo.js`
2019-04-24 01:55:43 -04:00
Quincy Morgan bc3353d386 Merge pull request #6234 from openstreetmap/unsquare-buildings-warning
Add validation warning for unsquare buildings
2019-04-23 16:16:26 -07:00
Quincy Morgan d1cd07e588 Add Name and Operator fields to the Car Wash preset (close #6233) 2019-04-23 15:56:36 -07:00
Quincy Morgan 34fcd01f98 Add validation warning for unsquare buildings 2019-04-23 15:50:52 -07:00
Bryan Housel a37ce90af7 Move "Fix All" from bottom of list to top 2019-04-23 17:42:14 -04:00
Quincy Morgan 4948474118 Set the default validation filters to be My Edits / Everywhere (re: #6223) 2019-04-23 10:34:10 -07:00
Bryan Housel 82f1b2542d Less top padding 2019-04-23 13:03:36 -04:00
Bryan Housel 7e04175559 Add Enable All / Disable All validation rules links
(closes #5986)
2019-04-23 13:01:15 -04:00
Quincy Morgan b546b09388 Tweak issues CSS 2019-04-23 09:40:53 -07:00
Bryan Housel 1d4770a3c6 Merge pull request #6211 from AndreasHae/feature/split-multiple-tags
Handle multiple tags when splitting up in tag editor
2019-04-23 11:05:03 -04:00
Bryan Housel fb3d6746a1 Move covered from moreFields to fields for all service roads
(I find myself using this a lot now that we warn about crossing building-way)
2019-04-23 10:26:46 -04:00
Bryan Housel 75657e87a2 Update rollup-plugin-node-resolve mainFields option
Eliminates warnings about the deprecated options
2019-04-23 09:53:30 -04:00
greenkeeper[bot] a399d0338c chore(package): update rollup to version 1.10.1 2019-04-23 09:07:15 -04:00
greenkeeper[bot] 2cc5c0c72d chore(package): update sinon to version 7.3.2 2019-04-23 09:05:30 -04:00
Bryan Housel cbce45178e Update ecstatic to the latest version
(closes #6147)
2019-04-23 09:03:37 -04:00
greenkeeper[bot] 19f668527b fix(package): update marked to version 0.6.2 2019-04-23 08:56:04 -04:00
Bryan Housel bd2a33d845 Merge branch 'validation_and_change_perf' 2019-04-23 01:30:26 -04:00
Bryan Housel a3bc164c43 Redraw entity editor fields on addition, deletion too
This is important to make the turn restriction editor work
2019-04-23 01:07:38 -04:00
Bryan Housel 7dce4bb161 Avoid asking DOM if layers are classed disabled in map.editable
`map.editable` is hot code because it's called frequently by the `isHiddenX`
tests in `features.js`.  It's much more efficient to just ask the osm layer
whether it is enabled, than to use D3 to find that layer in the DOM and check
whether it's classed `disabled`
2019-04-22 22:12:42 -04:00
Bryan Housel 0636401ab6 Uncramp the map panes
(Can probably find a better way to make these responsive later)
2019-04-22 21:47:42 -04:00
Bryan Housel 61da61d7fd Add missing button arg to modeDrawLine, ensure using current entities 2019-04-22 20:00:53 -04:00
Bryan Housel 3fe9d75f35 Fix issues with issue cache for entities that no longer exist 2019-04-22 19:35:23 -04:00
Quincy Morgan e04d860f62 Convert "Detach" operation into "Extract" operation that also works on areas (close #6203) 2019-04-22 14:46:01 -07:00
Andreas Hässler e49fdce215 Add missing semicolons 2019-04-22 23:43:55 +02:00
Quincy Morgan e8c5c05b29 Add preset for shop=boat 2019-04-22 09:43:04 -07:00
Quincy Morgan 742afda778 Add highway tags to addTags of slipways as lines 2019-04-22 09:21:15 -07:00
Quincy Morgan c4e8ce60cc Update tunnel fields to use Width, Length, and Height 2019-04-22 09:06:54 -07:00
Quincy Morgan 1a5c0e88a1 Add man_made=tunnel preset (re: #6212) 2019-04-22 09:00:46 -07:00
Quincy Morgan 7e74c56313 Split track presets into point/way variants to avoid adding highway tags to nodes 2019-04-22 08:51:27 -07:00
Andreas Hässler 2596b97dbc Do not use ES6 features 2019-04-22 16:38:33 +02:00
Andreas Hässler faa178797d Handle multiple tags when splitting up 2019-04-22 16:22:59 +02:00
Bryan Housel e4fc821eb0 Just use reduce 2019-04-22 09:49:17 -04:00
Bryan Housel 3557e3c711 Don't allow disconnecting a way if parts extend to undownloaded tiles
(re: #2248, #4245)
2019-04-20 00:02:46 -04:00
Bryan Housel bbf4495f5c pacify eslint 2019-04-19 23:44:49 -04:00
Bryan Housel 7c85cc997e Merge branch 'master' into validation_and_change_perf 2019-04-19 22:44:04 -04:00
Bryan Housel 860454d982 Show "Unknown" for opening hours placeholder
(closes #6207)
2019-04-19 19:55:24 -04:00