// Copyright (c) 2013, 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 RuneIterator.at(String string, int index)
/// It is an error if [index] is negative or greater than number of code units.
/// @description Checks that it is an error if [index] is negative or
/// greater than the length of [string].
/// @author msyabro

import "../../../Utils/expect.dart";

main() {
  Expect.throws( () {
     new RuneIterator.at('\a', 2);
  });
  Expect.throws( () {
    new RuneIterator.at('\u{10000}\u{10001}', 10);
  });

  Expect.throws( () {
    new RuneIterator.at('abc', -1);
  });
}
