| Index: test/codegen/lib/convert/encoding_test.dart
 | 
| diff --git a/test/codegen/lib/convert/encoding_test.dart b/test/codegen/lib/convert/encoding_test.dart
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..4c78a85559a4de33237659bc1690e0e53c1dd34b
 | 
| --- /dev/null
 | 
| +++ b/test/codegen/lib/convert/encoding_test.dart
 | 
| @@ -0,0 +1,39 @@
 | 
| +// 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.
 | 
| +
 | 
| +import "package:expect/expect.dart";
 | 
| +import 'dart:async';
 | 
| +import 'dart:convert';
 | 
| +import 'unicode_tests.dart';
 | 
| +import "package:async_helper/async_helper.dart";
 | 
| +
 | 
| +void runTest(List<int> bytes, expected) {
 | 
| +  var controller = new StreamController();
 | 
| +  asyncStart();
 | 
| +  UTF8.decodeStream(controller.stream).then((decoded) {
 | 
| +    Expect.equals(expected, decoded);
 | 
| +    asyncEnd();
 | 
| +  });
 | 
| +  int i = 0;
 | 
| +  while (i < bytes.length) {
 | 
| +    List nextChunk = [];
 | 
| +    for (int j = 0; j < 3; j++) {
 | 
| +      if (i < bytes.length) {
 | 
| +        nextChunk.add(bytes[i]);
 | 
| +        i++;
 | 
| +      }
 | 
| +    }
 | 
| +    controller.add(nextChunk);
 | 
| +  }
 | 
| +  controller.close();
 | 
| +}
 | 
| +
 | 
| +
 | 
| +main() {
 | 
| +  for (var test in UNICODE_TESTS) {
 | 
| +    var bytes = test[0];
 | 
| +    var expected = test[1];
 | 
| +    runTest(bytes, expected);
 | 
| +  }
 | 
| +}
 | 
| 
 |