summaryrefslogtreecommitdiffstats
path: root/common/tests
diff options
context:
space:
mode:
authorShimeng (Simon) Wang <swang@google.com>2010-02-11 14:07:44 -0800
committerShimeng (Simon) Wang <swang@google.com>2010-02-11 14:07:44 -0800
commit51c02dbf75fede9b2829af5b821f10e0bc2af124 (patch)
tree525a810a2aa54480225d933e9c4f6e8499e97952 /common/tests
parentb4489000d1355d10426bb4ad4eedb5c2fb80e886 (diff)
downloadframeworks_base-51c02dbf75fede9b2829af5b821f10e0bc2af124.zip
frameworks_base-51c02dbf75fede9b2829af5b821f10e0bc2af124.tar.gz
frameworks_base-51c02dbf75fede9b2829af5b821f10e0bc2af124.tar.bz2
Enhance URL regular expression to match more Unicode chars.
Enhance URL regular expression to match legal one byte Unicode characters in Internationalized Resource Identifiers as detailed in RFC 3987. Specifically two byte Unicode characters are not included. Not all things in RFC 3987 is implemented, this is just an enhancement for recognizing more common used one byte Unicode characters. This change helps Browser address bar identify more valid URL without scheme typed in, such as 현금영수증.kr make-iana-tld-pattern.py is modified to contain only Top Level Domain regular expression generation. Other parts of WEB_URL pattern are in solely in Patters.java for better consistency and maintenance.
Diffstat (limited to 'common/tests')
-rw-r--r--common/tests/src/com/android/common/PatternsTest.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/common/tests/src/com/android/common/PatternsTest.java b/common/tests/src/com/android/common/PatternsTest.java
index 635601e..9e2ad58 100644
--- a/common/tests/src/com/android/common/PatternsTest.java
+++ b/common/tests/src/com/android/common/PatternsTest.java
@@ -68,6 +68,12 @@ public class PatternsTest extends TestCase {
t = Patterns.WEB_URL.matcher("xn--fsqu00a.xn--0zwm56d").matches();
assertTrue("Valid URL", t);
+ // Internationalized URL.
+ t = Patterns.WEB_URL.matcher("http://\uD604\uAE08\uC601\uC218\uC99D.kr").matches();
+ assertTrue("Valid URL", t);
+ t = Patterns.WEB_URL.matcher("\uD604\uAE08\uC601\uC218\uC99D.kr").matches();
+ assertTrue("Valid URL", t);
+
t = Patterns.WEB_URL.matcher("ftp://www.example.com").matches();
assertFalse("Matched invalid protocol", t);
@@ -99,6 +105,13 @@ public class PatternsTest extends TestCase {
t = Patterns.DOMAIN_NAME.matcher("mail.example.com").matches();
assertTrue("Valid domain", t);
+ t = Patterns.WEB_URL.matcher("google.me").matches();
+ assertTrue("Valid domain", t);
+
+ // Internationalized domains.
+ t = Patterns.DOMAIN_NAME.matcher("\uD604\uAE08\uC601\uC218\uC99D.kr").matches();
+ assertTrue("Valid domain", t);
+
t = Patterns.DOMAIN_NAME.matcher("__+&42.xer").matches();
assertFalse("Invalid domain", t);
}