pathname-common_prefix 0.0.1

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.
@@ -0,0 +1,81 @@
1
+ require 'test/unit'
2
+ require_relative '../lib/pathname/common_prefix'
3
+
4
+ class CommonPrefixTest < Test::Unit::TestCase
5
+ def test_returns_common_prefix
6
+ paths = %w[
7
+ /full/path/to/somewhere
8
+ /full/path/to/anywhere
9
+ /full/path/to/nowhere
10
+ /full/path/to/somewhere/else
11
+ ].map {|path| Pathname(path)}
12
+ assert_equal Pathname('/full/path/to'), Pathname.common_prefix(*paths)
13
+
14
+ paths = %w[
15
+ /full/path/to/somewhere
16
+ /full/path
17
+ /full/path/to/nowhere
18
+ /full/path/to/somewhere/else
19
+ ].map {|path| Pathname(path)}
20
+ assert_equal Pathname('/full/path'), Pathname.common_prefix(*paths)
21
+
22
+ paths = %w[
23
+ /full/path/to/somewhere
24
+ /full/path
25
+ /full/path/to/nowhere
26
+ /full
27
+ ].map {|path| Pathname(path)}
28
+ assert_equal Pathname('/full'), Pathname.common_prefix(*paths)
29
+ end
30
+
31
+ def test_returns_common_prefix_with_String
32
+ paths = %w[
33
+ /full/path/to/somewhere
34
+ /full/path/to/anywhere
35
+ /full/path/to/nowhere
36
+ /full/path/to/somewhere/else
37
+ ]
38
+ assert_equal Pathname('/full/path/to'), Pathname.common_prefix(*paths)
39
+ end
40
+
41
+ def test_returns_nil_when_no_common_prefix
42
+ paths = %w[
43
+ /absolute/path
44
+ relative/path
45
+ ].map {|path| Pathname(path)}
46
+ assert_nil Pathname.common_prefix(*paths)
47
+ end
48
+
49
+ def test_returns_nil_when_empty_array_passed
50
+ assert_nil Pathname.common_prefix(*[])
51
+ end
52
+
53
+ def test_returns_nil_when_no_argument_passed
54
+ assert_nil Pathname.common_prefix
55
+ end
56
+
57
+ def test_accept_array_of_pathnames_and_or_path_strings
58
+ paths = %[
59
+ /path/to/file
60
+ Pathname(/path/to/another/file)
61
+ ]
62
+ assert_nothing_raised do
63
+ Pathname.common_prefix paths
64
+ end
65
+ end
66
+
67
+ def test_flatten_argument
68
+ paths = [
69
+ '/path/to/file',
70
+ '/path/to/other/file',
71
+ ['/path/to/another/file', '/path/to/some/file/s']
72
+ ]
73
+ assert_equal Pathname.common_prefix(*paths), Pathname.common_prefix(paths)
74
+ end
75
+
76
+ def test_returns_start_with
77
+ assert_same true, Pathname('/full/path/to/somewhere').start_with?('/full/path/to')
78
+ assert_same true, Pathname('/full/path/to/somewhere').start_with?('/')
79
+ assert_same false, Pathname('/full/path/to/somewhere').start_with?('/path/to')
80
+ end
81
+ end
metadata ADDED
@@ -0,0 +1,55 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pathname-common_prefix
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - KITAITI Makoto
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-09-30 00:00:00.000000000Z
13
+ dependencies: []
14
+ description: This file provides `Pathname.common_prefix` and `Pathname#common_prefix`
15
+ which calcurate the common prefix in the passed paths.
16
+ email:
17
+ - KitaitiMakoto@gmail.com
18
+ executables:
19
+ - common-prefix
20
+ extensions: []
21
+ extra_rdoc_files: []
22
+ files:
23
+ - lib/pathname/common_prefix.rb
24
+ - test/test_common_prefix.rb
25
+ - bin/common-prefix
26
+ - README.markdown
27
+ - Rakefile
28
+ - setup.rb
29
+ - pathname-common_prefix.gemspec
30
+ homepage: https://github.com/KitaitiMakoto/pathname-common_prefix
31
+ licenses: []
32
+ post_install_message:
33
+ rdoc_options: []
34
+ require_paths:
35
+ - lib
36
+ required_ruby_version: !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ required_rubygems_version: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ requirements: []
49
+ rubyforge_project:
50
+ rubygems_version: 1.8.8
51
+ signing_key:
52
+ specification_version: 3
53
+ summary: Calcurate prefix commont to some pathnames
54
+ test_files:
55
+ - test/test_common_prefix.rb