Index: trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParserTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParserTest.java	(revision 15924)
+++ trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParserTest.java	(revision 15925)
@@ -4,4 +4,5 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
@@ -626,3 +627,24 @@
         assertTrue(sheet.getErrors().toString(), sheet.getErrors().isEmpty());
     }
+
+    /**
+     * Test parsing zoom expressions
+     * @throws ParseException if a parsing error occurs
+     */
+    @Test
+    public void testZoom() throws ParseException {
+        assertNotNull(getParser("|z12").zoom());
+        assertNotNull(getParser("|z12-").zoom());
+        assertNotNull(getParser("|z-12").zoom());
+        assertNotNull(getParser("|z12-16").zoom());
+    }
+
+    /**
+     * Non-regression test for <a href="https://josm.openstreetmap.de/ticket/18759">Bug #18759</a>.
+     * @throws ParseException if a parsing error occurs
+     */
+    @Test(expected = IllegalArgumentException.class)
+    public void testZoomIAE() throws ParseException {
+        assertNotNull(getParser("|z16-15").zoom());
+    }
 }
