gitattributes 2.2.0 → 2.3.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.
- checksums.yaml +4 -4
- data/gitattributes.gemspec +1 -1
- data/lib/reality/git/attribute_rule.rb +2 -2
- data/test/reality/git/test_attribute_rule.rb +10 -0
- data/test/reality/git/test_attributes.rb +14 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f126e35bb048a9aa68b62eba4593cc7a040aa0ec
|
4
|
+
data.tar.gz: 240a38cf94ba4d0797bfa5080c4a9cfc652c6e18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 117bc70ee90fb3158d36300516a8e6a8d3d1a6e30dd136de484e90c3f190f1cf3ee8a0039d4239ec02d70461e46a9d41f09980155cfa100aa8eaf67eb3b668f1
|
7
|
+
data.tar.gz: ae70b802be7c8a80edb5092606c75e394e1a6c9637404ea2e9ca2cd583c57ac6b8f1e54b5b78c4f87e1e743f93a771cc6c98a42785ebee6d5af444bab565d8a6
|
data/gitattributes.gemspec
CHANGED
@@ -19,7 +19,7 @@ module Reality #nodoc
|
|
19
19
|
ATTR_ORDER = %w(text binary eol encoding eofnl)
|
20
20
|
|
21
21
|
def initialize(pattern, attributes)
|
22
|
-
@pattern = pattern
|
22
|
+
@pattern = pattern.gsub('[[:space:]]', ' ')
|
23
23
|
@attributes = {}
|
24
24
|
@priority = 1
|
25
25
|
attributes.each do |k, v|
|
@@ -36,7 +36,7 @@ module Reality #nodoc
|
|
36
36
|
attr_reader :priority
|
37
37
|
|
38
38
|
def to_s
|
39
|
-
rule = self.pattern
|
39
|
+
rule = self.pattern.gsub(' ','[[:space:]]')
|
40
40
|
|
41
41
|
attributes = self.attributes.dup
|
42
42
|
ATTR_ORDER.each do |key|
|
@@ -18,6 +18,7 @@ class Reality::Git::TestAttributeRule < Reality::TestCase
|
|
18
18
|
def test_basic_operation
|
19
19
|
rule = Reality::Git::AttributeRule.new('*', 'text' => false)
|
20
20
|
assert_equal({ 'text' => false }, rule.attributes)
|
21
|
+
assert_equal('*', rule.pattern)
|
21
22
|
assert_equal('* -text', rule.to_s)
|
22
23
|
assert_equal(1, rule.priority)
|
23
24
|
end
|
@@ -26,15 +27,24 @@ class Reality::Git::TestAttributeRule < Reality::TestCase
|
|
26
27
|
rule = Reality::Git::AttributeRule.new('*', 'text' => false, 'priority' => 3)
|
27
28
|
assert_equal(3, rule.priority)
|
28
29
|
assert_equal({ 'text' => false }, rule.attributes)
|
30
|
+
assert_equal('*', rule.pattern)
|
29
31
|
assert_equal('* -text', rule.to_s)
|
30
32
|
end
|
31
33
|
|
32
34
|
def test_many_attributes
|
33
35
|
rule = Reality::Git::AttributeRule.new('*.rdl', 'eofnl' => false, 'text' => true, 'crlf' => true, 'binary' => false, 'ms-file' => 'RPT', 'age' => '22')
|
34
36
|
assert_equal({ 'eofnl' => false, 'text' => true, 'crlf' => true, 'binary' => false, 'ms-file' => 'RPT', 'age' => '22' }, rule.attributes)
|
37
|
+
assert_equal('*.rdl', rule.pattern)
|
35
38
|
assert_equal('*.rdl text -binary -eofnl age=22 crlf ms-file=RPT', rule.to_s)
|
36
39
|
end
|
37
40
|
|
41
|
+
def test_whitespace_pattern_convertee
|
42
|
+
rule = Reality::Git::AttributeRule.new('Read[[:space:]]Me.txt', 'text' => true, 'crlf' => true)
|
43
|
+
assert_equal({ 'text' => true, 'crlf' => true }, rule.attributes)
|
44
|
+
assert_equal('Read Me.txt', rule.pattern)
|
45
|
+
assert_equal('Read[[:space:]]Me.txt text crlf', rule.to_s)
|
46
|
+
end
|
47
|
+
|
38
48
|
def test_sorting
|
39
49
|
rule1 = Reality::Git::AttributeRule.new('*.a', 'priority' => 2, 'text' => true)
|
40
50
|
rule2 = Reality::Git::AttributeRule.new('*.b', 'priority' => 2, 'text' => true)
|
@@ -29,6 +29,20 @@ TEXT
|
|
29
29
|
assert_equal({ 'text' => false }, attributes.attributes('README.md'))
|
30
30
|
end
|
31
31
|
|
32
|
+
def test_space_pattern_in_rule
|
33
|
+
content = <<TEXT
|
34
|
+
Read[[:space:]]Me.txt text crlf
|
35
|
+
TEXT
|
36
|
+
dir = "#{working_dir}/#{::SecureRandom.hex}"
|
37
|
+
write_standard_file(dir, content)
|
38
|
+
|
39
|
+
attributes = Reality::Git::Attributes.parse(dir)
|
40
|
+
assert_equal("#{dir}/.gitattributes", attributes.attributes_file)
|
41
|
+
assert_equal(['Read[[:space:]]Me.txt text crlf'], attributes.rules.collect {|p| p.to_s})
|
42
|
+
|
43
|
+
assert_equal({ 'text' => true, 'crlf' => true }, attributes.attributes('Read Me.txt'))
|
44
|
+
end
|
45
|
+
|
32
46
|
def test_gitattributes_in_non_standard_location
|
33
47
|
content = <<TEXT
|
34
48
|
* -text
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitattributes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Donald
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-08-
|
11
|
+
date: 2017-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|