| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// @assertion String encodeFull(String uri) |
| /// Encode the string uri using percent-encoding to make it safe for literal |
| /// use as a full URI. |
| /// All characters except uppercase and lowercase letters, digits |
| /// and the characters !$&'()*+,-./:;=?@_~ are percent-encoded. |
| /// This is the set of characters specified in in ECMA-262 version 5.1 for the |
| /// encodeURI function . |
| /// @description Checks that the set of characters specified in in ECMA-262 |
| /// version 5.1 is not encoded |
| /// @author sgrekhov@unipro.ru |
| |
| import "../../../Utils/expect.dart"; |
| |
| String unreserved = "0123456789" + |
| "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + |
| "abcdefghijklmnopqrstuvwxyz" + |
| "-" + "_" + "." + "!" + "~" + "*" + "'" + "(" + ")"; |
| String reserved = ";" + "/" + "?" + ":" + "@" + "&" + "=" + "+" + r"$" + ","; |
| |
| String mustNotBeEncoded = unreserved + reserved + "#"; |
| |
| main() { |
| Expect.equals(mustNotBeEncoded, Uri.encodeFull(mustNotBeEncoded)); |
| } |