fakefs 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CONTRIBUTORS +6 -1
 - data/README.markdown +7 -0
 - data/fakefs.gemspec +2 -3
 - data/lib/fakefs/dir.rb +21 -5
 - data/lib/fakefs/fake/symlink.rb +5 -2
 - data/lib/fakefs/file.rb +23 -4
 - data/lib/fakefs/file_system.rb +4 -2
 - data/lib/fakefs/file_test.rb +4 -0
 - data/lib/fakefs/fileutils.rb +10 -2
 - data/lib/fakefs/version.rb +1 -1
 - data/test/fakefs_test.rb +201 -43
 - data/test/safe_test.rb +1 -1
 - data/test/verify.rb +1 -1
 - metadata +2 -3
 - data/Gemfile.lock +0 -35
 
    
        data/CONTRIBUTORS
    CHANGED
    
    | 
         @@ -4,27 +4,32 @@ Chris Wanstrath <chris@ozmm.org> 
     | 
|
| 
       4 
4 
     | 
    
         
             
            Myles Eftos <myles@madpilot.com.au>
         
     | 
| 
       5 
5 
     | 
    
         
             
            Jeff Hodges <jeff@somethingsimilar.com>
         
     | 
| 
       6 
6 
     | 
    
         
             
            Matt Freels <matt@freels.name>
         
     | 
| 
      
 7 
     | 
    
         
            +
            Eero Saynatkari <projects@kittensoft.org>
         
     | 
| 
       7 
8 
     | 
    
         
             
            Víctor Martínez <knoopx@gmail.com>
         
     | 
| 
       8 
9 
     | 
    
         
             
            Nick Quaranto <nick@quaran.to>
         
     | 
| 
       9 
10 
     | 
    
         
             
            Aaron Suggs <aaron@ktheory.com>
         
     | 
| 
       10 
11 
     | 
    
         
             
            Victor Costan <costan@gmail.com>
         
     | 
| 
       11 
12 
     | 
    
         
             
            Eric MSP Veith <eveith@wwweb-library.net>
         
     | 
| 
       12 
13 
     | 
    
         
             
            Jon Yurek <jyurek@thoughtbot.com>
         
     | 
| 
      
 14 
     | 
    
         
            +
            Jared Luxenberg <jared@jaredlux.com>
         
     | 
| 
      
 15 
     | 
    
         
            +
            Lars Gierth <lars.gierth@gmail.com>
         
     | 
| 
       13 
16 
     | 
    
         
             
            Greg Campbell <gtcampbell@gmail.com>
         
     | 
| 
       14 
17 
     | 
    
         
             
            Ben Mabey <ben@benmabey.com>
         
     | 
| 
       15 
18 
     | 
    
         
             
            Mark <mark@amerine.net>
         
     | 
| 
       16 
19 
     | 
    
         
             
            Sam Goldstein <sam@aboutus.org>
         
     | 
| 
      
 20 
     | 
    
         
            +
            Ryan McGeary <ryan@mcgeary.org>
         
     | 
| 
       17 
21 
     | 
    
         
             
            Noah Paessel <knowuh@gmail.com>
         
     | 
| 
       18 
22 
     | 
    
         
             
            dmathieu <42@dmathieu.com>
         
     | 
| 
       19 
23 
     | 
    
         
             
            Mariusz Pietrzyk <wijet@wijet.pl>
         
     | 
| 
       20 
     | 
    
         
            -
            Lars Gierth <lars.gierth@gmail.com>
         
     | 
| 
       21 
24 
     | 
    
         
             
            marano <thiagomarano@gmail.com>
         
     | 
| 
       22 
25 
     | 
    
         
             
            jameswilding <james@jameswilding.net>
         
     | 
| 
       23 
26 
     | 
    
         
             
            Tymon Tobolski <i@teamon.eu>
         
     | 
| 
       24 
27 
     | 
    
         
             
            Scott Barron <scott@elitists.net>
         
     | 
| 
      
 28 
     | 
    
         
            +
            Andrius Chamentauskas <andrius.chamentauskas@gmail.com>
         
     | 
| 
       25 
29 
     | 
    
         
             
            Keita Urashima <ursm@ursm.jp>
         
     | 
| 
       26 
30 
     | 
    
         
             
            David Reese <david@whatcould.com>
         
     | 
| 
       27 
31 
     | 
    
         
             
            msassak <msassak@gmail.com>
         
     | 
| 
      
 32 
     | 
    
         
            +
            Andrius Chamentauskas <sinsiliux@gmail.com>
         
     | 
| 
       28 
33 
     | 
    
         
             
            timo3377 <tim.linquist@gmail.com>
         
     | 
| 
       29 
34 
     | 
    
         
             
            Mislav Marohnić <mislav.marohnic@gmail.com>
         
     | 
| 
       30 
35 
     | 
    
         
             
            Rob Sanheim <rsanheim@gmail.com>
         
     | 
    
        data/README.markdown
    CHANGED
    
    | 
         @@ -47,6 +47,13 @@ Don't Fake the FS Immediately 
     | 
|
| 
       47 
47 
     | 
    
         
             
                  # your code
         
     | 
| 
       48 
48 
     | 
    
         
             
                end
         
     | 
| 
       49 
49 
     | 
    
         | 
| 
      
 50 
     | 
    
         
            +
            Rails
         
     | 
| 
      
 51 
     | 
    
         
            +
            -----
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
            If you are using fakefs in a rails project with bundler, you'll probably want to specify the following in your Gemfile:
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
              gem "fakefs", :require => "fakefs/safe"
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
       50 
57 
     | 
    
         | 
| 
       51 
58 
     | 
    
         
             
            RSpec
         
     | 
| 
       52 
59 
     | 
    
         
             
            -----
         
     | 
    
        data/fakefs.gemspec
    CHANGED
    
    | 
         @@ -5,11 +5,11 @@ 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       7 
7 
     | 
    
         
             
              s.name = %q{fakefs}
         
     | 
| 
       8 
     | 
    
         
            -
              s.version = "0. 
     | 
| 
      
 8 
     | 
    
         
            +
              s.version = "0.4.0"
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         
     | 
| 
       11 
11 
     | 
    
         
             
              s.authors = ["Chris Wanstrath", "Scott Taylor", "Jeff Hodges", "Pat Nakajima"]
         
     | 
