| Index: test/codegen/corelib/iterable_length_test.dart | 
| diff --git a/test/codegen/corelib/iterable_length_test.dart b/test/codegen/corelib/iterable_length_test.dart | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..20c9663c62aa8af49c381c4114975f867e100ec3 | 
| --- /dev/null | 
| +++ b/test/codegen/corelib/iterable_length_test.dart | 
| @@ -0,0 +1,44 @@ | 
| +// Copyright (c) 2012, 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. | 
| + | 
| +import "dart:collection"; | 
| +import "package:expect/expect.dart"; | 
| + | 
| +class A extends IterableBase { | 
| +  int count; | 
| +  A(this.count); | 
| + | 
| +  Iterator get iterator { | 
| +    return new AIterator(count); | 
| +  } | 
| +} | 
| + | 
| +class AIterator implements Iterator { | 
| +  int _count; | 
| +  int _current; | 
| + | 
| +  AIterator(this._count); | 
| + | 
| +  bool moveNext() { | 
| +    if (_count > 0) { | 
| +      _current = _count; | 
| +      _count--; | 
| +      return true; | 
| +    } | 
| +    _current = null; | 
| +    return false; | 
| +  } | 
| + | 
| +  get current => _current; | 
| +} | 
| + | 
| +main() { | 
| +  var a = new A(10); | 
| +  Expect.equals(10, a.length); | 
| +  a = new A(0); | 
| +  Expect.equals(0, a.length); | 
| +  a = new A(5); | 
| +  Expect.equals(5, a.map((e) => e + 1).length); | 
| +  Expect.equals(3, a.where((e) => e >= 3).length); | 
| +} | 
|  |