Commit Graph

161 Commits

Author SHA1 Message Date
Jon Yurek
bfffa910e9 Bitmask file creation modes allow for Tempfile compatability. 2009-10-30 09:53:39 -07:00
Scott Taylor
85d4fa1173 Improve SpecHelpers to work consistently. Use 'include' instead of 'extend' + use_fakefs. Add specs. 2009-10-30 00:26:02 -04:00
Scott Taylor
f659ddd193 Doc fixes to the spec helper 2009-10-29 22:52:18 -04:00
Sam Goldstein
1c6825fb9b added support for recursive globbing
FakeDir.glob now handles recursive globs (i.e. '**') like the standard
lib Dir.  Previously they were treated identically to single wild cards
(i.e. '*')

Resolves issue #16
http://github.com/defunkt/fakefs/issues#issue/16
2009-10-29 09:26:54 -07:00
Scott Taylor
01b0421c49 Add File#seek. Fixes Github Issue #19 2009-10-29 05:46:39 -04:00
Scott Taylor
6f5cff81ca Add binary mode. Resolves Github #13 2009-10-29 05:46:39 -04:00
Scott Taylor
1d410d4955 Cleanup code. Delegate to StringIO. Don't do the file mode check ourself - make StringIO do it. 2009-10-29 05:46:32 -04:00
Scott Barron
e5d7b716ed Support FileUtils.rm_f as well 2009-10-27 00:27:35 +08:00
Scott Barron
838274f965 Dir.entries returns only basenames, not full paths - make FakeFS match that behavior 2009-10-27 00:27:34 +08:00
jameswilding
7444ef50b3 Fix that FakeFS method wouldn't call ::FakeFS.deactivate! when block raised an exception 2009-10-19 21:58:14 +08:00
Ben Mabey
b0830550fe rspec example group helpers to turn fakefs on/off 2009-10-14 23:10:52 +08:00
dmathieu
20ef508317 Refactoring ln_sf and testing it 2009-10-14 15:36:13 +08:00
dmathieu
eb1cde19f9 Fileutils has a method ln_sf which forces the creation of a symlink 2009-10-14 15:36:13 +08:00
Nick Quaranto
8f26158a5a Adding a passable implementation of File.mtime 2009-10-07 00:13:58 -07:00
Nick Quaranto
72e8ee62c7 Allowing File#read to chunk IO 2009-10-07 00:08:20 -07:00
Nick Quaranto
5deda9b456 File.size? actually returns nil instead of false 2009-10-07 00:06:43 -07:00
Nick Quaranto
e591d3b2d3 Adding File.size? too 2009-10-07 00:06:36 -07:00
Nick Quaranto
166ff444d9 Aliasing File.readable? to File.exist? so Rack::File can work 2009-10-07 00:06:28 -07:00
Chris Wanstrath
c39b62c1c9 0.2.0 2009-10-06 21:48:44 -07:00
Scott Taylor
c00d450662 Add File::delete and alias File::unlink. Get those, plus FileUtils.rm to work properly with hard links. Closes #8 2009-10-01 02:52:02 -04:00
Scott Taylor
bdcdc26d49 Add hard links. Closes #11 2009-10-01 02:46:07 -04:00
Scott Taylor
7e927d8ff0 Add File.symlink as an alias for FileUtils.ln_s 2009-10-01 02:46:07 -04:00
Scott Taylor
34a88c4e63 Start File::Stat. Add Stat#symlink?, stat#directory? 2009-10-01 02:46:07 -04:00
Scott Taylor
cb9de5938f method_missing should always be private 2009-10-01 02:46:07 -04:00
Scott Taylor
6f08568d8f Add File.link as a copy operation 2009-10-01 02:46:06 -04:00
Scott Taylor
731122a1ac Refactor mode code 2009-10-01 02:46:00 -04:00
Scott Taylor
6d44186cf7 Truncate an existing file in "w", "w+" modes. 2009-10-01 02:46:00 -04:00
Scott Taylor
3a5098092c Raise an IOError when a file is read in a write-only mode. 2009-10-01 02:46:00 -04:00
Scott Taylor
0b7d45b985 Don't attempt to create a missing file in File.write (the mode guarantees that the file will already be present) 2009-10-01 02:46:00 -04:00
Scott Taylor
e3446636e5 Create files in w, w+, a, and a+ modes when calling File.new and the file is missing. 2009-10-01 02:46:00 -04:00
Scott Taylor
17e2e47027 Raise an error when opening a file which does not exist in read-write ('r+') mode 2009-10-01 02:46:00 -04:00
Scott Taylor
2881614123 Raise an Errno::ENOENT error when opening a file which does not exist 2009-10-01 02:45:59 -04:00
Scott Taylor
a8245db145 Raise an error when giving File.open an illegal access mode. Set default mode for File.open to READ_ONLY 2009-10-01 02:45:59 -04:00
Scott Taylor
6068034c29 Don't allow writing in read-only mode 2009-10-01 02:45:59 -04:00
Scott Taylor
20eb3f238e Add file modes. Replace magic values with constants. 2009-10-01 02:45:59 -04:00
Jon Yurek
a34f8e8beb Implemented File.size 2009-09-30 12:08:54 +08:00
msassak
0da41d92a7 Return result of yield from FakeFS block
Signed-off-by: Chris Wanstrath <chris@ozmm.org>
2009-09-23 18:46:58 +08:00
Chris Wanstrath
25e47887b0 Merge branch 'master' of github.com:defunkt/fakefs 2009-09-21 19:43:17 -07:00
Chris Wanstrath
1eb0b97207 FakeFS 0.1.1 2009-09-21 19:43:13 -07:00
Chris Wanstrath
0124b3ab89 whitespace 2009-09-21 19:38:35 -07:00
Rob Sanheim
bbb659fcf8 Add support for mkpath, an alias for mkdir_p on FileUtils
Signed-off-by: Chris Wanstrath <chris@ozmm.org>
2009-09-22 10:28:56 +08:00
Myles Eftos
8e1d049ee4 Updated File.open and File.new signature 2009-09-17 08:22:24 +08:00
Myles Eftos
f6031458cd Fixed FileUtils.rmdir and Dir.unlink 2009-09-14 03:16:20 +08:00
Myles Eftos
c9bd3260c5 Fixed FileUtils.rmdir and Dir.unlink 2009-09-14 03:15:12 +08:00
Myles Eftos
a926ebf1c5 Added File.extname and FileUtils.rmdir 2009-09-14 01:41:00 +08:00
Myles Eftos
1403c5b421 Fixed Dir read method to strip the path, so it matches the Ruby Dir path. Bumped version number 2009-09-13 22:50:34 +08:00
Myles Eftos
9f70cc3c8c Added gemspec 2009-09-13 22:17:40 +08:00
Myles Eftos
fa3f27e6c3 Finished tests for Class methods. chroot isn't implemented 2009-09-13 22:10:42 +08:00
Myles Eftos
af330bc5ab Added tests for Dir instance methods 2009-09-13 21:50:08 +08:00
David Reese
e8257feadd File#puts accepts (*args) and arrays
Signed-off-by: Chris Wanstrath <chris@ozmm.org>
2009-09-11 22:23:55 +08:00
Chris Wanstrath
42f0d46814 whitespace 2009-09-10 23:48:45 -07:00
Chris Wanstrath
57cc9aa921 version 0.1.0 2009-09-10 23:48:39 -07:00
Matt Freels
0fbdb45565 recurser should be private... 2009-07-28 01:14:58 -07:00
Matt Freels
9d09436dba handle case where FileSystem.find has to find the root 2009-07-28 01:12:52 -07:00
Matt Freels
76002ea431 support globbing to files and partial path part matches 2009-07-28 00:25:31 -07:00
Matt Freels
3b6eb053de simplify Dir.glob 2009-07-28 00:22:24 -07:00
Matt Freels
46b62a54d9 symlink needs respond_to? if method_missing is used 2009-07-28 00:20:06 -07:00
Matt Freels
506a33fed4 Dir.pwd and Dir.getwd 2009-07-27 10:56:56 -07:00
Matt Freels
9fb29f122d FakeFS block form seems a part of base. 2009-07-27 10:45:56 -07:00
Matt Freels
91de901bab make fakefs/safe pull in dependencies 2009-07-27 10:44:31 -07:00
Chris Wanstrath
ffeb6516f5 Mock{Dir, File, Symlink} => Fake{Dir, File, Symlink} 2009-07-27 00:09:06 -07:00
Chris Wanstrath
06a27330de Prefer && over and 2009-07-26 23:53:53 -07:00
Chris Wanstrath
5b5961f8e2 Merge commit 'nakajima/safe-mode'
Conflicts:
	lib/fakefs.rb