| 
       12 
     | 
    
         
            -
              s.date = %q{2011-05 
     | 
| 
      
 12 
     | 
    
         
            +
              s.date = %q{2011-09-05}
         
     | 
| 
       13 
13 
     | 
    
         
             
              s.description = %q{A fake filesystem. Use it in your tests.}
         
     | 
| 
       14 
14 
     | 
    
         
             
              s.email = %q{chris@ozmm.org}
         
     | 
| 
       15 
15 
     | 
    
         
             
              s.extra_rdoc_files = [
         
     | 
| 
         @@ -21,7 +21,6 @@ Gem::Specification.new do |s| 
     | 
|
| 
       21 
21 
     | 
    
         
             
                ".rspec",
         
     | 
| 
       22 
22 
     | 
    
         
             
                "CONTRIBUTORS",
         
     | 
| 
       23 
23 
     | 
    
         
             
                "Gemfile",
         
     | 
| 
       24 
     | 
    
         
            -
                "Gemfile.lock",
         
     | 
| 
       25 
24 
     | 
    
         
             
                "LICENSE",
         
     | 
| 
       26 
25 
     | 
    
         
             
                "README.markdown",
         
     | 
| 
       27 
26 
     | 
    
         
             
                "Rakefile",
         
     | 
    
        data/lib/fakefs/dir.rb
    CHANGED
    
    | 
         @@ -2,8 +2,13 @@ module FakeFS 
     | 
|
| 
       2 
2 
     | 
    
         
             
              class Dir
         
     | 
| 
       3 
3 
     | 
    
         
             
                include Enumerable
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
      
 5 
     | 
    
         
            +
                def self._check_for_valid_file(path)
         
     | 
| 
      
 6 
     | 
    
         
            +
                  raise Errno::ENOENT, "No such file or directory - #{path}" unless FileSystem.find(path)
         
     | 
| 
      
 7 
     | 
    
         
            +
                end
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
       5 
9 
     | 
    
         
             
                def initialize(string)
         
     | 
| 
       6 
     | 
    
         
            -
                   
     | 
| 
      
 10 
     | 
    
         
            +
                  self.class._check_for_valid_file(string)
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
       7 
12 
     | 
    
         
             
                  @path = string
         
     | 
| 
       8 
13 
     | 
    
         
             
                  @open = true
         
     | 
| 
       9 
14 
     | 
    
         
             
                  @pointer = 0
         
     | 
| 
         @@ -56,21 +61,28 @@ module FakeFS 
     | 
|
| 
       56 
61 
     | 
    
         
             
                  glob(pattern)
         
     | 
| 
       57 
62 
     | 
    
         
             
                end
         
     | 
| 
       58 
63 
     | 
    
         | 
| 
      
 64 
     | 
    
         
            +
                def self.exists?(path)
         
     | 
| 
      
 65 
     | 
    
         
            +
                  File.exists?(path) && File.directory?(path)
         
     | 
| 
      
 66 
     | 
    
         
            +
                end
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
       59 
68 
     | 
    
         
             
                def self.chdir(dir, &blk)
         
     | 
| 
       60 
69 
     | 
    
         
             
                  FileSystem.chdir(dir, &blk)
         
     | 
| 
       61 
70 
     | 
    
         
             
                end
         
     | 
| 
       62 
71 
     | 
    
         | 
| 
       63 
72 
     | 
    
         
             
                def self.chroot(string)
         
     | 
| 
       64 
     | 
    
         
            -
                   
     | 
| 
      
 73 
     | 
    
         
            +
                  raise NotImplementedError
         
     | 
| 
       65 
74 
     | 
    
         
             
                end
         
     | 
| 
       66 
75 
     | 
    
         | 
| 
       67 
76 
     | 
    
         
             
                def self.delete(string)
         
     | 
| 
       68 
     | 
    
         
            -
                   
     | 
| 
      
 77 
     | 
    
         
            +
                  _check_for_valid_file(string)
         
     | 
| 
      
 78 
     | 
    
         
            +
                  raise Errno::ENOTEMPTY, "Directory not empty - #{string}" unless FileSystem.find(string).values.empty?
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
       69 
80 
     | 
    
         
             
                  FileSystem.delete(string)
         
     | 
| 
       70 
81 
     | 
    
         
             
                end
         
     | 
| 
       71 
82 
     | 
    
         | 
| 
       72 
83 
     | 
    
         
             
                def self.entries(dirname)
         
     | 
| 
       73 
     | 
    
         
            -
                   
     | 
| 
      
 84 
     | 
    
         
            +
                  _check_for_valid_file(dirname)
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
       74 
86 
     | 
    
         
             
                  Dir.new(dirname).map { |file| File.basename(file) }
         
     | 
| 
       75 
87 
     | 
    
         
             
                end
         
     | 
| 
       76 
88 
     | 
    
         | 
| 
         @@ -86,8 +98,12 @@ module FakeFS 
     | 
|
| 
       86 
98 
     | 
    
         
             
                def self.mkdir(string, integer = 0)
         
     | 
| 
       87 
99 
     | 
    
         
             
                  parent = string.split('/')
         
     | 
| 
       88 
100 
     | 
    
         
             
                  parent.pop
         
     | 
| 
       89 
     | 
    
         
            -
             
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
      
 102 
     | 
    
         
            +
                  joined_parent_path = parent.join
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
                  _check_for_valid_file(joined_parent_path) unless joined_parent_path == ""
         
     | 
| 
       90 
105 
     | 
    
         
             
                  raise Errno::EEXIST, "File exists - #{string}" if File.exists?(string)
         
     | 
| 
      
 106 
     | 
    
         
            +
             
     | 
| 
       91 
107 
     | 
    
         
             
                  FileUtils.mkdir_p(string)
         
     | 
| 
       92 
108 
     | 
    
         
             
                end
         
     | 
| 
       93 
109 
     | 
    
         | 
    
        data/lib/fakefs/fake/symlink.rb
    CHANGED
    
    | 
         @@ -1,7 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module FakeFS
         
     | 
| 
       2 
2 
     | 
    
         
             
              class FakeSymlink
         
     | 
| 
       3 
     | 
    
         
            -
                attr_accessor :name, :target
         
     | 
| 
       4 
     | 
    
         
            -
                alias_method  :to_s, :name
         
     | 
| 
      
 3 
     | 
    
         
            +
                attr_accessor :name, :target, :parent
         
     | 
| 
       5 
4 
     | 
    
         | 
| 
       6 
5 
     | 
    
         
             
                def initialize(target)
         
     | 
| 
       7 
6 
     | 
    
         
             
                  @target = target
         
     | 
| 
         @@ -19,6 +18,10 @@ module FakeFS 
     | 
|
| 
       19 
18 
     | 
    
         
             
                  parent.delete(self)
         
     | 
| 
       20 
19 
     | 
    
         
             
                end
         
     | 
| 
       21 
20 
     | 
    
         | 
| 
      
 21 
     | 
    
         
            +
                def to_s
         
     | 
| 
      
 22 
     | 
    
         
            +
                  File.join(parent.to_s, name)
         
     | 
| 
      
 23 
     | 
    
         
            +
                end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
       22 
25 
     | 
    
         
             
                def respond_to?(method)
         
     | 
| 
       23 
26 
     | 
    
         
             
                  entry.respond_to?(method)
         
     | 
| 
       24 
27 
     | 
    
         
             
                end
         
     | 
    
        data/lib/fakefs/file.rb
    CHANGED
    
    | 
         @@ -37,7 +37,12 @@ module FakeFS 
     | 
|
| 
       37 
37 
     | 
    
         
             
                end
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
       39 
39 
     | 
    
         
             
                def self.exist?(path)
         
     | 
| 
       40 
     | 
    
         
            -
                   
     | 
| 
      
 40 
     | 
    
         
            +
                  if(File.symlink?(path)) then
         
     | 
| 
      
 41 
     | 
    
         
            +
                    referent = File.expand_path(File.readlink(path), File.dirname(path))
         
     | 
| 
      
 42 
     | 
    
         
            +
                    exist?(referent)
         
     | 
| 
      
 43 
     | 
    
         
            +
                  else
         
     | 
| 
      
 44 
     | 
    
         
            +
                    !!FileSystem.find(path)
         
     | 
| 
      
 45 
     | 
    
         
            +
                  end
         
     | 
| 
       41 
46 
     | 
    
         
             
                end
         
     | 
| 
       42 
47 
     | 
    
         | 
| 
       43 
48 
     | 
    
         
             
                class << self
         
     | 
| 
         @@ -132,7 +137,7 @@ module FakeFS 
     | 
|
| 
       132 
137 
     | 
    
         | 
| 
       133 
138 
     | 
    
         
             
                def self.readlink(path)
         
     | 
| 
       134 
139 
     | 
    
         
             
                  symlink = FileSystem.find(path)
         
     | 
| 
       135 
     | 
    
         
            -
                   
     | 
| 
      
 140 
     | 
    
         
            +
                  symlink.target
         
     | 
| 
       136 
141 
     | 
    
         
             
                end
         
     | 
| 
       137 
142 
     | 
    
         | 
| 
       138 
143 
     | 
    
         
             
                def self.read(path)
         
     | 
| 
         @@ -358,7 +363,7 @@ module FakeFS 
     | 
|
| 
       358 
363 
     | 
    
         
             
                  end
         
     | 
| 
       359 
364 
     | 
    
         | 
| 
       360 
365 
     | 
    
         
             
                  def to_path
         
     | 
| 
       361 
     | 
    
         
            -
                     
     | 
| 
      
 366 
     | 
    
         
            +
                    @path
         
     | 
| 
       362 
367 
     | 
    
         
             
                  end
         
     | 
| 
       363 
368 
     | 
    
         
             
                end
         
     | 
| 
       364 
369 
     | 
    
         | 
| 
         @@ -398,8 +403,22 @@ module FakeFS 
     | 
|
| 
       398 
403 
     | 
    
         
             
                  (@mode & mask) != 0 if @mode.is_a?(Integer)
         
     | 
| 
       399 
404 
     | 
    
         
             
                end
         
     | 
| 
       400 
405 
     | 
    
         | 
| 
      
 406 
     | 
    
         
            +
                # Create a missing file if the path is valid.
         
     | 
| 
      
 407 
     | 
    
         
            +
                #
         
     | 
| 
       401 
408 
     | 
    
         
             
                def create_missing_file
         
     | 
| 
       402 
     | 
    
         
            -
                  if  
     | 
| 
      
 409 
     | 
    
         
            +
                  raise Errno::EISDIR, "Is a directory - #{path}" if File.directory?(@path)
         
     | 
| 
      
 410 
     | 
    
         
            +
             
     | 
| 
      
 411 
     | 
    
         
            +
                  if !File.exists?(@path) # Unnecessary check, probably.
         
     | 
| 
      
 412 
     | 
    
         
            +
                    dirname = RealFile.dirname @path
         
     | 
| 
      
 413 
     | 
    
         
            +
             
     | 
| 
      
 414 
     | 
    
         
            +
                    unless dirname == "."
         
     | 
| 
      
 415 
     | 
    
         
            +
                      dir = FileSystem.find dirname
         
     | 
| 
      
 416 
     | 
    
         
            +
             
     | 
| 
      
 417 
     | 
    
         
            +
                      unless dir.kind_of? FakeDir
         
     | 
| 
      
 418 
     | 
    
         
            +
                        raise Errno::ENOENT, "No such file or directory - #{path}"
         
     | 
| 
      
 419 
     | 
    
         
            +
                      end
         
     | 
| 
      
 420 
     | 
    
         
            +
                    end
         
     | 
| 
      
 421 
     | 
    
         
            +
             
     | 
| 
       403 
422 
     | 
    
         
             
                    @file = FileSystem.add(path, FakeFile.new)
         
     | 
| 
       404 
423 
     | 
    
         
             
                  end
         
     | 
| 
       405 
424 
     | 
    
         
             
                end
         
     | 
    
        data/lib/fakefs/file_system.rb
    CHANGED
    
    | 
         @@ -7,7 +7,7 @@ module FakeFS 
     | 
|
| 
       7 
7 
     | 
    
         
             
                end
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
                def fs
         
     | 
| 
       10 
     | 
    
         
            -
                  @fs ||= FakeDir.new(' 
     | 
| 
      
 10 
     | 
    
         
            +
                  @fs ||= FakeDir.new('/')
         
     | 
| 
       11 
11 
     | 
    
         
             
                end
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
                def clear
         
     | 
| 
         @@ -68,6 +68,7 @@ module FakeFS 
     | 
|
| 
       68 
68 
     | 
    
         
             
                def delete(path)
         
     | 
| 
       69 
69 
     | 
    
         
             
                  if node = FileSystem.find(path)
         
     | 
| 
       70 
70 
     | 
    
         
             
                    node.delete
         
     | 
| 
      
 71 
     | 
    
         
            +
                    true
         
     | 
| 
       71 
72 
     | 
    
         
             
                  end
         
     | 
| 
       72 
73 
     | 
    
         
             
                end
         
     | 
| 
       73 
74 
     | 
    
         | 
| 
         @@ -121,7 +122,8 @@ module FakeFS 
     | 
|
| 
       121 
122 
     | 
    
         
             
                      directories_under(dir)
         
     | 
| 
       122 
123 
     | 
    
         
             
                    end
         
     | 
| 
       123 
124 
     | 
    
         
             
                  else
         
     | 
| 
       124 
     | 
    
         
            -
                     
     | 
| 
      
 125 
     | 
    
         
            +
                    regexp_pattern = /\A#{pattern.gsub('?','.').gsub('*', '.*').gsub(/\{(.*?)\}/) { "(#{$1.gsub(',', '|')})" }}\Z/
         
     | 
| 
      
 126 
     | 
    
         
            +
                    dir.reject {|k,v| regexp_pattern !~ k }.values
         
     | 
| 
       125 
127 
     | 
    
         
             
                  end
         
     | 
| 
       126 
128 
     | 
    
         | 
| 
       127 
129 
     | 
    
         
             
                  if parts.empty? # we're done recursing
         
     | 
    
        data/lib/fakefs/file_test.rb
    CHANGED
    
    
    
        data/lib/fakefs/fileutils.rb
    CHANGED
    
    | 
         @@ -30,7 +30,7 @@ module FakeFS 
     | 
|
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
                def rm(list, options = {})
         
     | 
| 
       32 
32 
     | 
    
         
             
                  Array(list).each do |path|
         
     | 
| 
       33 
     | 
    
         
            -
                    FileSystem.delete(path)
         
     | 
| 
      
 33 
     | 
    
         
            +
                    FileSystem.delete(path) or raise Errno::ENOENT.new(path)
         
     | 
| 
       34 
34 
     | 
    
         
             
                  end
         
     | 
| 
       35 
35 
     | 
    
         
             
                end
         
     | 
| 
       36 
36 
     | 
    
         | 
| 
         @@ -40,9 +40,17 @@ module FakeFS 
     | 
|
| 
       40 
40 
     | 
    
         | 
| 
       41 
41 
     | 
    
         
             
                def ln_s(target, path, options = {})
         
     | 
| 
       42 
42 
     | 
    
         
             
                  options = { :force => false }.merge(options)
         
     | 
| 
       43 
     | 
    
         
            -
                  (FileSystem.find(path)  
     | 
| 
      
 43 
     | 
    
         
            +
                  (FileSystem.find(path) && !options[:force]) ?
         
     | 
| 
      
 44 
     | 
    
         
            +
                    raise(Errno::EEXIST, path) :
         
     | 
| 
      
 45 
     | 
    
         
            +
                    FileSystem.delete(path)
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
                  if !options[:force] && !Dir.exists?(File.dirname(path))
         
     | 
| 
      
 48 
     | 
    
         
            +
                    raise Errno::ENOENT, path
         
     | 
| 
      
 49 
     | 
    
         
            +
                  end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
       44 
51 
     | 
    
         
             
                  FileSystem.add(path, FakeSymlink.new(target))
         
     | 
| 
       45 
52 
     | 
    
         
             
                end
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
       46 
54 
     | 
    
         
             
                def ln_sf(target, path)
         
     | 
| 
       47 
55 
     | 
    
         
             
                  ln_s(target, path, { :force => true })
         
     | 
| 
       48 
56 
     | 
    
         
             
                end
         
     | 
    
        data/lib/fakefs/version.rb
    CHANGED
    
    
    
        data/test/fakefs_test.rb
    CHANGED
    
    | 
         @@ -65,6 +65,12 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       65 
65 
     | 
    
         
             
                assert_kind_of FakeDir, FileSystem.fs['path']['to']['dir']
         
     | 
| 
       66 
66 
     | 
    
         
             
              end
         
     | 
| 
       67 
67 
     | 
    
         | 
| 
      
 68 
     | 
    
         
            +
              def test_unlink_errors_on_file_not_found
         
     | 
| 
      
 69 
     | 
    
         
            +
                assert_raise Errno::ENOENT do
         
     | 
| 
      
 70 
     | 
    
         
            +
                  FileUtils.rm("/foo")
         
     | 
| 
      
 71 
     | 
    
         
            +
                end
         
     | 
| 
      
 72 
     | 
    
         
            +
              end
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
       68 
74 
     | 
    
         
             
              def test_can_delete_directories
         
     | 
| 
       69 
75 
     | 
    
         
             
                FileUtils.mkdir_p("/path/to/dir")
         
     | 
| 
       70 
76 
     | 
    
         
             
                FileUtils.rmdir("/path/to/dir")
         
     | 
| 
         @@ -111,6 +117,11 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       111 
117 
     | 
    
         
             
                assert File.exists?(path)
         
     | 
| 
       112 
118 
     | 
    
         
             
              end
         
     | 
| 
       113 
119 
     | 
    
         | 
| 
      
 120 
     | 
    
         
            +
              def test_symlink_with_missing_refferent_does_not_exist
         
     | 
| 
      
 121 
     | 
    
         
            +
                File.symlink('/foo', '/bar')
         
     | 
| 
      
 122 
     | 
    
         
            +
                assert !File.exists?('/bar')
         
     | 
| 
      
 123 
     | 
    
         
            +
              end
         
     | 
| 
      
 124 
     | 
    
         
            +
             
     | 
| 
       114 
125 
     | 
    
         
             
              def test_can_create_symlinks
         
     | 
| 
       115 
126 
     | 
    
         
             
                FileUtils.mkdir_p(target = "/path/to/target")
         
     | 
| 
       116 
127 
     | 
    
         
             
                FileUtils.ln_s(target, "/path/to/link")
         
     | 
| 
         @@ -141,14 +152,63 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       141 
152 
     | 
    
         
             
                assert_equal target, File.readlink(link)
         
     | 
| 
       142 
153 
     | 
    
         
             
              end
         
     | 
| 
       143 
154 
     | 
    
         | 
| 
      
 155 
     | 
    
         
            +
              def test_symlinks_in_different_directories
         
     | 
| 
      
 156 
     | 
    
         
            +
                FileUtils.mkdir_p("/path/to/bar")
         
     | 
| 
      
 157 
     | 
    
         
            +
                FileUtils.mkdir_p(target = "/path/to/foo/target")
         
     | 
| 
      
 158 
     | 
    
         
            +
             
     | 
| 
      
 159 
     | 
    
         
            +
                FileUtils.ln_s(target, link = "/path/to/bar/symlink")
         
     | 
| 
      
 160 
     | 
    
         
            +
                assert_equal target, File.readlink(link)
         
     | 
| 
      
 161 
     | 
    
         
            +
              end
         
     | 
| 
      
 162 
     | 
    
         
            +
             
     | 
| 
      
 163 
     | 
    
         
            +
              def test_symlink_with_relative_path_exists
         
     | 
| 
      
 164 
     | 
    
         
            +
                FileUtils.touch("/file")
         
     | 
| 
      
 165 
     | 
    
         
            +
                FileUtils.mkdir_p("/a/b")
         
     | 
| 
      
 166 
     | 
    
         
            +
                FileUtils.ln_s("../../file", link = "/a/b/symlink")
         
     | 
| 
      
 167 
     | 
    
         
            +
                assert File.exist?('/a/b/symlink')
         
     | 
| 
      
 168 
     | 
    
         
            +
              end
         
     | 
| 
      
 169 
     | 
    
         
            +
             
     | 
| 
      
 170 
     | 
    
         
            +
              def test_symlink_with_relative_path_and_nonexistant_file_does_not_exist
         
     | 
| 
      
 171 
     | 
    
         
            +
                FileUtils.touch("/file")
         
     | 
| 
      
 172 
     | 
    
         
            +
                FileUtils.mkdir_p("/a/b")
         
     | 
| 
      
 173 
     | 
    
         
            +
                FileUtils.ln_s("../../file_foo", link = "/a/b/symlink")
         
     | 
| 
      
 174 
     | 
    
         
            +
                assert !File.exist?('/a/b/symlink')
         
     | 
| 
      
 175 
     | 
    
         
            +
              end
         
     | 
| 
      
 176 
     | 
    
         
            +
             
     | 
| 
      
 177 
     | 
    
         
            +
              def test_symlink_with_relative_path_has_correct_target
         
     | 
| 
      
 178 
     | 
    
         
            +
                FileUtils.touch("/file")
         
     | 
| 
      
 179 
     | 
    
         
            +
                FileUtils.mkdir_p("/a/b")
         
     | 
| 
      
 180 
     | 
    
         
            +
                FileUtils.ln_s("../../file", link = "/a/b/symlink")
         
     | 
| 
      
 181 
     | 
    
         
            +
                assert_equal "../../file", File.readlink(link)
         
     | 
| 
      
 182 
     | 
    
         
            +
              end
         
     | 
| 
      
 183 
     | 
    
         
            +
             
     | 
| 
      
 184 
     | 
    
         
            +
              def test_symlinks_to_symlinks
         
     | 
| 
      
 185 
     | 
    
         
            +
                FileUtils.mkdir_p(target = "/path/to/foo/target")
         
     | 
| 
      
 186 
     | 
    
         
            +
                FileUtils.mkdir_p("/path/to/bar")
         
     | 
| 
      
 187 
     | 
    
         
            +
                FileUtils.mkdir_p("/path/to/bar2")
         
     | 
| 
      
 188 
     | 
    
         
            +
             
     | 
| 
      
 189 
     | 
    
         
            +
                FileUtils.ln_s(target, link1 = "/path/to/bar/symlink")
         
     | 
| 
      
 190 
     | 
    
         
            +
                FileUtils.ln_s(link1, link2 = "/path/to/bar2/symlink")
         
     | 
| 
      
 191 
     | 
    
         
            +
                assert_equal link1, File.readlink(link2)
         
     | 
| 
      
 192 
     | 
    
         
            +
              end
         
     | 
| 
      
 193 
     | 
    
         
            +
             
     | 
| 
      
 194 
     | 
    
         
            +
              def test_symlink_to_symlinks_should_raise_error_if_dir_doesnt_exist
         
     | 
| 
      
 195 
     | 
    
         
            +
                FileUtils.mkdir_p(target = "/path/to/foo/target")
         
     | 
| 
      
 196 
     | 
    
         
            +
             
     | 
| 
      
 197 
     | 
    
         
            +
                assert !Dir.exists?("/path/to/bar")
         
     | 
| 
      
 198 
     | 
    
         
            +
             
     | 
| 
      
 199 
     | 
    
         
            +
                assert_raise Errno::ENOENT do
         
     | 
| 
      
 200 
     | 
    
         
            +
                  FileUtils.ln_s(target, "/path/to/bar/symlink")
         
     | 
| 
      
 201 
     | 
    
         
            +
                end
         
     | 
| 
      
 202 
     | 
    
         
            +
              end
         
     | 
| 
      
 203 
     | 
    
         
            +
             
     | 
| 
       144 
204 
     | 
    
         
             
              def test_knows_symlinks_are_symlinks
         
     | 
| 
       145 
205 
     | 
    
         
             
                FileUtils.mkdir_p(target = "/path/to/target")
         
     | 
| 
       146 
206 
     | 
    
         
             
                FileUtils.ln_s(target, link = "/path/to/symlink")
         
     | 
| 
       147 
207 
     | 
    
         
             
                assert File.symlink?(link)
         
     | 
| 
       148 
208 
     | 
    
         
             
              end
         
     | 
| 
       149 
209 
     | 
    
         | 
| 
       150 
     | 
    
         
            -
              def  
     | 
| 
       151 
     | 
    
         
            -
                path = ' 
     | 
| 
      
 210 
     | 
    
         
            +
              def test_can_create_files_in_current_dir
         
     | 
| 
      
 211 
     | 
    
         
            +
                path = 'file.txt'
         
     | 
| 
       152 
212 
     | 
    
         
             
                File.open(path, 'w') do |f|
         
     | 
| 
       153 
213 
     | 
    
         
             
                  f.write "Yatta!"
         
     | 
| 
       154 
214 
     | 
    
         
             
                end
         
     | 
| 
         @@ -158,7 +218,74 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       158 
218 
     | 
    
         
             
                assert File.writable?(path)
         
     | 
| 
       159 
219 
     | 
    
         
             
              end
         
     | 
| 
       160 
220 
     | 
    
         | 
| 
      
 221 
     | 
    
         
            +
              def test_can_create_files_in_existing_dir
         
     | 
| 
      
 222 
     | 
    
         
            +
                FileUtils.mkdir_p "/path/to"
         
     | 
| 
      
 223 
     | 
    
         
            +
                path = "/path/to/file.txt"
         
     | 
| 
      
 224 
     | 
    
         
            +
             
     | 
| 
      
 225 
     | 
    
         
            +
                File.open(path, 'w') do |f|
         
     | 
| 
      
 226 
     | 
    
         
            +
                  f.write "Yatta!"
         
     | 
| 
      
 227 
     | 
    
         
            +
                end
         
     | 
| 
      
 228 
     | 
    
         
            +
             
     | 
| 
      
 229 
     | 
    
         
            +
                assert File.exists?(path)
         
     | 
| 
      
 230 
     | 
    
         
            +
                assert File.readable?(path)
         
     | 
| 
      
 231 
     | 
    
         
            +
                assert File.writable?(path)
         
     | 
| 
      
 232 
     | 
    
         
            +
              end
         
     | 
| 
      
 233 
     | 
    
         
            +
             
     | 
| 
      
 234 
     | 
    
         
            +
              def test_raises_ENOENT_trying_to_create_files_in_nonexistent_dir
         
     | 
| 
      
 235 
     | 
    
         
            +
                path = "/path/to/file.txt"
         
     | 
| 
      
 236 
     | 
    
         
            +
             
     | 
| 
      
 237 
     | 
    
         
            +
                assert_raises(Errno::ENOENT) {
         
     | 
| 
      
 238 
     | 
    
         
            +
                  File.open(path, 'w') do |f|
         
     | 
| 
      
 239 
     | 
    
         
            +
                    f.write "Yatta!"
         
     | 
| 
      
 240 
     | 
    
         
            +
                  end
         
     | 
| 
      
 241 
     | 
    
         
            +
                }
         
     | 
| 
      
 242 
     | 
    
         
            +
              end
         
     | 
| 
      
 243 
     | 
    
         
            +
             
     | 
| 
      
 244 
     | 
    
         
            +
              def test_raises_ENOENT_trying_to_create_files_in_relative_nonexistent_dir
         
     | 
| 
      
 245 
     | 
    
         
            +
                FileUtils.mkdir_p "/some/path"
         
     | 
| 
      
 246 
     | 
    
         
            +
             
     | 
| 
      
 247 
     | 
    
         
            +
                Dir.chdir("/some/path") {
         
     | 
| 
      
 248 
     | 
    
         
            +
                  assert_raises(Errno::ENOENT) {
         
     | 
| 
      
 249 
     | 
    
         
            +
                    File.open("../foo") {|f| f.write "moo" }
         
     | 
| 
      
 250 
     | 
    
         
            +
                  }
         
     | 
| 
      
 251 
     | 
    
         
            +
                }
         
     | 
| 
      
 252 
     | 
    
         
            +
              end
         
     | 
| 
      
 253 
     | 
    
         
            +
             
     | 
| 
      
 254 
     | 
    
         
            +
              def test_raises_ENOENT_trying_to_create_files_in_obscured_nonexistent_dir
         
     | 
| 
      
 255 
     | 
    
         
            +
                FileUtils.mkdir_p "/some/path"
         
     | 
| 
      
 256 
     | 
    
         
            +
             
     | 
| 
      
 257 
     | 
    
         
            +
                assert_raises(Errno::ENOENT) {
         
     | 
| 
      
 258 
     | 
    
         
            +
                  File.open("/some/path/../foo") {|f| f.write "moo" }
         
     | 
| 
      
 259 
     | 
    
         
            +
                }
         
     | 
| 
      
 260 
     | 
    
         
            +
              end
         
     | 
| 
      
 261 
     | 
    
         
            +
             
     | 
| 
      
 262 
     | 
    
         
            +
              def test_raises_ENOENT_trying_to_create_tilde_referenced_nonexistent_dir
         
     | 
| 
      
 263 
     | 
    
         
            +
                path = "~/fakefs_test_#{$$}_0000"
         
     | 
| 
      
 264 
     | 
    
         
            +
             
     | 
| 
      
 265 
     | 
    
         
            +
                while File.exist? path
         
     | 
| 
      
 266 
     | 
    
         
            +
                  path = path.succ
         
     | 
| 
      
 267 
     | 
    
         
            +
                end
         
     | 
| 
      
 268 
     | 
    
         
            +
             
     | 
| 
      
 269 
     | 
    
         
            +
                assert_raises(Errno::ENOENT) {
         
     | 
| 
      
 270 
     | 
    
         
            +
                  File.open("#{path}/foo") {|f| f.write "moo" }
         
     | 
| 
      
 271 
     | 
    
         
            +
                }
         
     | 
| 
      
 272 
     | 
    
         
            +
              end
         
     | 
| 
      
 273 
     | 
    
         
            +
             
     | 
| 
      
 274 
     | 
    
         
            +
              def test_raises_EISDIR_if_trying_to_open_existing_directory_name
         
     | 
| 
      
 275 
     | 
    
         
            +
                path = "/path/to"
         
     | 
| 
      
 276 
     | 
    
         
            +
             
     | 
| 
      
 277 
     | 
    
         
            +
                FileUtils.mkdir_p path
         
     | 
| 
      
 278 
     | 
    
         
            +
             
     | 
| 
      
 279 
     | 
    
         
            +
                assert_raises(Errno::EISDIR) {
         
     | 
| 
      
 280 
     | 
    
         
            +
                  File.open(path, 'w') do |f|
         
     | 
| 
      
 281 
     | 
    
         
            +
                    f.write "Yatta!"
         
     | 
| 
      
 282 
     | 
    
         
            +
                  end
         
     | 
| 
      
 283 
     | 
    
         
            +
                }
         
     | 
| 
      
 284 
     | 
    
         
            +
              end
         
     | 
| 
      
 285 
     | 
    
         
            +
             
     | 
| 
       161 
286 
     | 
    
         
             
              def test_can_create_files_with_bitmasks
         
     | 
| 
      
 287 
     | 
    
         
            +
                FileUtils.mkdir_p("/path/to")
         
     | 
| 
      
 288 
     | 
    
         
            +
             
     | 
| 
       162 
289 
     | 
    
         
             
                path = '/path/to/file.txt'
         
     | 
| 
       163 
290 
     | 
    
         
             
                File.open(path, File::RDWR | File::CREAT) do |f|
         
     | 
| 
       164 
291 
     | 
    
         
             
                  f.write "Yatta!"
         
     | 
| 
         @@ -277,7 +404,7 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       277 
404 
     | 
    
         
             
              end
         
     | 
| 
       278 
405 
     | 
    
         | 
| 
       279 
406 
     | 
    
         
             
              def test_can_read_files_once_written
         
     | 
| 
       280 
     | 
    
         
            -
                path = ' 
     | 
| 
      
 407 
     | 
    
         
            +
                path = 'file.txt'
         
     | 
| 
       281 
408 
     | 
    
         
             
                File.open(path, 'w') do |f|
         
     | 
| 
       282 
409 
     | 
    
         
             
                  f.write "Yatta!"
         
     | 
| 
       283 
410 
     | 
    
         
             
                end
         
     | 
| 
         @@ -286,7 +413,7 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       286 
413 
     | 
    
         
             
              end
         
     | 
| 
       287 
414 
     | 
    
         | 
| 
       288 
415 
     | 
    
         
             
              def test_can_write_to_files
         
     | 
| 
       289 
     | 
    
         
            -
                path = ' 
     | 
| 
      
 416 
     | 
    
         
            +
                path = 'file.txt'
         
     | 
| 
       290 
417 
     | 
    
         
             
                File.open(path, 'w') do |f|
         
     | 
| 
       291 
418 
     | 
    
         
             
                  f << 'Yada Yada'
         
     | 
| 
       292 
419 
     | 
    
         
             
                end
         
     | 
| 
         @@ -300,11 +427,12 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       300 
427 
     | 
    
         
             
              end
         
     | 
| 
       301 
428 
     | 
    
         | 
| 
       302 
429 
     | 
    
         
             
              def test_can_open_file_in_binary_mode
         
     | 
| 
       303 
     | 
    
         
            -
                File.open(" 
     | 
| 
       304 
     | 
    
         
            -
                assert_equal "a", File.read(" 
     | 
| 
      
 430 
     | 
    
         
            +
                File.open("foo", "wb") { |x| x << "a" }
         
     | 
| 
      
 431 
     | 
    
         
            +
                assert_equal "a", File.read("foo")
         
     | 
| 
       305 
432 
     | 
    
         
             
              end
         
     | 
| 
       306 
433 
     | 
    
         | 
| 
       307 
434 
     | 
    
         
             
              def test_can_chunk_io_when_reading
         
     | 
| 
      
 435 
     | 
    
         
            +
                FileUtils.mkdir_p "/path/to"
         
     | 
| 
       308 
436 
     | 
    
         
             
                path = '/path/to/file.txt'
         
     | 
| 
       309 
437 
     | 
    
         
             
                File.open(path, 'w') do |f|
         
     | 
| 
       310 
438 
     | 
    
         
             
                  f << 'Yada Yada'
         
     | 
| 
         @@ -318,7 +446,7 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       318 
446 
     | 
    
         
             
              end
         
     | 
| 
       319 
447 
     | 
    
         | 
| 
       320 
448 
     | 
    
         
             
              def test_can_get_size_of_files
         
     | 
| 
       321 
     | 
    
         
            -
                path = ' 
     | 
| 
      
 449 
     | 
    
         
            +
                path = 'file.txt'
         
     | 
| 
       322 
450 
     | 
    
         
             
                File.open(path, 'w') do |f|
         
     | 
| 
       323 
451 
     | 
    
         
             
                  f << 'Yada Yada'
         
     | 
| 
       324 
452 
     | 
    
         
             
                end
         
     | 
| 
         @@ -326,20 +454,20 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       326 
454 
     | 
    
         
             
              end
         
     | 
| 
       327 
455 
     | 
    
         | 
| 
       328 
456 
     | 
    
         
             
              def test_can_check_if_file_has_size?
         
     | 
| 
       329 
     | 
    
         
            -
                path = ' 
     | 
| 
      
 457 
     | 
    
         
            +
                path = 'file.txt'
         
     | 
| 
       330 
458 
     | 
    
         
             
                File.open(path, 'w') do |f|
         
     | 
| 
       331 
459 
     | 
    
         
             
                  f << 'Yada Yada'
         
     | 
| 
       332 
460 
     | 
    
         
             
                end
         
     | 
| 
       333 
461 
     | 
    
         
             
                assert File.size?(path)
         
     | 
| 
       334 
     | 
    
         
            -
                assert_nil File.size?(" 
     | 
| 
      
 462 
     | 
    
         
            +
                assert_nil File.size?("other.txt")
         
     | 
| 
       335 
463 
     | 
    
         
             
              end
         
     | 
| 
       336 
464 
     | 
    
         | 
| 
       337 
465 
     | 
    
         
             
              def test_can_check_size_of_empty_file
         
     | 
| 
       338 
     | 
    
         
            -
                path = ' 
     | 
| 
      
 466 
     | 
    
         
            +
                path = 'file.txt'
         
     | 
| 
       339 
467 
     | 
    
         
             
                File.open(path, 'w') do |f|
         
     | 
| 
       340 
468 
     | 
    
         
             
                  f << ''
         
     | 
| 
       341 
469 
     | 
    
         
             
                end
         
     | 
| 
       342 
     | 
    
         
            -
                assert_nil File.size?(" 
     | 
| 
      
 470 
     | 
    
         
            +
                assert_nil File.size?("file.txt")
         
     | 
| 
       343 
471 
     | 
    
         
             
              end
         
     | 
| 
       344 
472 
     | 
    
         | 
| 
       345 
473 
     | 
    
         
             
              def test_raises_error_on_mtime_if_file_does_not_exist
         
     | 
| 
         @@ -349,16 +477,16 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       349 
477 
     | 
    
         
             
              end
         
     | 
| 
       350 
478 
     | 
    
         | 
| 
       351 
479 
     | 
    
         
             
              def test_can_return_mtime_on_existing_file
         
     | 
| 
       352 
     | 
    
         
            -
                path = ' 
     | 
| 
      
 480 
     | 
    
         
            +
                path = 'file.txt'
         
     | 
| 
       353 
481 
     | 
    
         
             
                File.open(path, 'w') do |f|
         
     | 
| 
       354 
482 
     | 
    
         
             
                  f << ''
         
     | 
| 
       355 
483 
     | 
    
         
             
                end
         
     | 
| 
       356 
     | 
    
         
            -
                assert File.mtime(' 
     | 
| 
      
 484 
     | 
    
         
            +
                assert File.mtime('file.txt').is_a?(Time)
         
     | 
| 
       357 
485 
     | 
    
         
             
              end
         
     | 
| 
       358 
486 
     | 
    
         | 
| 
       359 
487 
     | 
    
         
             
              def test_raises_error_on_ctime_if_file_does_not_exist
         
     | 
| 
       360 
488 
     | 
    
         
             
                assert_raise Errno::ENOENT do
         
     | 
| 
       361 
     | 
    
         
            -
                  File.ctime(' 
     | 
| 
      
 489 
     | 
    
         
            +
                  File.ctime('file.txt')
         
     | 
| 
       362 
490 
     | 
    
         
             
                end
         
     | 
| 
       363 
491 
     | 
    
         
             
              end
         
     | 
| 
       364 
492 
     | 
    
         | 
| 
         @@ -418,16 +546,16 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       418 
546 
     | 
    
         | 
| 
       419 
547 
     | 
    
         
             
              def test_can_call_utime_on_an_existing_file
         
     | 
| 
       420 
548 
     | 
    
         
             
                time = Time.now - 300 # Not now
         
     | 
| 
       421 
     | 
    
         
            -
                path = ' 
     | 
| 
      
 549 
     | 
    
         
            +
                path = 'file.txt'
         
     | 
| 
       422 
550 
     | 
    
         
             
                File.open(path, 'w') do |f|
         
     | 
| 
       423 
551 
     | 
    
         
             
                  f << ''
         
     | 
| 
       424 
552 
     | 
    
         
             
                end
         
     | 
| 
       425 
553 
     | 
    
         
             
                File.utime(time, time, path)
         
     | 
| 
       426 
     | 
    
         
            -
                assert_equal time, File.mtime(' 
     | 
| 
      
 554 
     | 
    
         
            +
                assert_equal time, File.mtime('file.txt')
         
     | 
| 
       427 
555 
     | 
    
         
             
              end
         
     | 
| 
       428 
556 
     | 
    
         | 
| 
       429 
557 
     | 
    
         
             
              def test_utime_returns_number_of_paths
         
     | 
| 
       430 
     | 
    
         
            -
                path1, path2 = ' 
     | 
| 
      
 558 
     | 
    
         
            +
                path1, path2 = 'file.txt', 'another_file.txt'
         
     | 
| 
       431 
559 
     | 
    
         
             
                [path1, path2].each do |path|
         
     | 
| 
       432 
560 
     | 
    
         
             
                  File.open(path, 'w') do |f|
         
     | 
| 
       433 
561 
     | 
    
         
             
                    f << ''
         
     | 
| 
         @@ -437,7 +565,7 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       437 
565 
     | 
    
         
             
              end
         
     | 
| 
       438 
566 
     | 
    
         | 
| 
       439 
567 
     | 
    
         
             
              def test_can_read_with_File_readlines
         
     | 
| 
       440 
     | 
    
         
            -
                path = ' 
     | 
| 
      
 568 
     | 
    
         
            +
                path = 'file.txt'
         
     | 
| 
       441 
569 
     | 
    
         
             
                File.open(path, 'w') do |f|
         
     | 
| 
       442 
570 
     | 
    
         
             
                  f.puts "Yatta!", "Gatta!"
         
     | 
| 
       443 
571 
     | 
    
         
             
                  f.puts ["woot","toot"]
         
     | 
| 
         @@ -447,7 +575,7 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       447 
575 
     | 
    
         
             
              end
         
     | 
| 
       448 
576 
     | 
    
         | 
| 
       449 
577 
     | 
    
         
             
              def test_File_close_disallows_further_access
         
     | 
| 
       450 
     | 
    
         
            -
                path = ' 
     | 
| 
      
 578 
     | 
    
         
            +
                path = 'file.txt'
         
     | 
| 
       451 
579 
     | 
    
         
             
                file = File.open(path, 'w')
         
     | 
| 
       452 
580 
     | 
    
         
             
                file.write 'Yada'
         
     | 
| 
       453 
581 
     | 
    
         
             
                file.close
         
     | 
| 
         @@ -457,7 +585,7 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       457 
585 
     | 
    
         
             
              end
         
     | 
| 
       458 
586 
     | 
    
         | 
| 
       459 
587 
     | 
    
         
             
              def test_File_close_disallows_further_writes
         
     | 
| 
       460 
     | 
    
         
            -
                path = ' 
     | 
| 
      
 588 
     | 
    
         
            +
                path = 'file.txt'
         
     | 
| 
       461 
589 
     | 
    
         
             
                file = File.open(path, 'w')
         
     | 
| 
       462 
590 
     | 
    
         
             
                file.write 'Yada'
         
     | 
| 
       463 
591 
     | 
    
         
             
                file.close
         
     | 
| 
         @@ -467,7 +595,7 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       467 
595 
     | 
    
         
             
              end
         
     | 
| 
       468 
596 
     | 
    
         | 
| 
       469 
597 
     | 
    
         
             
              def test_can_read_from_file_objects
         
     | 
| 
       470 
     | 
    
         
            -
                path = ' 
     | 
| 
      
 598 
     | 
    
         
            +
                path = 'file.txt'
         
     | 
| 
       471 
599 
     | 
    
         
             
                File.open(path, 'w') do |f|
         
     | 
| 
       472 
600 
     | 
    
         
             
                  f.write "Yatta!"
         
     | 
| 
       473 
601 
     | 
    
         
             
                end
         
     | 
| 
         @@ -482,7 +610,7 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       482 
610 
     | 
    
         
             
              end
         
     | 
| 
       483 
611 
     | 
    
         | 
| 
       484 
612 
     | 
    
         
             
              def test_knows_files_are_files
         
     | 
| 
       485 
     | 
    
         
            -
                path = ' 
     | 
| 
      
 613 
     | 
    
         
            +
                path = 'file.txt'
         
     | 
| 
       486 
614 
     | 
    
         
             
                File.open(path, 'w') do |f|
         
     | 
| 
       487 
615 
     | 
    
         
             
                  f.write "Yatta!"
         
     | 
| 
       488 
616 
     | 
    
         
             
                end
         
     | 
| 
         @@ -491,17 +619,17 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       491 
619 
     | 
    
         
             
              end
         
     | 
| 
       492 
620 
     | 
    
         | 
| 
       493 
621 
     | 
    
         
             
              def test_File_io_returns_self
         
     | 
| 
       494 
     | 
    
         
            -
                f = File.open(" 
     | 
| 
      
 622 
     | 
    
         
            +
                f = File.open("foo", "w")
         
     | 
| 
       495 
623 
     | 
    
         
             
                assert_equal f, f.to_io
         
     | 
| 
       496 
624 
     | 
    
         
             
              end
         
     | 
| 
       497 
625 
     | 
    
         | 
| 
       498 
626 
     | 
    
         
             
              def test_File_to_i_is_alias_for_filno
         
     | 
| 
       499 
     | 
    
         
            -
                f = File.open(" 
     | 
| 
      
 627 
     | 
    
         
            +
                f = File.open("foo", "w")
         
     | 
| 
       500 
628 
     | 
    
         
             
                assert_equal f.method(:to_i), f.method(:fileno)
         
     | 
| 
       501 
629 
     | 
    
         
             
              end
         
     | 
| 
       502 
630 
     | 
    
         | 
| 
       503 
631 
     | 
    
         
             
              def test_knows_symlink_files_are_files
         
     | 
| 
       504 
     | 
    
         
            -
                path = ' 
     | 
| 
      
 632 
     | 
    
         
            +
                path = 'file.txt'
         
     | 
| 
       505 
633 
     | 
    
         
             
                File.open(path, 'w') do |f|
         
     | 
| 
       506 
634 
     | 
    
         
             
                  f.write "Yatta!"
         
     | 
| 
       507 
635 
     | 
    
         
             
                end
         
     | 
| 
         @@ -573,16 +701,21 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       573 
701 
     | 
    
         
             
                FileUtils.cp_r '/path', '/otherpath'
         
     | 
| 
       574 
702 
     | 
    
         | 
| 
       575 
703 
     | 
    
         
             
                assert_equal %w( /otherpath/foo /otherpath/foobar /path/foo /path/foobar ), Dir['/*/foo*']
         
     | 
| 
      
 704 
     | 
    
         
            +
             
     | 
| 
      
 705 
     | 
    
         
            +
                assert_equal ['/path/bar', '/path/foo'], Dir['/path/{foo,bar}']
         
     | 
| 
      
 706 
     | 
    
         
            +
             
     | 
| 
      
 707 
     | 
    
         
            +
                assert_equal ['/path/bar', '/path/bar2'], Dir['/path/bar{2,}']
         
     | 
| 
       576 
708 
     | 
    
         
             
              end
         
     | 
| 
       577 
709 
     | 
    
         | 
| 
       578 
710 
     | 
    
         
             
              def test_dir_glob_handles_root
         
     | 
| 
       579 
711 
     | 
    
         
             
                FileUtils.mkdir_p '/path'
         
     | 
| 
       580 
712 
     | 
    
         | 
| 
       581 
713 
     | 
    
         
             
                # this fails. the root dir should be named '/' but it is '.'
         
     | 
| 
       582 
     | 
    
         
            -
                 
     | 
| 
      
 714 
     | 
    
         
            +
                assert_equal ['/'], Dir['/']
         
     | 
| 
       583 
715 
     | 
    
         
             
              end
         
     | 
| 
       584 
716 
     | 
    
         | 
| 
       585 
717 
     | 
    
         
             
              def test_dir_glob_handles_recursive_globs
         
     | 
| 
      
 718 
     | 
    
         
            +
                FileUtils.mkdir_p "/one/two/three"
         
     | 
| 
       586 
719 
     | 
    
         
             
                File.open('/one/two/three/four.rb', 'w')
         
     | 
| 
       587 
720 
     | 
    
         
             
                File.open('/one/five.rb', 'w')
         
     | 
| 
       588 
721 
     | 
    
         
             
                assert_equal ['/one/five.rb', '/one/two/three/four.rb'], Dir['/one/**/*.rb']
         
     | 
| 
         @@ -591,6 +724,7 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       591 
724 
     | 
    
         
             
              end
         
     | 
| 
       592 
725 
     | 
    
         | 
| 
       593 
726 
     | 
    
         
             
              def test_dir_recursive_glob_ending_in_wildcards_returns_both_files_and_dirs
         
     | 
| 
      
 727 
     | 
    
         
            +
                FileUtils.mkdir_p "/one/two/three"
         
     | 
| 
       594 
728 
     | 
    
         
             
                File.open('/one/two/three/four.rb', 'w')
         
     | 
| 
       595 
729 
     | 
    
         
             
                File.open('/one/five.rb', 'w')
         
     | 
| 
       596 
730 
     | 
    
         
             
                assert_equal ['/one/five.rb', '/one/two', '/one/two/three', '/one/two/three/four.rb'], Dir['/one/**/*']
         
     | 
| 
         @@ -608,7 +742,7 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       608 
742 
     | 
    
         
             
              end
         
     | 
| 
       609 
743 
     | 
    
         | 
| 
       610 
744 
     | 
    
         
             
              def test_should_report_pos_as_0_when_opening
         
     | 
| 
       611 
     | 
    
         
            -
                File.open(" 
     | 
| 
      
 745 
     | 
    
         
            +
                File.open("foo", "w") do |f|
         
     | 
| 
       612 
746 
     | 
    
         
             
                  f << "foobar"
         
     | 
| 
       613 
747 
     | 
    
         
             
                  f.rewind
         
     | 
| 
       614 
748 
     | 
    
         | 
| 
         @@ -617,7 +751,7 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       617 
751 
     | 
    
         
             
              end
         
     | 
| 
       618 
752 
     | 
    
         | 
| 
       619 
753 
     | 
    
         
             
              def test_should_report_pos_as_1_when_seeking_one_char
         
     | 
| 
       620 
     | 
    
         
            -
                File.open(" 
     | 
| 
      
 754 
     | 
    
         
            +
                File.open("foo", "w") do |f|
         
     | 
| 
       621 
755 
     | 
    
         
             
                  f << "foobar"
         
     | 
| 
       622 
756 
     | 
    
         | 
| 
       623 
757 
     | 
    
         
             
                  f.rewind
         
     | 
| 
         @@ -628,22 +762,22 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       628 
762 
     | 
    
         
             
              end
         
     | 
| 
       629 
763 
     | 
    
         | 
| 
       630 
764 
     | 
    
         
             
              def test_should_set_pos
         
     | 
| 
       631 
     | 
    
         
            -
                File.open(" 
     | 
| 
      
 765 
     | 
    
         
            +
                File.open("foo", "w") do |f|
         
     | 
| 
       632 
766 
     | 
    
         
             
                  f << "foo"
         
     | 
| 
       633 
767 
     | 
    
         
             
                end
         
     | 
| 
       634 
768 
     | 
    
         | 
| 
       635 
     | 
    
         
            -
                fp = File.open(" 
     | 
| 
      
 769 
     | 
    
         
            +
                fp = File.open("foo", "r")
         
     | 
| 
       636 
770 
     | 
    
         
             
                fp.pos = 1
         
     | 
| 
       637 
771 
     | 
    
         | 
| 
       638 
772 
     | 
    
         
             
                assert_equal 1, fp.pos
         
     | 
| 
       639 
773 
     | 
    
         
             
              end
         
     | 
| 
       640 
774 
     | 
    
         | 
| 
       641 
775 
     | 
    
         
             
              def test_should_set_pos_with_tell_method
         
     | 
| 
       642 
     | 
    
         
            -
                File.open(" 
     | 
| 
      
 776 
     | 
    
         
            +
                File.open("foo", "w") do |f|
         
     | 
| 
       643 
777 
     | 
    
         
             
                  f << "foo"
         
     | 
| 
       644 
778 
     | 
    
         
             
                end
         
     | 
| 
       645 
779 
     | 
    
         | 
| 
       646 
     | 
    
         
            -
                fp = File.open(" 
     | 
| 
      
 780 
     | 
    
         
            +
                fp = File.open("foo", "r")
         
     | 
| 
       647 
781 
     | 
    
         
             
                fp.tell = 1
         
     | 
| 
       648 
782 
     | 
    
         | 
| 
       649 
783 
     | 
    
         
             
                assert_equal 1, fp.pos
         
     | 
| 
         @@ -673,14 +807,14 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       673 
807 
     | 
    
         
             
              def test_chdir_changes_directories_like_a_boss
         
     | 
| 
       674 
808 
     | 
    
         
             
                # I know memes!
         
     | 
| 
       675 
809 
     | 
    
         
             
                FileUtils.mkdir_p '/path'
         
     | 
| 
       676 
     | 
    
         
            -
                assert_equal ' 
     | 
| 
      
 810 
     | 
    
         
            +
                assert_equal '/', FileSystem.fs.name
         
     | 
| 
       677 
811 
     | 
    
         
             
                assert_equal({}, FileSystem.fs['path'])
         
     | 
| 
       678 
812 
     | 
    
         
             
                Dir.chdir '/path' do
         
     | 
| 
       679 
813 
     | 
    
         
             
                  File.open('foo', 'w') { |f| f.write 'foo'}
         
     | 
| 
       680 
814 
     | 
    
         
             
                  File.open('foobar', 'w') { |f| f.write 'foo'}
         
     | 
| 
       681 
815 
     | 
    
         
             
                end
         
     | 
| 
       682 
816 
     | 
    
         | 
| 
       683 
     | 
    
         
            -
                assert_equal ' 
     | 
| 
      
 817 
     | 
    
         
            +
                assert_equal '/', FileSystem.fs.name
         
     | 
| 
       684 
818 
     | 
    
         
             
                assert_equal(['foo', 'foobar'], FileSystem.fs['path'].keys.sort)
         
     | 
| 
       685 
819 
     | 
    
         | 
| 
       686 
820 
     | 
    
         
             
                c = nil
         
     | 
| 
         @@ -1211,11 +1345,17 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       1211 
1345 
     | 
    
         
             
                  FileUtils.touch("/this/path/should/be/here/#{f}")
         
     | 
| 
       1212 
1346 
     | 
    
         
             
                end
         
     | 
| 
       1213 
1347 
     | 
    
         | 
| 
       1214 
     | 
    
         
            -
                assert_raises( 
     | 
| 
      
 1348 
     | 
    
         
            +
                assert_raises(Errno::ENOTEMPTY) do
         
     | 
| 
       1215 
1349 
     | 
    
         
             
                  Dir.delete('/this/path/should/be/here')
         
     | 
| 
       1216 
1350 
     | 
    
         
             
                end
         
     | 
| 
       1217 
1351 
     | 
    
         
             
              end
         
     | 
| 
       1218 
1352 
     | 
    
         | 
| 
      
 1353 
     | 
    
         
            +
              def test_directory_class_delete_does_not_work_if_dir_path_cannot_be_found
         
     | 
| 
      
 1354 
     | 
    
         
            +
                assert_raises(Errno::ENOENT) do
         
     | 
| 
      
 1355 
     | 
    
         
            +
                  Dir.delete('/this/path/should/not/be/here')
         
     | 
| 
      
 1356 
     | 
    
         
            +
                end
         
     | 
| 
      
 1357 
     | 
    
         
            +
              end
         
     | 
| 
      
 1358 
     | 
    
         
            +
             
     | 
| 
       1219 
1359 
     | 
    
         
             
              def test_directory_entries
         
     | 
| 
       1220 
1360 
     | 
    
         
             
                test = ['.', '..', 'file_1', 'file_2', 'file_3', 'file_4', 'file_5' ]
         
     | 
| 
       1221 
1361 
     | 
    
         | 
| 
         @@ -1244,6 +1384,12 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       1244 
1384 
     | 
    
         
             
                test.each { |t| assert yielded.include?(t) }
         
     | 
| 
       1245 
1385 
     | 
    
         
             
              end
         
     | 
| 
       1246 
1386 
     | 
    
         | 
| 
      
 1387 
     | 
    
         
            +
              def test_directory_entries_does_not_work_if_dir_path_cannot_be_found
         
     | 
| 
      
 1388 
     | 
    
         
            +
                assert_raises(Errno::ENOENT) do
         
     | 
| 
      
 1389 
     | 
    
         
            +
                  Dir.delete('/this/path/should/not/be/here')
         
     | 
| 
      
 1390 
     | 
    
         
            +
                end
         
     | 
| 
      
 1391 
     | 
    
         
            +
              end
         
     | 
| 
      
 1392 
     | 
    
         
            +
             
     | 
| 
       1247 
1393 
     | 
    
         
             
              def test_directory_foreach
         
     | 
| 
       1248 
1394 
     | 
    
         
             
                test = ['.', '..', 'file_1', 'file_2', 'file_3', 'file_4', 'file_5' ]
         
     | 
| 
       1249 
1395 
     | 
    
         | 
| 
         @@ -1468,14 +1614,6 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       1468 
1614 
     | 
    
         
             
                end
         
     | 
| 
       1469 
1615 
     | 
    
         
             
              end
         
     | 
| 
       1470 
1616 
     | 
    
         | 
| 
       1471 
     | 
    
         
            -
              def test_delete_does_not_raise_error_when_second_file_does_not_exist
         
     | 
| 
       1472 
     | 
    
         
            -
                FileUtils.touch("/foo")
         
     | 
| 
       1473 
     | 
    
         
            -
             
     | 
| 
       1474 
     | 
    
         
            -
                assert_nothing_raised do
         
     | 
| 
       1475 
     | 
    
         
            -
                  File.delete("/foo", "/bar")
         
     | 
| 
       1476 
     | 
    
         
            -
                end
         
     | 
| 
       1477 
     | 
    
         
            -
              end
         
     | 
| 
       1478 
     | 
    
         
            -
             
     | 
| 
       1479 
1617 
     | 
    
         
             
              def test_unlink_is_alias_for_delete
         
     | 
| 
       1480 
1618 
     | 
    
         
             
                assert_equal File.method(:unlink), File.method(:delete)
         
     | 
| 
       1481 
1619 
     | 
    
         
             
              end
         
     | 
| 
         @@ -1584,6 +1722,20 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       1584 
1722 
     | 
    
         
             
                assert !FileTest.directory?('/path/to/somedir')
         
     | 
| 
       1585 
1723 
     | 
    
         
             
              end
         
     | 
| 
       1586 
1724 
     | 
    
         | 
| 
      
 1725 
     | 
    
         
            +
              def test_filetest_file_returns_correct_values
         
     | 
| 
      
 1726 
     | 
    
         
            +
                FileUtils.mkdir_p("/path/to")
         
     | 
| 
      
 1727 
     | 
    
         
            +
             
     | 
| 
      
 1728 
     | 
    
         
            +
                path = '/path/to/file.txt'
         
     | 
| 
      
 1729 
     | 
    
         
            +
                File.open(path, 'w') { |f| f.write "Yatta!" }
         
     | 
| 
      
 1730 
     | 
    
         
            +
                assert FileTest.file?(path)
         
     | 
| 
      
 1731 
     | 
    
         
            +
             
     | 
| 
      
 1732 
     | 
    
         
            +
                FileUtils.rm path
         
     | 
| 
      
 1733 
     | 
    
         
            +
                assert !FileTest.file?(path)
         
     | 
| 
      
 1734 
     | 
    
         
            +
             
     | 
| 
      
 1735 
     | 
    
         
            +
                FileUtils.mkdir_p '/path/to/somedir'
         
     | 
| 
      
 1736 
     | 
    
         
            +
                assert !FileTest.file?('/path/to/somedir')
         
     | 
| 
      
 1737 
     | 
    
         
            +
              end
         
     | 
| 
      
 1738 
     | 
    
         
            +
             
     | 
| 
       1587 
1739 
     | 
    
         
             
              def test_pathname_exists_returns_correct_value
         
     | 
| 
       1588 
1740 
     | 
    
         
             
                FileUtils.touch "foo"
         
     | 
| 
       1589 
1741 
     | 
    
         
             
                assert Pathname.new("foo").exist?
         
     | 
| 
         @@ -1651,5 +1803,11 @@ class FakeFSTest < Test::Unit::TestCase 
     | 
|
| 
       1651 
1803 
     | 
    
         
             
                    assert_equal false, f.autoclose?
         
     | 
| 
       1652 
1804 
     | 
    
         
             
                  end
         
     | 
| 
       1653 
1805 
     | 
    
         
             
                end
         
     | 
| 
      
 1806 
     | 
    
         
            +
             
     | 
| 
      
 1807 
     | 
    
         
            +
                def test_to_path
         
     | 
| 
      
 1808 
     | 
    
         
            +
                  File.new("foo", 'w') do |f|
         
     | 
| 
      
 1809 
     | 
    
         
            +
                    assert_equal "foo", f.to_path
         
     | 
| 
      
 1810 
     | 
    
         
            +
                  end
         
     | 
| 
      
 1811 
     | 
    
         
            +
                end
         
     | 
| 
       1654 
1812 
     | 
    
         
             
              end
         
     | 
| 
       1655 
1813 
     | 
    
         
             
            end
         
     | 
    
        data/test/safe_test.rb
    CHANGED
    
    
    
        data/test/verify.rb
    CHANGED
    
    | 
         @@ -24,7 +24,7 @@ class FakeFSVerifierTest < Test::Unit::TestCase 
     | 
|
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
                real_class.instance_methods.each do |method|
         
     | 
| 
       26 
26 
     | 
    
         
             
                  define_method("test #{method} instance method") do
         
     | 
| 
       27 
     | 
    
         
            -
                    assert fake_class.instance_methods.include?(method), "#{fake_class}##{ 
     | 
| 
      
 27 
     | 
    
         
            +
                    assert fake_class.instance_methods.include?(method), "#{fake_class}##{method} not implemented"
         
     | 
| 
       28 
28 
     | 
    
         
             
                  end
         
     | 
| 
       29 
29 
     | 
    
         
             
                end
         
     | 
| 
       30 
30 
     | 
    
         
             
              end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -2,7 +2,7 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            name: fakefs
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
4 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       5 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 5 
     | 
    
         
            +
              version: 0.4.0
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors: 
         
     | 
| 
       8 
8 
     | 
    
         
             
            - Chris Wanstrath
         
     | 
| 
         @@ -13,7 +13,7 @@ autorequire: 
     | 
|
| 
       13 
13 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       14 
14 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
     | 
    
         
            -
            date: 2011-05 
     | 
| 
      
 16 
     | 
    
         
            +
            date: 2011-09-05 00:00:00 -04:00
         
     | 
| 
       17 
17 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       18 
18 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       19 
19 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -74,7 +74,6 @@ files: 
     | 
|
| 
       74 
74 
     | 
    
         
             
            - .rspec
         
     | 
| 
       75 
75 
     | 
    
         
             
            - CONTRIBUTORS
         
     | 
| 
       76 
76 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       77 
     | 
    
         
            -
            - Gemfile.lock
         
     | 
| 
       78 
77 
     | 
    
         
             
            - LICENSE
         
     | 
| 
       79 
78 
     | 
    
         
             
            - README.markdown
         
     | 
| 
       80 
79 
     | 
    
         
             
            - Rakefile
         
     | 
    
        data/Gemfile.lock
    DELETED
    
    | 
         @@ -1,35 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            GEM
         
     | 
| 
       2 
     | 
    
         
            -
              remote: http://rubygems.org/
         
     | 
| 
       3 
     | 
    
         
            -
              specs:
         
     | 
| 
       4 
     | 
    
         
            -
                diff-lcs (1.1.2)
         
     | 
| 
       5 
     | 
    
         
            -
                git (1.2.5)
         
     | 
| 
       6 
     | 
    
         
            -
                jeweler (1.6.0)
         
     | 
| 
       7 
     | 
    
         
            -
                  bundler (~> 1.0.0)
         
     | 
| 
       8 
     | 
    
         
            -
                  git (>= 1.2.5)
         
     | 
| 
       9 
     | 
    
         
            -
                  rake
         
     | 
| 
       10 
     | 
    
         
            -
                json (1.5.1)
         
     | 
| 
       11 
     | 
    
         
            -
                rake (0.8.7)
         
     | 
| 
       12 
     | 
    
         
            -
                rdiscount (1.6.8)
         
     | 
| 
       13 
     | 
    
         
            -
                rdoc (2.4.3)
         
     | 
| 
       14 
     | 
    
         
            -
                rspec (2.5.0)
         
     | 
| 
       15 
     | 
    
         
            -
                  rspec-core (~> 2.5.0)
         
     | 
| 
       16 
     | 
    
         
            -
                  rspec-expectations (~> 2.5.0)
         
     | 
| 
       17 
     | 
    
         
            -
                  rspec-mocks (~> 2.5.0)
         
     | 
| 
       18 
     | 
    
         
            -
                rspec-core (2.5.1)
         
     | 
| 
       19 
     | 
    
         
            -
                rspec-expectations (2.5.0)
         
     | 
| 
       20 
     | 
    
         
            -
                  diff-lcs (~> 1.1.2)
         
     | 
| 
       21 
     | 
    
         
            -
                rspec-mocks (2.5.0)
         
     | 
| 
       22 
     | 
    
         
            -
                sdoc (0.2.20)
         
     | 
| 
       23 
     | 
    
         
            -
                  json (>= 1.1.3)
         
     | 
| 
       24 
     | 
    
         
            -
                  rdoc (= 2.4.3)
         
     | 
| 
       25 
     | 
    
         
            -
                sdoc-helpers (0.1.4)
         
     | 
| 
       26 
     | 
    
         
            -
                  sdoc (~> 0.2)
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
            PLATFORMS
         
     | 
| 
       29 
     | 
    
         
            -
              ruby
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
            DEPENDENCIES
         
     | 
| 
       32 
     | 
    
         
            -
              jeweler
         
     | 
| 
       33 
     | 
    
         
            -
              rdiscount
         
     | 
| 
       34 
     | 
    
         
            -
              rspec
         
     | 
| 
       35 
     | 
    
         
            -
              sdoc-helpers
         
     |