Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Unified Diff: dart/tests/corelib/uri_test.dart

Issue 366873005: Version 1.5.2 (Closed) Base URL: http://dart.googlecode.com/svn/branches/1.5/
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « dart/sdk/lib/html/dart2js/html_dart2js.dart ('k') | dart/tools/VERSION » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: dart/tests/corelib/uri_test.dart
===================================================================
--- dart/tests/corelib/uri_test.dart (revision 37934)
+++ dart/tests/corelib/uri_test.dart (working copy)
@@ -233,7 +233,7 @@
Expect.stringEquals("\u{10000}", s);
- testEncodeDecode("A + B", "A%20%2B%20B");
+ testEncodeDecode("A + B", "A%20+%20B");
testEncodeDecode("\uFFFE", "%EF%BF%BE");
testEncodeDecode("\uFFFF", "%EF%BF%BF");
testEncodeDecode("\uFFFE", "%EF%BF%BE");
@@ -241,7 +241,29 @@
testEncodeDecode("\x7f", "%7F");
testEncodeDecode("\x80", "%C2%80");
testEncodeDecode("\u0800", "%E0%A0%80");
- testEncodeDecode(":/@',;?&=+\$", ":/@',;?&=%2B\$");
+ // All characters not escaped by encodeFull.
+ var unescapedFull =
+ r"abcdefghijklmnopqrstuvwxyz"
+ r"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ r"0123456789!#$&'()*+,-./:;=?@_~";
+ // ASCII characters escaped by encodeFull:
+ var escapedFull =
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
+ "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
+ r' "%<>[\]^`{|}'
+ "\x7f";
+ var escapedTo =
+ "%00%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F"
+ "%10%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F"
+ "%20%22%25%3C%3E%5B%5C%5D%5E%60%7B%7C%7D%7F";
+ testEncodeDecode(unescapedFull, unescapedFull);
+ testEncodeDecode(escapedFull, escapedTo);
+ var nonAscii =
+ "\x80-\xff-\u{100}-\u{7ff}-\u{800}-\u{ffff}-\u{10000}-\u{10ffff}";
+ var nonAsciiEncoding =
+ "%C2%80-%C3%BF-%C4%80-%DF%BF-%E0%A0%80-%EF%BF%BF-"
+ "%F0%90%80%80-%F4%8F%BF%BF";
+ testEncodeDecode(nonAscii, nonAsciiEncoding);
testEncodeDecode(s, "%F0%90%80%80");
testEncodeDecodeComponent("A + B", "A%20%2B%20B");
testEncodeDecodeComponent("\uFFFE", "%EF%BF%BE");
@@ -256,6 +278,7 @@
testEncodeDecodeQueryComponent("A + B", "A+%2B+B", "A+%2B+B", "A+%2B+B");
testEncodeDecodeQueryComponent(
"æ ø å", "%C3%A6+%C3%B8+%C3%A5", "%E6+%F8+%E5", null);
+ testEncodeDecodeComponent(nonAscii, nonAsciiEncoding);
// Invalid URI - : and @ is swapped, port ("host") should be numeric.
Expect.throws(
« no previous file with comments | « dart/sdk/lib/html/dart2js/html_dart2js.dart ('k') | dart/tools/VERSION » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698