2009-07-26 23:53:40 -07:00
Pat Nakajima
42d9951661 Crazy directory re-organization 2009-07-22 20:21:28 -04:00
Tymon Tobolski
99880eae06 Added const_missing (autospec again) 2009-07-22 01:49:40 -07:00
Pat Nakajima
14dac336a5 Use consistent constant reference style 2009-07-22 04:42:46 -04:00
Pat Nakajima
3f4de75254 Added fakefs/safe which is a bit less intrusive. 2009-07-22 04:41:18 -04:00
Tymon Tobolski
29dd607869 Implemented FileUtils#rm_r 2009-07-22 00:24:06 -07:00
Chris Wanstrath
d975149d6f alias_method, not alias 2009-07-22 00:23:44 -07:00
Tymon Tobolski
c6c604a3ca Implemented FileUtils#cd (chdir) 2009-07-22 00:23:09 -07:00
Chris Wanstrath
1226acc4b3 File.exist? should return a real boolean (nicer debugging) 2009-07-21 22:31:36 -07:00
Chris Wanstrath
a7f20095f0 fix random cloning bugs 2009-07-19 15:23:42 -07:00
Chris Wanstrath
eb634265e6 do a deep copy of the hash 2009-07-19 14:23:02 -07:00
Pat Nakajima
7d57d483df Implemented File#<< and File#close 2009-07-19 14:17:04 -07:00
Chris Wanstrath
04a6a7a527 when copying or moving files, ensure the new parent gets set correctly 2009-07-19 14:16:21 -07:00
Chris Wanstrath
98215fe488 rename File.exists? to File.exist?
exists? is marked as obsolete in the API doc [madx]
2009-07-14 00:08:58 -07:00
Jeff Hodges
a201579ef4 FileUtils.touch with multiple files was broken on 1.9.
String#each does not exist in ruby 1.9, so Array() must be used.
2009-06-13 23:56:14 -07:00
Jeff Hodges
3221e40dff Simplifying FileUtils.touch. 2009-06-13 23:52:22 -07:00
Mark
bd97171227 Refactored touch to verify that the parent directories exist 2009-06-13 22:29:00 -07:00
Mark
27e24b2260 Added touch to fileutils 2009-06-13 00:22:37 -07:00
Pat Nakajima
d7870563aa Fixed inconsistent File.directory? behavior 2009-06-12 18:22:48 -04:00
Pat Nakajima
57d02ab8b2 More accurate test for File.file? 2009-06-12 18:16:16 -04:00
Pat Nakajima
94afbcabc1 Fixed File.file? for non-existent files 2009-06-12 17:54:32 -04:00
Pat Nakajima
bf6f121601 Fix FileUtils.cp behavior. 2009-06-11 18:11:44 -04:00
Chris Wanstrath
3537c43cbe add FileUtils.cp & tests 2009-06-03 17:53:07 -07:00
Chris Wanstrath
e051533cd4 ensure File.read raises the correct error 2009-06-03 17:47:10 -07:00
Jeff Hodges
8aba1ad6a5 we can now clone even hard to find dotfiles 2009-06-02 00:16:19 -07:00
Jeff Hodges
364dc66ee5 FileSystem.clone now clones directories and dot files. 2009-06-01 23:54:04 -07:00
Jeff Hodges
c0be5bd8f2 cp_r given a src ending in '/.' now copies over the contents of the
src dir.
2009-06-01 04:13:53 -07:00
Jeff Hodges
da576d4208 Fixes to cp_r, ln_s, directory? and file?. Raise an error if we try to cp_r into
something that isn't a directory. Do not allow symlinking if the path
the symlink would be at already exists. directory? and file? now
correctly pass if called on a symlink path that points to a path of
the corresponding type.
2009-06-01 03:52:08 -07:00
Jeff Hodges
ddcdfcd04f Suddenly, cp_r works beautifully! This commit now lets us handle the
case where a directory is meant to be copied as a subdirectory to the
destination path when that path already exists. We also do the
appropriate error message when the dest path given is non-existent and
so is its parent.

