blob: fcf2876a4372d74ded7c4fc3a541105fbeb448af [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.
/**
* @assertion const Latin1Decoder({bool allowInvalid: false})
* Instantiates a new Latin1Decoder.
*
* The optional allowInvalid argument defines how convert deals with invalid
* bytes.
*
* If it is true, convert replaces invalid bytes with the Unicode Replacement
* character U+FFFD (�). Otherwise it throws a FormatException.
*
* @description Checks that this constructor creates valid AsciiDecoder. Test
* allowInvalid = true;
* @author sgrekhov@unipro.ru
*/
import "dart:convert";
import "../../../Utils/expect.dart";
main() {
Latin1Decoder decoder = new Latin1Decoder(allowInvalid: true);
for (int i = 0; i < 256; i++) {
String s = new String.fromCharCode(i);
Expect.equals(s, decoder.convert([i]));
}
for (int i = 256; i < 65536; i++) {
Expect.equals("�", decoder.convert([i]));
}
}