| // 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 decodeQueryComponent(String encodedComponent, |
| /// {Encoding encoding: utf8}) |
| /// Decodes the percent-encoding in encodedComponent, converting pluses |
| /// to spaces |
| /// It will create a byte-list of the decoded characters, and then use [encoding] |
| /// to decode the byte-list to a String. The default encoding is UTF-8. |
| /// @description Checks that decodeQueryComponent provided with Ascii [encoding] |
| /// leaves Ascii strings untouched and throws on unsupported codes. |
| /// @author ilya |
| |
| import "dart:convert"; |
| import "../../../Utils/expect.dart"; |
| |
| main() { |
| var ascii = const AsciiCodec(); |
| |
| Expect.equals('A-B', Uri.decodeQueryComponent('A-%42', encoding: ascii)); |
| |
| Expect.throws(() { |
| Uri.decodeQueryComponent(Uri.encodeComponent('\u1111'), encoding: ascii); |
| }); |
| } |