示例#1
0
 def test_rm_with_one_nonexistant(self):
     write('existant', 'contents')
     self.assertRaises(FileNotFoundError,
                       lambda: rm('existant', 'nonexistant'))
     self.assertEqual(['existant'], ls())
     rm('existant', 'nonexistant', ignore_missing=True)
     self.assertEqual([], ls())
 def test_mv_single_file_to_nonexistant_folder(self):
     write('file', 'contents')
     self.assertRaises(RuntimeError, lambda: move_to('file', 'folder', create_dir=False))
     move_to('file', 'folder')
     self.assertEqual(['folder'], ls())
     self.assertEqual(['file'], ls('folder'))
     self.assertEqual('contents', read('folder/file'))
     rm('folder', recursively=True)
 def test_mv_single_file_to_existing_folder(self):
     write('file', 'contents')
     mkdir('folder')
     move_to('file', 'folder')
     self.assertEqual(['folder'], ls())
     self.assertEqual(['file'], ls('folder'))
     self.assertEqual('contents', read('folder/file'))
     rm('folder', recursively=True)
示例#4
0
 def test_rm_with_one_with_contents(self):
     write('existant', 'contents')
     mkdir('folder')
     write('folder/file', 'contents')
     self.assertRaises(CannotRemoveDirectoryError,
                       lambda: rm('existant', 'folder', interactive=False))
     self.assertEqual(['existant', 'folder'], ls())
     rm('existant', 'folder', recursively=True)
     self.assertEqual([], ls())
 def test_mv_dst_exists(self):
     write('src', 'abc')
     write('file', 'def')
     self.assertRaises(RuntimeError, lambda: mv('src', 'file'))
     self.assertEqual(['file', 'src'], ls())
     mv('src', 'file', overwrite=True)
     self.assertEqual(['file'], ls())
     self.assertEqual('abc', read('file'))
     rm('file')
 def test_mv_dst_folder_doesnt_exist(self):
     write('src', 'abc')
     mv('src', 'folder/file')
     self.assertEqual(['folder'], ls())
     self.assertEqual(['file'], ls('folder'))
     self.assertEqual('abc', read('folder/file'))
     mv('folder/file', 'folder/to/a/file')
     self.assertEqual(['folder'], ls())
     self.assertEqual(['to'], ls('folder'))
     self.assertEqual(['a'], ls('folder/to'))
     self.assertEqual(['file'], ls('folder/to/a'))
     self.assertEqual('abc', read('folder/to/a/file'))
     rm('folder', recursively=True)
示例#7
0
 def test_rm_nonemptydir(self):
     mkdir('path')
     write('path/file', 'contents')
     self.assertRaises(CannotRemoveDirectoryError,
                       lambda: rm('path', interactive=False))
     self.assertEqual(['path'], ls())
     rm('path', recursively=True)
     self.assertEqual([], ls())
     mkdir('path')
     write('path/file', '')
     Interactive.ask_question = lambda _: "n"
     rm('path')
     self.assertEqual(['path'], ls())
     Interactive.ask_question = lambda _: "y"
     rm("path")
     self.assertEqual([], ls())
示例#8
0
 def test_more_complicated_cd(self):
     mkdir('path/to/folder')
     cd('path')
     self.assertEqual(join(INITIAL_PWD, 'path'), pwd())
     cd('..')
     self.assertEqual(INITIAL_PWD, pwd())
     cd('path/to')
     self.assertEqual(join(INITIAL_PWD, 'path/to'), pwd())
     cd('.')
     self.assertEqual(join(INITIAL_PWD, 'path/to'), pwd())
     cd('..')
     self.assertEqual(join(INITIAL_PWD, 'path'), pwd())
     cd('to/folder')
     self.assertEqual(join(INITIAL_PWD, 'path/to/folder'), pwd())
     write('file.txt', "hello")
     cd(3)
     self.assertEqual(join(INITIAL_PWD, 'path/to'), pwd())
     cd(1)
     self.assertEqual(INITIAL_PWD, pwd())
     cd(1)
     self.assertEqual(join(INITIAL_PWD, 'path'), pwd())
     cd(INITIAL_PWD)
     self.assertEqual(read('path/to/folder/file.txt'), "hello")
     rm('path', recursively=True)
示例#9
0
 def test_rm_symlink(self):
     write('file', 'contents')
     symlink('file', 'link')
     rm('link')
     self.assertEqual(['file'], ls())
     rm('file')
 def test_chaining(self):
     write('test', '') and write('test2', '')
     self.assertEqual(ls(), ['test', 'test2'])
     rm('test', 'test2')
 def test_mv_single_file_to_existant_file(self):
     write('file', 'contents')
     write('other_file', 'contents')
     self.assertRaises(RuntimeError, lambda: move_to('file', 'other_file'))
     rm('file', 'other_file', recursively=True)
 def test_mv_dst_folder_doesnt_exist_create_dir_false(self):
     write('src', 'abc')
     self.assertRaises(RuntimeError, lambda: mv('src', 'folder/file', create_dir=False))
     rm('src')
 def test_mv_dst_folder(self):
     write('src', 'abc')
     mkdir('folder')
     self.assertRaises(RuntimeError, lambda: mv('src', 'folder'))
     rm('folder', 'src')
 def test_glob_multiple(self):
     write('file', 'contents')
     write('second_file', 'contents')
     self.assertEqual(['file', 'second_file'], globs("*f*"))
     self.assertRaises(RuntimeError, lambda: glob("*f*"))
     rm('file', 'second_file')
 def test_glob_single(self):
     write('file', 'contents')
     write('second_file', 'contents')
     self.assertEqual(['file'], globs("f*"))
     self.assertEqual('file', glob("f*"))
     rm('file', 'second_file')
 def test_read_succeed(self):
     write('file', 'contents\nline 2')
     self.assertEqual('contents\nline 2', (cat('file') > Collect).stdout())
     write('file', 'contents\n', clobber=True)
     self.assertEqual('contents\n', (cat('file') > Collect).stdout())
     rm('file')