blob: bc859a35573fbf30959835ca8dbcfec12da4af08 [file] [log] [blame]
// 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 Map<String, String> splitQueryString(String query, {
* Encoding encoding: utf8
* })
* Returns the 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 the query is the empty string an empty
* map is returned.
*
* Keys in the query string that have no value are mapped to the empty string.
*
* Each query component will be decoded using encoding. The default encoding is
* UTF-8.
* @description Check cases with empty query and no value
* @author ilya
*/
import "../../../Utils/expect.dart";
main() {
var m = Uri.splitQueryString('');
Expect.mapEquals({}, m);
m = Uri.splitQueryString('foo&bar=1');
Expect.mapEquals({'foo': '', 'bar': '1'}, m);
m = Uri.splitQueryString('foo&bar=1&x&y');
Expect.mapEquals({'foo': '', 'bar': '1', 'x': '', 'y': ''}, m);
}