blob: 25396078f5c9779e444f23d1e18fe82b55470523 [file] [log] [blame]
/*
* Copyright (c) 2011, 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 abstract void setRange(int start, int end, Iterable<E> iterable,
* [int skipCount = 0])
* It is an error if start.. end is not a valid range pointing into the this.
* @description Checks that RangeError is thrown if there is lack of space in
* dst.
* @author iefremov
*/
library setRange_A02_t01;
import "../../../Utils/expect.dart";
checkList(dst, dstOffset, count, src) {
Expect.throws(() {dst.setRange(dstOffset, dstOffset+count, src, 0);},
(e) => e is RangeError);
}
test(List<E> create<E>([int length, E fill])) {
void check(int dstSize, int srcSize, int dstOffset, int count) {
List src = create(srcSize, 0);
List dst = create(dstSize, 0);
checkList(dst, dstOffset, count, src);
src = create();
src.length = srcSize;
dst = create();
dst.length = dstSize;
checkList(dst, dstOffset, count, src);
}
check(0, 1, 0, 1);
check(41, 42, 0, 42);
check(2, 2, 1, 2);
check(10, 10, 9, 10);
}