Index: trunk/test/unit/org/openstreetmap/josm/data/validation/tests/MapCSSTagCheckerTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/validation/tests/MapCSSTagCheckerTest.java	(revision 8930)
+++ trunk/test/unit/org/openstreetmap/josm/data/validation/tests/MapCSSTagCheckerTest.java	(revision 8936)
@@ -28,4 +28,5 @@
 import org.openstreetmap.josm.data.validation.Severity;
 import org.openstreetmap.josm.data.validation.TestError;
+import org.openstreetmap.josm.data.validation.tests.MapCSSTagChecker.ParseResult;
 import org.openstreetmap.josm.data.validation.tests.MapCSSTagChecker.TagCheck;
 import org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.ParseException;
@@ -46,5 +47,5 @@
     static MapCSSTagChecker buildTagChecker(String css) throws ParseException {
         final MapCSSTagChecker test = new MapCSSTagChecker();
-        test.checks.putAll("test", TagCheck.readMapCSS(new StringReader(css)));
+        test.checks.putAll("test", TagCheck.readMapCSS(new StringReader(css)).parseChecks);
         return test;
     }
@@ -52,5 +53,5 @@
     @Test
     public void testNaturalMarsh() throws Exception {
-        final List<MapCSSTagChecker.TagCheck> checks = MapCSSTagChecker.TagCheck.readMapCSS(new StringReader("" +
+        ParseResult result = MapCSSTagChecker.TagCheck.readMapCSS(new StringReader("" +
                 "*[natural=marsh] {\n" +
                 "   throwWarning: tr(\"{0}={1} is deprecated\", \"{0.key}\", tag(\"natural\"));\n" +
@@ -59,5 +60,7 @@
                 "   fixAdd: \"wetland=marsh\";\n" +
                 "}"));
+        final List<MapCSSTagChecker.TagCheck> checks = result.parseChecks;
         assertEquals(1, checks.size());
+        assertTrue(result.parseErrors.isEmpty());
         final MapCSSTagChecker.TagCheck check = checks.get(0);
         assertNotNull(check);
@@ -87,5 +90,5 @@
                 "fixChangeKey: \"highway => construction\";\n" +
                 "fixAdd: \"highway=construction\";\n" +
-                "}")).get(0);
+                "}")).parseChecks.get(0);
         final Command command = check.fixPrimitive(p);
         assertTrue(command instanceof SequenceCommand);
Index: trunk/test/unit/org/openstreetmap/josm/gui/preferences/validator/ValidatorTagCheckerRulesPreferenceTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/preferences/validator/ValidatorTagCheckerRulesPreferenceTest.java	(revision 8936)
+++ trunk/test/unit/org/openstreetmap/josm/gui/preferences/validator/ValidatorTagCheckerRulesPreferenceTest.java	(revision 8936)
@@ -0,0 +1,50 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.preferences.validator;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.util.Collection;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.data.validation.tests.MapCSSTagChecker;
+import org.openstreetmap.josm.data.validation.tests.MapCSSTagChecker.ParseResult;
+import org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.ParseException;
+import org.openstreetmap.josm.gui.preferences.SourceEditor.ExtendedSourceEntry;
+
+/**
+ * Unit tests of {@link ValidatorTagCheckerRulesPreference} class.
+ */
+public class ValidatorTagCheckerRulesPreferenceTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    /**
+     * Test that available tag checker rules are valid.
+     * @throws IOException if any I/O error occurs
+     * @throws ParseException if the config file does not match MapCSS syntax
+     */
+    @Test
+    public void testValidityOfAvailableSources() throws ParseException, IOException {
+        Collection<ExtendedSourceEntry> sources = new ValidatorTagCheckerRulesPreference.TagCheckerRulesSourceEditor()
+                .loadAndGetAvailableSources();
+        assertFalse(sources.isEmpty());
+        MapCSSTagChecker tagChecker = new MapCSSTagChecker();
+        for (ExtendedSourceEntry source : sources) {
+            System.out.print(source.url);
+            ParseResult result = tagChecker.addMapCSS(source.url);
+            assertFalse(result.parseChecks.isEmpty());
+            assertTrue(result.parseErrors.isEmpty());
+            System.out.println(" => OK");
+        }
+    }
+}
