// 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 Runes runes
 * ...
 * If the string contains surrogate pairs, they are combined and returned as one
 * integer by this iterator. Unmatched surrogate halves are treated like valid
 * 16-bit code-units.
 * @description Checks that if the string contains surrogate pairs, they are
 * combined and returned as one integer by this iterator
 * @author sgrekhov@unipro.ru
 */
import "../../../Utils/expect.dart";

main() {
  String clef = '\u{1D11E}';
  Expect.equals(1, clef.runes.toList().length);
  Expect.equals(119070, clef.runes.toList()[0]);
}
