// Copyright (c) 2016, 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.fromCharCode(int charCode)
 * ...
 * If the charCode can be represented by a single UTF-16 code unit, the new
 * string contains a single code unit. Otherwise, the length is 2 and the code
 * units form a surrogate pair. See documentation for fromCharCodes.
 * @description Checks that if the charCode can be represented by a single
 * UTF-16 code unit, the new string contains a single code unit. Otherwise, the
 * length is 2 and the code units form a surrogate pair
 * @author sgrekhov@unipro.ru
 */
import "../../../Utils/expect.dart";

main() {
  String str = new String.fromCharCode(0x61);
  Expect.equals(1, str.length);

  str = new String.fromCharCode(0x1D11E);
  Expect.equals(2, str.length);
}
