From 05fd7e7d328261260a348c0b6ba840bc1f60cb14 Mon Sep 17 00:00:00 2001 From: "Shimeng (Simon) Wang" Date: Tue, 27 Apr 2010 11:33:15 +0100 Subject: [PATCH] Add good international characters to the path part of Url pattern. Change-Id: Ib24f8ffc8554366cb4350ec2f9d7e77efb0cb083 --- core/java/android/util/Patterns.java | 2 +- core/tests/coretests/src/android/util/PatternsTest.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/java/android/util/Patterns.java b/core/java/android/util/Patterns.java index 2ee6e8a984e7b..5cbfd295890d6 100644 --- a/core/java/android/util/Patterns.java +++ b/core/java/android/util/Patterns.java @@ -124,7 +124,7 @@ public class Patterns { + "[0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}" + "|[1-9][0-9]|[0-9])))" + "(?:\\:\\d{1,5})?)" // plus option port number - + "(\\/(?:(?:[a-zA-Z0-9\\;\\/\\?\\:\\@\\&\\=\\#\\~" // plus option query params + + "(\\/(?:(?:[" + GOOD_IRI_CHAR + "\\;\\/\\?\\:\\@\\&\\=\\#\\~" // plus option query params + "\\-\\.\\+\\!\\*\\'\\(\\)\\,\\_])|(?:\\%[a-fA-F0-9]{2}))*)?" + "(?:\\b|$)"); // and finally, a word boundary or end of // input. This is to stop foo.sure from diff --git a/core/tests/coretests/src/android/util/PatternsTest.java b/core/tests/coretests/src/android/util/PatternsTest.java index 957c5937fcc8c..b90c97b891dea 100644 --- a/core/tests/coretests/src/android/util/PatternsTest.java +++ b/core/tests/coretests/src/android/util/PatternsTest.java @@ -74,6 +74,10 @@ public class PatternsTest extends TestCase { t = Patterns.WEB_URL.matcher("\uD604\uAE08\uC601\uC218\uC99D.kr").matches(); assertTrue("Valid URL", t); + t = Patterns.WEB_URL.matcher("http://brainstormtech.blogs.fortune.cnn.com/2010/03/11/" + + "top-five-moments-from-eric-schmidt\u2019s-talk-in-abu-dhabi/").matches(); + assertTrue("Valid URL", t); + t = Patterns.WEB_URL.matcher("ftp://www.example.com").matches(); assertFalse("Matched invalid protocol", t);