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);
     }