| // Copyright (c) 2017, 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 final Map<String, String> queryParameters |
| /// Returns the URI query split into a map according to the rules specified |
| /// for FORM post in the HTML 4.01 specification section 17.13.4. Each key |
| /// and value in the returned map has been decoded. If there is no query the |
| /// empty map is returned. The returned map is unmodifiable and will throw |
| /// UnsupportedError on any calls that would mutate it. |
| /// @description Checks the case when there are several parameters with the same |
| /// name |
| /// @author sgrekhov@unipro.ru |
| |
| import "../../../Utils/expect.dart"; |
| |
| main() { |
| var q = 'a=b&a=c&a=d'; |
| var map = {'a': 'd'}; |
| Expect.mapEquals(map, new Uri.http('host', 'path', map).queryParameters); |
| Expect.mapEquals(map, new Uri(query: q).queryParameters); |
| Expect.mapEquals(map, Uri.parse('http://host/path?$q').queryParameters); |
| } |