win32-dir 0.4.9 → 0.5.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/CHANGES +8 -0
- data/lib/win32/dir.rb +2 -2
- data/test/test_win32_dir.rb +8 -8
- data/win32-dir.gemspec +1 -1
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24b10fb838eab01de3c979978c409486ac5872a0
|
4
|
+
data.tar.gz: c6470c51e09422329b405da037abe29b4f9b5cd3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3d329bdb7408ba5d3beffea8cb486c80418875286e00115543cf223245331ba42ac56ec6e4f050f652163ffcab4b1d2b1b0b66d51eed762011f0ce357cc58db
|
7
|
+
data.tar.gz: 09bf9aa59a279a681f525a7fac0cf416f9b4fbcca8047f3d95dc89dbacd9033e49423852b37454c4e1dec2db28c962f43d22e21a329f098c40b8517c016908ab
|
data/CHANGES
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
== 0.5.0 - 15-Oct-2014
|
2
|
+
* Fixed an encoding error in an error message in the Dir.read_junction method.
|
3
|
+
Thanks go to topac for the spot and patch.
|
4
|
+
* Replaced File.exists? with File.exist? in the test suite to avoid warnings
|
5
|
+
in Ruby 2.1 and later.
|
6
|
+
* Do not let the version number fool you, this is not a major release. I
|
7
|
+
simply ran out of version numbers.
|
8
|
+
|
1
9
|
== 0.4.9 - 2-Jul-2014
|
2
10
|
* Fixed the INVALID_FILE_ATTRIBUTES constant. It's only a 32-bit value.
|
3
11
|
Thanks go to Ethan Brown for the patch.
|
data/lib/win32/dir.rb
CHANGED
@@ -8,7 +8,7 @@ class Dir
|
|
8
8
|
extend Dir::Functions
|
9
9
|
|
10
10
|
# The version of the win32-dir library.
|
11
|
-
VERSION = '0.
|
11
|
+
VERSION = '0.5.0'
|
12
12
|
|
13
13
|
# CSIDL constants
|
14
14
|
csidl = Hash[
|
@@ -358,7 +358,7 @@ class Dir
|
|
358
358
|
jname = (rdb[:PathBuffer].to_ptr + rdb[:SubstituteNameOffset]).read_string(rdb[:SubstituteNameLength])
|
359
359
|
jname = jname.bytes.to_a.pack('C*')
|
360
360
|
jname = jname.force_encoding("UTF-16LE")
|
361
|
-
raise "
|
361
|
+
raise "Invalid junction name: #{jname.encode('UTF-8')}" unless jname[0..3] == "\\??\\".encode("UTF-16LE")
|
362
362
|
begin
|
363
363
|
File.expand_path(jname[4..-1].encode(Encoding.default_external))
|
364
364
|
rescue Encoding::UndefinedConversionError
|
data/test/test_win32_dir.rb
CHANGED
@@ -26,7 +26,7 @@ class TC_Win32_Dir < Test::Unit::TestCase
|
|
26
26
|
end
|
27
27
|
|
28
28
|
test "version number is set to expected value" do
|
29
|
-
assert_equal('0.
|
29
|
+
assert_equal('0.5.0', Dir::VERSION)
|
30
30
|
end
|
31
31
|
|
32
32
|
test 'glob handles backslashes' do
|
@@ -90,21 +90,21 @@ class TC_Win32_Dir < Test::Unit::TestCase
|
|
90
90
|
|
91
91
|
test "create_junction works as expected with ascii characters" do
|
92
92
|
assert_nothing_raised{ Dir.create_junction(@ascii_to, @@from) }
|
93
|
-
assert_true(File.
|
93
|
+
assert_true(File.exist?(@ascii_to))
|
94
94
|
File.open(@test_file, 'w'){ |fh| fh.puts "Hello World" }
|
95
95
|
assert_equal(Dir.entries(@@from), Dir.entries(@ascii_to))
|
96
96
|
end
|
97
97
|
|
98
98
|
test "create_junction works as expected with unicode characters" do
|
99
99
|
assert_nothing_raised{ Dir.create_junction(@unicode_to, @@from) }
|
100
|
-
assert_true(File.
|
100
|
+
assert_true(File.exist?(@unicode_to))
|
101
101
|
File.open(@test_file, 'w'){ |fh| fh.puts "Hello World" }
|
102
102
|
assert_equal(Dir.entries(@@from), Dir.entries(@unicode_to))
|
103
103
|
end
|
104
104
|
|
105
105
|
test "create_junction works as expected with pathname objects" do
|
106
106
|
assert_nothing_raised{ Dir.create_junction(Pathname.new(@ascii_to), Pathname.new(@@from)) }
|
107
|
-
assert_true(File.
|
107
|
+
assert_true(File.exist?(@ascii_to))
|
108
108
|
File.open(@test_file, 'w'){ |fh| fh.puts "Hello World" }
|
109
109
|
assert_equal(Dir.entries(@@from), Dir.entries(@ascii_to))
|
110
110
|
end
|
@@ -116,25 +116,25 @@ class TC_Win32_Dir < Test::Unit::TestCase
|
|
116
116
|
|
117
117
|
test "read_junction works as expected with ascii characters" do
|
118
118
|
assert_nothing_raised{ Dir.create_junction(@ascii_to, @@from) }
|
119
|
-
assert_true(File.
|
119
|
+
assert_true(File.exist?(@ascii_to))
|
120
120
|
assert_equal(Dir.read_junction(@ascii_to), @@from)
|
121
121
|
end
|
122
122
|
|
123
123
|
test "read_junction works as expected with unicode characters" do
|
124
124
|
assert_nothing_raised{ Dir.create_junction(@unicode_to, @@from) }
|
125
|
-
assert_true(File.
|
125
|
+
assert_true(File.exist?(@unicode_to))
|
126
126
|
assert_equal(Dir.read_junction(@unicode_to), @@from)
|
127
127
|
end
|
128
128
|
|
129
129
|
test "read_junction with unicode characters is joinable" do
|
130
130
|
assert_nothing_raised{ Dir.create_junction(@unicode_to, @@from) }
|
131
|
-
assert_true(File.
|
131
|
+
assert_true(File.exist?(@unicode_to))
|
132
132
|
assert_nothing_raised{ File.join(Dir.read_junction(@unicode_to), 'foo') }
|
133
133
|
end
|
134
134
|
|
135
135
|
test "read_junction works as expected with pathname objects" do
|
136
136
|
assert_nothing_raised{ Dir.create_junction(Pathname.new(@ascii_to), Pathname.new(@@from)) }
|
137
|
-
assert_true(File.
|
137
|
+
assert_true(File.exist?(@ascii_to))
|
138
138
|
assert_equal(Dir.read_junction(@ascii_to), @@from)
|
139
139
|
end
|
140
140
|
|
data/win32-dir.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: win32-dir
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
@@ -9,48 +9,48 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-10-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ffi
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: 1.0.0
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: 1.0.0
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rake
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '0'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: test-unit
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - ">="
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: 2.4.0
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: 2.4.0
|
56
56
|
description: |2
|
@@ -88,17 +88,17 @@ require_paths:
|
|
88
88
|
- lib
|
89
89
|
required_ruby_version: !ruby/object:Gem::Requirement
|
90
90
|
requirements:
|
91
|
-
- -
|
91
|
+
- - ">="
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: 1.9.2
|
94
94
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
|
-
- -
|
96
|
+
- - ">="
|
97
97
|
- !ruby/object:Gem::Version
|
98
98
|
version: '0'
|
99
99
|
requirements: []
|
100
100
|
rubyforge_project:
|
101
|
-
rubygems_version: 2.
|
101
|
+
rubygems_version: 2.4.2
|
102
102
|
signing_key:
|
103
103
|
specification_version: 4
|
104
104
|
summary: Extra constants and methods for the Dir class on Windows.
|