Sha256: 1863dbff063f6b4c9c446c9ab0238a6a7ab334c20dc0d2779f8963d8e5207776

Contents?: true

Size: 1.99 KB

Versions: 24

Compression:

Stored size: 1.99 KB

Contents

require File.dirname(__FILE__) + "/../../test_helper"

unit_tests do
  test "should strip off directories until file exists in base path" do
    resolver = DeepTest::Distributed::FilenameResolver.new("base_path")

    File.expects(:exist?).with("base_path/a/b/c/d.rb").returns(false)
    File.expects(:exist?).with("base_path/b/c/d.rb").returns(false)
    File.expects(:exist?).with("base_path/c/d.rb").returns(true)

    assert_equal "base_path/c/d.rb", resolver.resolve("/a/b/c/d.rb")
  end

  test "should resolve relative names starting at first element" do
    resolver = DeepTest::Distributed::FilenameResolver.new("base_path")

    File.expects(:exist?).with("base_path/a/b/c/d.rb").returns(true)

    assert_equal "base_path/a/b/c/d.rb", resolver.resolve("a/b/c/d.rb")
  end

  test "should resolve relative names the same each time" do
    resolver = DeepTest::Distributed::FilenameResolver.new("base_path")

    File.expects(:exist?).with("base_path/a/b/c/d.rb").returns(true)

    assert_equal "base_path/a/b/c/d.rb", resolver.resolve("a/b/c/d.rb")
    assert_equal "base_path/a/b/c/d.rb", resolver.resolve("a/b/c/d.rb")
  end

  test "should raise exception if filename can't be resolved" do
    resolver = DeepTest::Distributed::FilenameResolver.new("base_path")

    File.expects(:exist?).with("base_path/a/b/c/d.rb").returns(false)
    File.expects(:exist?).with("base_path/b/c/d.rb").returns(false)
    File.expects(:exist?).with("base_path/c/d.rb").returns(false)
    File.expects(:exist?).with("base_path/d.rb").returns(false)

    assert_raises(RuntimeError) { resolver.resolve("/a/b/c/d.rb") }
  end

  test "should remember how many directories to strip off after first resolution" do
    resolver = DeepTest::Distributed::FilenameResolver.new("base_path")

    File.expects(:exist?).with("base_path/a/b/c/d.rb").returns(false)
    File.expects(:exist?).with("base_path/b/c/d.rb").returns(true)
    
    resolver.resolve("/a/b/c/d.rb")

    assert_equal "base_path/x/y/z.rb", resolver.resolve("/a/x/y/z.rb")
  end
end

Version data entries

24 entries across 24 versions & 4 rubygems

Version Path
jason-o-matic-deep_test-1.2.2.1 test/deep_test/distributed/filename_resolver_test.rb
jason-o-matic-deep_test-1.2.2.10 test/deep_test/distributed/filename_resolver_test.rb
jason-o-matic-deep_test-1.2.2.11 test/deep_test/distributed/filename_resolver_test.rb
jason-o-matic-deep_test-1.2.2.12 test/deep_test/distributed/filename_resolver_test.rb
jason-o-matic-deep_test-1.2.2.13 test/deep_test/distributed/filename_resolver_test.rb
jason-o-matic-deep_test-1.2.2.14 test/deep_test/distributed/filename_resolver_test.rb
jason-o-matic-deep_test-1.2.2.2 test/deep_test/distributed/filename_resolver_test.rb
jason-o-matic-deep_test-1.2.2.3 test/deep_test/distributed/filename_resolver_test.rb
jason-o-matic-deep_test-1.2.2.4 test/deep_test/distributed/filename_resolver_test.rb
jason-o-matic-deep_test-1.2.2.5 test/deep_test/distributed/filename_resolver_test.rb
jason-o-matic-deep_test-1.2.2.6 test/deep_test/distributed/filename_resolver_test.rb
jason-o-matic-deep_test-1.2.2.7 test/deep_test/distributed/filename_resolver_test.rb
jason-o-matic-deep_test-1.2.2.8 test/deep_test/distributed/filename_resolver_test.rb
jason-o-matic-deep_test-1.2.2.9 test/deep_test/distributed/filename_resolver_test.rb
jperkins-deep_test-1.2.2 test/deep_test/distributed/filename_resolver_test.rb
jason-o-matic-deep_test-1.2.2.15 test/deep_test/distributed/filename_resolver_test.rb
jstorimer-deep-test-1.4.0 test/deep_test/distributed/filename_resolver_test.rb
jstorimer-deep-test-1.3.0 test/deep_test/distributed/filename_resolver_test.rb
jstorimer-deep-test-1.2.0 test/deep_test/distributed/filename_resolver_test.rb
jstorimer-deep-test-1.1.0 test/deep_test/distributed/filename_resolver_test.rb