blob: 3b9c036d4035a01aa6477a7032b282687352be30 [file] [log] [blame]
// 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.
// @dart = 2.9
/// @assertion ContentType(
/// String primaryType,
/// String subType, {
/// String charset,
/// Map<String, String> parameters
/// })
/// Creates a new content type object setting the primary type and sub type. The
/// charset and additional parameters can also be set using charset and
/// parameters. If charset is passed and parameters contains charset as well the
/// passed charset will override the value in parameters. Keys passed in
/// parameters will be converted to lower case. The charset entry, whether
/// passed as charset or in parameters, will have its value converted to
/// lower-case.
/// @description Checks that the charset entry, whether passed as charset or in
/// parameters, will have its value converted to lower-case.
/// @author sgrekhov@unipro.ru
import "dart:io";
import "../../../Utils/expect.dart";
main() {
ContentType contentType = new ContentType("TEXT", "HTML",
parameters: {"CHARSET": "UTF-8"});
Expect.equals("TEXT/HTML", contentType.mimeType);
Expect.equals("TEXT", contentType.primaryType);
Expect.equals("HTML", contentType.subType);
Expect.equals("utf-8", contentType.charset);
Expect.mapEquals({"charset": "utf-8"}, contentType.parameters);
contentType = new ContentType("TEXT", "HTML", charset: "UTF-8");
Expect.equals("TEXT/HTML", contentType.mimeType);
Expect.equals("TEXT", contentType.primaryType);
Expect.equals("HTML", contentType.subType);
Expect.equals("utf-8", contentType.charset);
Expect.mapEquals({"charset": "utf-8"}, contentType.parameters);
}