Adding tests for tunables and fixing typo in setTunable
DFDL-1143
diff --git a/daffodil-cli/src/test/scala-cli/edu/illinois/ncsa/daffodil/saving/TestCLISaveParser.scala b/daffodil-cli/src/test/scala-cli/edu/illinois/ncsa/daffodil/saving/TestCLISaveParser.scala
index 05152c1..6dabd0e 100644
--- a/daffodil-cli/src/test/scala-cli/edu/illinois/ncsa/daffodil/saving/TestCLISaveParser.scala
+++ b/daffodil-cli/src/test/scala-cli/edu/illinois/ncsa/daffodil/saving/TestCLISaveParser.scala
@@ -421,4 +421,26 @@
shell.close()
}
}
+
+ @Test def test_3941_CLI_Saving_SaveParser_tunables() {
+ val schemaFile = Util.daffodilPath("daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section00/general/generalSchema.dfdl.xsd")
+ val inputFile = Util.daffodilPath("daffodil-cli/src/test/resources/edu/illinois/ncsa/daffodil/CLI/input/input12.txt")
+ val (testSchemaFile, testInputFile) = if (Util.isWindows) (Util.cmdConvert(schemaFile), Util.cmdConvert(inputFile)) else (schemaFile, inputFile)
+
+ val shell = Util.start("", true)
+
+ try {
+ String.format("%s save-parser -s %s -r e1 -T parseUnparsePolicy=parseOnly %s", Util.binPath, testSchemaFile, savedParserFile.getName()) !
+
+ val cmd = String.format("%s unparse --parser %s %s", Util.binPath, savedParserFile.getName(), testInputFile)
+ shell.sendLine(cmd)
+ shell.expect(contains("[error]"))
+ shell.expect(contains("Runtime Schema Definition Error: This schema was compiled without unparse support."))
+ shell.sendLine("exit")
+ shell.expect(eof())
+ } finally {
+ shell.close()
+ }
+ }
+
}
diff --git a/daffodil-lib/src/main/scala/edu/illinois/ncsa/daffodil/api/DaffodilTunables.scala b/daffodil-lib/src/main/scala/edu/illinois/ncsa/daffodil/api/DaffodilTunables.scala
index ae4a50d..2f8b9fa 100644
--- a/daffodil-lib/src/main/scala/edu/illinois/ncsa/daffodil/api/DaffodilTunables.scala
+++ b/daffodil-lib/src/main/scala/edu/illinois/ncsa/daffodil/api/DaffodilTunables.scala
@@ -185,7 +185,7 @@
case "minbinarydecimalvirtualpoint" => this.copy(minBinaryDecimalVirtualPoint = java.lang.Integer.valueOf(value))
case "generatednamespaceprefixstem" => this.copy(generatedNamespacePrefixStem = value)
case "readerbytebuffersize" => this.copy(readerByteBufferSize = java.lang.Long.valueOf(value))
- case "parseUnparsePolicy" => {
+ case "parseunparsepolicy" => {
val policy = value.toLowerCase match {
case "parseonly" => Some(ParseUnparsePolicy.ParseOnly)
case "unparseonly" => Some(ParseUnparsePolicy.UnparseOnly)
diff --git a/daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section00/general/tunables.tdml b/daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section00/general/tunables.tdml
index fa1fff5..4b9f884 100644
--- a/daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section00/general/tunables.tdml
+++ b/daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section00/general/tunables.tdml
@@ -157,4 +157,29 @@
</tdml:errors>
</tdml:parserTestCase>
+ <!-- Test name: unqualifiedPathStepPolicy_defaultNamespace_test_02
+ Schema: unqualifiedPathStepPolicy
+ Purpose: Verify that Tunables now work when specified via TDML.
+ -->
+ <tdml:parserTestCase
+ name="unqualifiedPathStepPolicy_defaultNamespace_test_02" root="test_02"
+ model="unqualifiedPathStep" description="Tunables - Unqualified Path Step Policy"
+ config="cfg_defaultNamespace">
+
+ <tdml:document>
+ <tdml:documentPart type="text">12</tdml:documentPart>
+ </tdml:document>
+
+ <tdml:infoset>
+ <tdml:dfdlInfoset>
+ <test_02 xmlns="http://example.com">
+ <ex:a>
+ <ex:b>1</ex:b>
+ <c>2</c>
+ </ex:a>
+ <s>1</s>
+ </test_02>
+ </tdml:dfdlInfoset>
+ </tdml:infoset>
+ </tdml:parserTestCase>
</tdml:testSuite>
diff --git a/daffodil-test/src/test/scala/edu/illinois/ncsa/daffodil/section00/general/TestGeneral.scala b/daffodil-test/src/test/scala/edu/illinois/ncsa/daffodil/section00/general/TestGeneral.scala
index 2637e7d..574a673 100644
--- a/daffodil-test/src/test/scala/edu/illinois/ncsa/daffodil/section00/general/TestGeneral.scala
+++ b/daffodil-test/src/test/scala/edu/illinois/ncsa/daffodil/section00/general/TestGeneral.scala
@@ -118,5 +118,6 @@
// DFDL-1143
@Test def test_unqualifiedPathStepPolicy_defaultNamespace_test_01() { tunables_runner.runOneTest("unqualifiedPathStepPolicy_defaultNamespace_test_01") }
@Test def test_unqualifiedPathStepPolicy_noNamespace_test_02() { tunables_runner.runOneTest("unqualifiedPathStepPolicy_noNamespace_test_02") }
+ @Test def test_unqualifiedPathStepPolicy_defaultNamespace_test_02() { tunables_runner.runOneTest("unqualifiedPathStepPolicy_defaultNamespace_test_02") }
}