You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@any23.apache.org by an...@apache.org on 2013/06/26 02:19:59 UTC
[12/24] git commit: migrate NQuadsParserTest to make it use strict
datatype handling
migrate NQuadsParserTest to make it use strict datatype handling
apparently previously a test with a non-XSD datatype that should have
been failing was not failing
if non-XSD datatypes need to be supported now, when datatype
validation/verification is enabled, they need to have custom
org.openrdf.rio.DatatypeHandler implementations
Project: http://git-wip-us.apache.org/repos/asf/any23/repo
Commit: http://git-wip-us.apache.org/repos/asf/any23/commit/f8cfa0e7
Tree: http://git-wip-us.apache.org/repos/asf/any23/tree/f8cfa0e7
Diff: http://git-wip-us.apache.org/repos/asf/any23/diff/f8cfa0e7
Branch: refs/heads/master
Commit: f8cfa0e72999742764d51e9b225e5a405fb34157
Parents: 3a155fe
Author: Peter Ansell <p_...@yahoo.com>
Authored: Fri Apr 19 13:46:04 2013 +1000
Committer: Peter Ansell <p_...@yahoo.com>
Committed: Wed Jun 26 10:08:07 2013 +1000
----------------------------------------------------------------------
.../any23/io/nquads/NQuadsParserTest.java | 30 ++++++++++++++++----
1 file changed, 25 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/any23/blob/f8cfa0e7/nquads/src/test/java/org/apache/any23/io/nquads/NQuadsParserTest.java
----------------------------------------------------------------------
diff --git a/nquads/src/test/java/org/apache/any23/io/nquads/NQuadsParserTest.java b/nquads/src/test/java/org/apache/any23/io/nquads/NQuadsParserTest.java
index 1e7d545..8d25e02 100644
--- a/nquads/src/test/java/org/apache/any23/io/nquads/NQuadsParserTest.java
+++ b/nquads/src/test/java/org/apache/any23/io/nquads/NQuadsParserTest.java
@@ -33,6 +33,8 @@ import org.openrdf.rio.RDFHandler;
import org.openrdf.rio.RDFHandlerException;
import org.openrdf.rio.RDFParseException;
import org.openrdf.rio.RDFParser;
+import org.openrdf.rio.RioSetting;
+import org.openrdf.rio.helpers.BasicParserSettings;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -41,7 +43,9 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import static org.hamcrest.core.Is.is;
@@ -63,9 +67,15 @@ public class NQuadsParserTest {
parser = new NQuadsParser();
rdfHandler = new TestRDFHandler();
parser.setRDFHandler(rdfHandler);
- parser.setVerifyData(true);
- parser.setDatatypeHandling(RDFParser.DatatypeHandling.VERIFY);
- parser.setStopAtFirstError(true);
+ Set<RioSetting<?>> nonFatalErrors = new HashSet<RioSetting<?>>();
+ parser.getParserConfig().setNonFatalErrors(nonFatalErrors);
+ parser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES, false);
+ parser.getParserConfig().addNonFatalError(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES);
+ parser.getParserConfig().set(BasicParserSettings.VERIFY_DATATYPE_VALUES, false);
+ parser.getParserConfig().addNonFatalError(BasicParserSettings.VERIFY_DATATYPE_VALUES);
+ parser.getParserConfig().set(BasicParserSettings.NORMALIZE_DATATYPE_VALUES, false);
+ parser.getParserConfig().addNonFatalError(BasicParserSettings.NORMALIZE_DATATYPE_VALUES);
+
}
@After
@@ -443,7 +453,7 @@ public class NQuadsParserTest {
verifyStatementWithInvalidDatatype(RDFParser.DatatypeHandling.IGNORE);
}
- @Test
+ @Test(expected = RDFParseException.class)
public void testStatementWithInvalidDatatypeAndVerifyValidation()
throws RDFHandlerException, IOException, RDFParseException {
verifyStatementWithInvalidDatatype(RDFParser.DatatypeHandling.VERIFY);
@@ -529,7 +539,12 @@ public class NQuadsParserTest {
"<http://it.wikipedia.org/wiki/Camillo_Benso,_conte_di_Cavour#absolute-line=20> ."
).getBytes()
);
- parser.setDatatypeHandling(datatypeHandling);
+ if(datatypeHandling == RDFParser.DatatypeHandling.VERIFY) {
+ parser.getParserConfig().setNonFatalErrors(new HashSet<RioSetting<?>>());
+ parser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES, true);
+ parser.getParserConfig().set(BasicParserSettings.VERIFY_DATATYPE_VALUES, true);
+ }
+ //parser.setDatatypeHandling(datatypeHandling);
parser.parse(bais, "http://base-uri");
}
@@ -544,6 +559,11 @@ public class NQuadsParserTest {
"<http://it.wikipedia.org/wiki/Camillo_Benso,_conte_di_Cavour#absolute-line=20> ."
).getBytes()
);
+ if(datatypeHandling == RDFParser.DatatypeHandling.VERIFY) {
+ parser.getParserConfig().setNonFatalErrors(new HashSet<RioSetting<?>>());
+ parser.getParserConfig().set(BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES, true);
+ parser.getParserConfig().set(BasicParserSettings.VERIFY_DATATYPE_VALUES, true);
+ }
parser.parse(bais, "http://base-uri");
rdfHandler.assertHandler(1);
}