]> git.openstreetmap.org Git - nominatim-ui.git/commitdiff
reverse page: dont switch empty coordinates (#130)
authormtmail <mtmail@gmx.net>
Mon, 19 Apr 2021 14:22:41 +0000 (16:22 +0200)
committerGitHub <noreply@github.com>
Mon, 19 Apr 2021 14:22:41 +0000 (16:22 +0200)
src/components/SearchSectionReverse.svelte
test/reverse.js [new file with mode: 0644]

index aca422d786bdc1510fe8fb351eea3871410fb22f..186190202216aca5843f194f76db25e58cd2118f 100644 (file)
@@ -9,6 +9,8 @@
   export let zoom = '';
 
   function gotoCoordinates(newlat, newlon, newzoom) {
   export let zoom = '';
 
   function gotoCoordinates(newlat, newlon, newzoom) {
+    if (newlat === null || newlon === null) return;
+
     let params = new URLSearchParams();
     params.set('lat', newlat);
     params.set('lon', newlon);
     let params = new URLSearchParams();
     params.set('lat', newlat);
     params.set('lon', newlon);
diff --git a/test/reverse.js b/test/reverse.js
new file mode 100644 (file)
index 0000000..8e02b23
--- /dev/null
@@ -0,0 +1,36 @@
+const assert = require('assert');
+
+describe('Reverse Page', function () {
+  let page;
+
+  describe('No search', function () {
+    before(async function () {
+      page = await browser.newPage();
+      await page.goto('http://localhost:9999/reverse.html');
+    });
+
+    after(async function () {
+      await page.close();
+    });
+
+    it('should allow switching coordinates', async function () {
+      let lat_handle = await page.$('input[name=lat]');
+      let lon_handle = await page.$('input[name=lon]');
+
+      assert.equal(await lat_handle.evaluate(node => node.value), '');
+      assert.equal(await lon_handle.evaluate(node => node.value), '');
+
+      await page.click('#switch-coords');
+      // no change
+      assert.equal(await lat_handle.evaluate(node => node.value), '');
+      assert.equal(await lon_handle.evaluate(node => node.value), '');
+
+      await page.type('input[name=lat]', '5');
+      await page.type('input[name=lon]', '10');
+      await page.click('#switch-coords');
+      // switched
+      assert.equal(await lat_handle.evaluate(node => node.value), 10);
+      assert.equal(await lon_handle.evaluate(node => node.value), 5);
+    });
+  });
+});