| Index: pkg/string_scanner/test/string_scanner_test.dart
 | 
| diff --git a/pkg/string_scanner/test/string_scanner_test.dart b/pkg/string_scanner/test/string_scanner_test.dart
 | 
| index 0cab6273ebf2e2975bf374b26b7f14574abd76f2..6144bf9c007c3dcc30b09684d9899df46c8ddf68 100644
 | 
| --- a/pkg/string_scanner/test/string_scanner_test.dart
 | 
| +++ b/pkg/string_scanner/test/string_scanner_test.dart
 | 
| @@ -31,6 +31,18 @@ void main() {
 | 
|        expect(scanner.position, equals(0));
 | 
|      });
 | 
|  
 | 
| +    test("readChar fails and doesn't change the state", () {
 | 
| +      expect(scanner.readChar, throwsFormatException);
 | 
| +      expect(scanner.lastMatch, isNull);
 | 
| +      expect(scanner.position, equals(0));
 | 
| +    });
 | 
| +
 | 
| +    test("peekChar returns null and doesn't change the state", () {
 | 
| +      expect(scanner.peekChar(), isNull);
 | 
| +      expect(scanner.lastMatch, isNull);
 | 
| +      expect(scanner.position, equals(0));
 | 
| +    });
 | 
| +
 | 
|      test("scan returns false and doesn't change the state", () {
 | 
|        expect(scanner.scan(new RegExp('.')), isFalse);
 | 
|        expect(scanner.lastMatch, isNull);
 | 
| @@ -85,6 +97,24 @@ void main() {
 | 
|        expect(scanner.position, equals(0));
 | 
|      });
 | 
|  
 | 
| +    test('readChar returns the first character and moves forward', () {
 | 
| +      expect(scanner.readChar(), equals(0x66));
 | 
| +      expect(scanner.lastMatch, isNull);
 | 
| +      expect(scanner.position, equals(1));
 | 
| +    });
 | 
| +
 | 
| +    test('peekChar returns the first character', () {
 | 
| +      expect(scanner.peekChar(), equals(0x66));
 | 
| +      expect(scanner.lastMatch, isNull);
 | 
| +      expect(scanner.position, equals(0));
 | 
| +    });
 | 
| +
 | 
| +    test('peekChar with an argument returns the nth character', () {
 | 
| +      expect(scanner.peekChar(4), equals(0x62));
 | 
| +      expect(scanner.lastMatch, isNull);
 | 
| +      expect(scanner.position, equals(0));
 | 
| +    });
 | 
| +
 | 
|      test("a matching scan returns true and changes the state", () {
 | 
|        expect(scanner.scan(new RegExp('f(..)')), isTrue);
 | 
|        expect(scanner.lastMatch[1], equals('oo'));
 | 
| @@ -200,6 +230,18 @@ void main() {
 | 
|        expect(scanner.position, equals(7));
 | 
|      });
 | 
|  
 | 
| +    test("readChar fails and doesn't change the state", () {
 | 
| +      expect(scanner.readChar, throwsFormatException);
 | 
| +      expect(scanner.lastMatch, isNotNull);
 | 
| +      expect(scanner.position, equals(7));
 | 
| +    });
 | 
| +
 | 
| +    test("peekChar returns null and doesn't change the state", () {
 | 
| +      expect(scanner.peekChar(), isNull);
 | 
| +      expect(scanner.lastMatch, isNotNull);
 | 
| +      expect(scanner.position, equals(7));
 | 
| +    });
 | 
| +
 | 
|      test("scan returns false and sets lastMatch to null", () {
 | 
|        expect(scanner.scan(new RegExp('.')), isFalse);
 | 
|        expect(scanner.lastMatch, isNull);
 | 
| 
 |