- dir does not exist
ENOENT
- no permission to chdir to dir
EACCES
- dir does not exist
ENOENT
- no permission to read dir
EACCES
- dir does not exist
ENOENT
- no permission to create dir
EACCES
- dir does not exist
ENOENT
- no permission to remove dir
EACCES
- from is a directory and to exists (WINDOWS)
EPERM
- from and to are directories and to contains files (NON-WINDOWS)
ENOTEMPTY
- can't write to the parent folder of to (WINDOWS)
EPERM
- can't write to the parent folder of to (NON-WINDOWS)
EACCES
Currently these tests assume that sync and async functions will produce the same error objects. If this proves ever to not be true we'll split out the tests.