From 63cd4351c6ca485db881e67dd5b867fc8e19b4a6 Mon Sep 17 00:00:00 2001 From: John Lonergan Date: Wed, 24 Aug 2016 01:34:28 +0100 Subject: [PATCH] additional tests recommended in review comments --- .../typesafe/config/impl/ConfigDocumentParser.java | 2 +- .../com/typesafe/config/impl/ConfParserTest.scala | 12 ++++++++++++ .../com/typesafe/config/impl/TokenizerTest.scala | 7 +++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/config/src/main/java/com/typesafe/config/impl/ConfigDocumentParser.java b/config/src/main/java/com/typesafe/config/impl/ConfigDocumentParser.java index 0c674beb..5c9a3441 100644 --- a/config/src/main/java/com/typesafe/config/impl/ConfigDocumentParser.java +++ b/config/src/main/java/com/typesafe/config/impl/ConfigDocumentParser.java @@ -241,7 +241,7 @@ final class ConfigDocumentParser { AbstractConfigNodeValue v = null; int startingEqualsCount = equalsCount; - if (Tokens.isValue(t) || Tokens.isUnquotedText(t) || Tokens.isSubstitution(t)) { + if (Tokens.isValue(t) || Tokens.isUnquotedText(t) || Tokens.isSubstitution(t)|| t == Tokens.OPEN_ROUND) { v = new ConfigNodeSimpleValue(t); } else if (t == Tokens.OPEN_CURLY) { v = parseObject(true); diff --git a/config/src/test/scala/com/typesafe/config/impl/ConfParserTest.scala b/config/src/test/scala/com/typesafe/config/impl/ConfParserTest.scala index 0b04568b..baa6acce 100644 --- a/config/src/test/scala/com/typesafe/config/impl/ConfParserTest.scala +++ b/config/src/test/scala/com/typesafe/config/impl/ConfParserTest.scala @@ -787,6 +787,18 @@ class ConfParserTest extends TestUtils { assertTrue(s"expected match for <$expected> but got <$actual>", actual.matches(expected)) } + @Test + def includeRequiredFoundButNestedIncludeMissing() { + // set this to allowMissing=true to demonstrate that the missing inclusion causes failure despite this setting + val missing = ConfigParseOptions.defaults().setAllowMissing(true) + + val conf = ConfigFactory.parseString("include required(classpath( \"test03\") )", missing) + + val expected = "This is in the included file" + val actual = conf.getString("foo") + assertTrue(s"expected match for <$expected> but got <$actual>", actual.matches(expected)) + } + @Test def includeRequiredFound() { val confs = Seq( diff --git a/config/src/test/scala/com/typesafe/config/impl/TokenizerTest.scala b/config/src/test/scala/com/typesafe/config/impl/TokenizerTest.scala index 490866ef..f37b72f7 100644 --- a/config/src/test/scala/com/typesafe/config/impl/TokenizerTest.scala +++ b/config/src/test/scala/com/typesafe/config/impl/TokenizerTest.scala @@ -97,6 +97,13 @@ class TokenizerTest extends TestUtils { tokenizerTest(expected, source) } + @Test + def tokenizeUnquotedTextContainingRoundBrace() { + val source = """(footrue)""" + val expected = List(tokenUnquoted("(footrue)")) + tokenizerTest(expected, source) + } + @Test def tokenizeUnquotedTextContainingTrue() { val source = """footrue"""