Be aware that the file contains encoded Chinese TLDs (XN--*). So, it needs additional parsing.

Adrian Crum
Sandglass Software
www.sandglass-software.com

On 12/30/2014 5:23 PM, s...@apache.org wrote:
Author: sebb
Date: Wed Dec 31 01:23:26 2014
New Revision: 1648642

URL: http://svn.apache.org/r1648642
Log:
Add code for developers to check inbuilt list against iana tld

Modified:
     
commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java

Modified: 
commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java?rev=1648642&r1=1648641&r2=1648642&view=diff
==============================================================================
--- 
commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
 (original)
+++ 
commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/DomainValidatorTest.java
 Wed Dec 31 01:23:26 2014
@@ -16,6 +16,15 @@
   */
  package org.apache.commons.validator.routines;

+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.Locale;
+
  import junit.framework.TestCase;

  /**
@@ -110,4 +119,37 @@ public class DomainValidatorTest extends
      public void testIDN() {
         assertTrue("b\u00fccher.ch in IDN should validate", 
validator.isValid("www.xn--bcher-kva.ch"));
      }
+
+    // Download and process local copy of 
http://data.iana.org/TLD/tlds-alpha-by-domain.txt
+    // Check if the internal TLD table is up to date
+    public static void main(String a[]) throws Exception {
+        DomainValidator dv = DomainValidator.getInstance();;
+        File f = new File("target/tlds-alpha-by-domain.txt");
+        if (!f.canRead()) {
+            String tldurl="http://data.iana.org/TLD/tlds-alpha-by-domain.txt";;
+            System.out.println("Downloading " + tldurl);
+            byte buff[] = new byte[1024];
+            HttpURLConnection hc = (HttpURLConnection) new 
URL(tldurl).openConnection();
+            InputStream is = hc.getInputStream();
+            FileOutputStream fos = new FileOutputStream(f);
+            while(is.read(buff) != -1) {
+                fos.write(buff);
+            }
+            fos.close();
+            is.close();
+            System.out.println("Done");
+        }
+        BufferedReader br = new BufferedReader(new FileReader(f));
+        System.out.println("Entries missing from TLD List");
+        String line;
+        while((line = br.readLine()) != null) {
+            if (!line.startsWith("#")) {
+                if (!dv.isValidTld(line)) {
+                    System.out.println(line.toLowerCase(Locale.ENGLISH));
+                }
+            }
+        }
+        br.close();
+        System.out.println("Done");
+    }
  }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to