Fix nulls leaking into geo urls (#7433)

This commit is contained in:
Andy Balaam 2021-12-21 16:56:28 +00:00 committed by GitHub
parent d4bafdcddd
commit b412067b24
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 2 deletions

View file

@ -289,12 +289,12 @@ export function getGeoUri(position: GeolocationPosition): string {
const lat = position.coords.latitude;
const lon = position.coords.longitude;
const alt = (
position.coords.altitude !== undefined
Number.isFinite(position.coords.altitude)
? `,${position.coords.altitude}`
: ""
);
const acc = (
position.coords.accuracy !== undefined
Number.isFinite(position.coords.accuracy)
? `;u=${ position.coords.accuracy }`
: ""
);

View file

@ -35,6 +35,22 @@ describe("LocationPicker", () => {
expect(getGeoUri(pos)).toEqual("geo:43.2,12.4");
});
it("Nulls in location are not shown in URI", () => {
const pos: GeolocationPosition = {
coords: {
latitude: 43.2,
longitude: 12.4,
altitude: null,
accuracy: null,
altitudeAccuracy: null,
heading: null,
speed: null,
},
timestamp: 12334,
};
expect(getGeoUri(pos)).toEqual("geo:43.2,12.4");
});
it("Renders a URI with 3 coords", () => {
const pos: GeolocationPosition = {
coords: {