| Index: tests/standalone/io/directory_error_test.dart
 | 
| diff --git a/tests/standalone/io/directory_error_test.dart b/tests/standalone/io/directory_error_test.dart
 | 
| index 5c978cce88ef274aae37a890b5063390064f8e92..96eaf324f3cd07414160950a47a155cb02ecd8ad 100644
 | 
| --- a/tests/standalone/io/directory_error_test.dart
 | 
| +++ b/tests/standalone/io/directory_error_test.dart
 | 
| @@ -179,6 +179,56 @@ void testListNonExistent(Directory temp, Function done) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +void testRenameNonExistent(Directory temp, Function done) {
 | 
| +  Directory nonExistent = new Directory("${temp.path}/nonExistent");
 | 
| +  var newPath = "${temp.path}/nonExistent2";
 | 
| +  Expect.throws(() => nonExistent.renameSync(newPath),
 | 
| +                (e) => e is DirectoryIOException);
 | 
| +  var renameDone = nonExistent.rename(newPath);
 | 
| +  renameDone.then((ignore) => Expect.fail('rename non existent'));
 | 
| +  renameDone.handleException((e) {
 | 
| +    Expect.isTrue(e is DirectoryIOException);
 | 
| +    done();
 | 
| +    return true;
 | 
| +  });
 | 
| +}
 | 
| +
 | 
| +
 | 
| +void testRenameFileAsDirectory(Directory temp, Function done) {
 | 
| +  File f = new File("${temp.path}/file");
 | 
| +  var newPath = "${temp.path}/file2";
 | 
| +  f.createSync();
 | 
| +  var d = new Directory(f.name);
 | 
| +  Expect.throws(() => d.renameSync(newPath),
 | 
| +                (e) => e is DirectoryIOException);
 | 
| +  var renameDone = d.rename(newPath);
 | 
| +  renameDone.then((ignore) => Expect.fail('rename file as directory'));
 | 
| +  renameDone.handleException((e) {
 | 
| +    Expect.isTrue(e is DirectoryIOException);
 | 
| +    done();
 | 
| +    return true;
 | 
| +  });
 | 
| +}
 | 
| +
 | 
| +
 | 
| +testRenameOverwriteFile(Directory temp, Function done) {
 | 
| +  var d = new Directory('');
 | 
| +  var temp1 = d.createTempSync();
 | 
| +  var fileName = '${temp.path}/x';
 | 
| +  new File(fileName).createSync();
 | 
| +  Expect.throws(() => temp1.renameSync(fileName),
 | 
| +                (e) => e is DirectoryIOException);
 | 
| +  var renameDone = temp1.rename(fileName);
 | 
| +  renameDone.then((ignore) => Expect.fail('rename dir overwrite file'));
 | 
| +  renameDone.handleException((e) {
 | 
| +    Expect.isTrue(e is DirectoryIOException);
 | 
| +    temp1.deleteRecursivelySync();
 | 
| +    done();
 | 
| +    return true;
 | 
| +  });
 | 
| +}
 | 
| +
 | 
| +
 | 
|  void runTest(Function test) {
 | 
|    // Create a temporary directory for the test.
 | 
|    var temp = new Directory('').createTempSync();
 | 
| @@ -201,4 +251,7 @@ main() {
 | 
|    runTest(testDeleteNonExistent);
 | 
|    runTest(testDeleteRecursivelyNonExistent);
 | 
|    runTest(testListNonExistent);
 | 
| +  runTest(testRenameNonExistent);
 | 
| +  runTest(testRenameFileAsDirectory);
 | 
| +  runTest(testRenameOverwriteFile);
 | 
|  }
 | 
| 
 |