Oh, crap, we should probably check that it's a directory that we are
merging into.
2009-06-01 03:25:12 -07:00
Jeff Hodges
4f6259d180 FileSystem.clone now works when cloning regular files. 2009-05-31 02:24:33 -07:00
Jeff Hodges
2a0eba7933 cp_r should also raise an error when it cannot find the source file. 2009-05-30 23:40:45 -07:00
Jeff Hodges
35c2da972b Fixing cp_r sharing data between files copied 2009-05-30 23:30:50 -07:00
Jeff Hodges
b5e7359eac fixing FileUtils.mv 2009-05-30 23:24:29 -07:00
Jeff Hodges
2b3132096c FileUtils.mv should raise error on missing file 2009-05-30 22:04:17 -07:00
Jeff Hodges
45b0e2828f adding File#flush 2009-05-30 21:22:57 -07:00
Jeff Hodges
820c9df1b0 Cross-platform check for absolute filepath. 2009-05-30 21:12:40 -07:00
Jeff Hodges
97e2133282 Dir.chdir can now be called without a block, and another error state
in chdir is taken care of. Specifically, where chdir into a
non-existent directory could put the filesystem into a broken state.
2009-05-30 20:40:21 -07:00
Jeff Hodges
83c06cd8d4 initialize @dir_levels as an array 2009-05-30 20:23:48 -07:00