diff --git a/plugins/yaml/src/org/jetbrains/yaml/schema/YamlGenericValueAdapter.java b/plugins/yaml/src/org/jetbrains/yaml/schema/YamlGenericValueAdapter.java index d7b13c413833..cfb8341e4e23 100644 --- a/plugins/yaml/src/org/jetbrains/yaml/schema/YamlGenericValueAdapter.java +++ b/plugins/yaml/src/org/jetbrains/yaml/schema/YamlGenericValueAdapter.java @@ -145,7 +145,7 @@ public class YamlGenericValueAdapter implements JsonValueAdapter { private static boolean isFloat(@NotNull String s) { if (INFS.contains(trimSign(s)) || NANS.contains(s)) return true; if (hasTag(s, "float")) return true; - return Pattern.matches("[-+]?[1-9](\\.[0-9]*[1-9])?([eE][-+]?[1-9][0-9]*)?", s); + return Pattern.matches("[-+]?(\\.[0-9]+|[0-9]+(\\.[0-9]*)?)([eE][-+]?[0-9]+)?", s); } @NotNull diff --git a/plugins/yaml/testSrc/org/jetbrains/yaml/schema/YamlByJsonSchemaHighlightingTest.java b/plugins/yaml/testSrc/org/jetbrains/yaml/schema/YamlByJsonSchemaHighlightingTest.java index 3c47234d86d0..5f5a11693743 100644 --- a/plugins/yaml/testSrc/org/jetbrains/yaml/schema/YamlByJsonSchemaHighlightingTest.java +++ b/plugins/yaml/testSrc/org/jetbrains/yaml/schema/YamlByJsonSchemaHighlightingTest.java @@ -796,10 +796,17 @@ public class YamlByJsonSchemaHighlightingTest extends JsonSchemaHighlightingTest public void testTravisPythonVersion() throws Exception { @Language("JSON") String schema = FileUtil.loadFile(new File(getTestDataPath() + "/travis.schema.json")); doTest(schema, "python: 3.5"); // validates as 'number' - doTest(schema, "python: 3.50"); // validates as 'string' + doTest(schema, "python: 3.50"); // validates as 'number' + doTest(schema, "python: 3.50a"); // validates as 'string' doTest(schema, "python: null"); } + public void testTravisNode() throws Exception { + @Language("JSON") String schema = FileUtil.loadFile(new File(getTestDataPath() + "/travis.schema.json")); + doTest(schema, "node_js: \n" + + " - 2.10"); + } + public void testExpNumberNotation() throws Exception { doTest("{\n" + " \"properties\": {\n" +