ruby-ole 1.2.10.1 → 1.2.11
Sign up to get free protection for your applications and to get access to all the features.
- data/COPYING +20 -0
- data/ChangeLog +14 -0
- data/README +0 -1
- data/Rakefile +3 -34
- data/lib/ole/base.rb +3 -0
- data/lib/ole/file_system.rb +7 -2
- data/lib/ole/ranges_io.rb +3 -1
- data/lib/ole/storage/base.rb +2 -2
- data/lib/ole/storage/file_system.rb +3 -3
- data/lib/ole/storage/meta_data.rb +2 -0
- data/lib/ole/storage/version.rb +8 -0
- data/lib/ole/support.rb +7 -3
- data/lib/ole/types/base.rb +22 -18
- data/lib/ole/types/property_set.rb +3 -1
- data/test/test_filesystem.rb +32 -1
- data/test/test_mbat.rb +1 -2
- data/test/test_meta_data.rb +1 -3
- data/test/test_property_set.rb +1 -1
- data/test/test_types.rb +1 -1
- metadata +28 -26
- data/test/test.doc +0 -0
- data/test/test_word_6.doc +0 -0
- data/test/test_word_95.doc +0 -0
- data/test/test_word_97.doc +0 -0
data/COPYING
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2007-2010 Charles Lowe
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
5
|
+
in the Software without restriction, including without limitation the rights
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
8
|
+
furnished to do so, subject to the following conditions:
|
9
|
+
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
11
|
+
all copies or substantial portions of the Software.
|
12
|
+
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
THE SOFTWARE.
|
20
|
+
|
data/ChangeLog
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
== 1.2.11 / 2010-10-17
|
2
|
+
|
3
|
+
- Add COPYING for packaging (issue #7)
|
4
|
+
- Make tests pass using home_run (github #1)
|
5
|
+
- Make tests pass using mathn.
|
6
|
+
- Updates to suppress warnings on 1.9.2.
|
7
|
+
- Split out gemspec into separate file and use for Rakefile.
|
8
|
+
|
9
|
+
== 1.2.10.1 / 2010-03-19
|
10
|
+
|
11
|
+
- Avoid use of DateTime#new! (issue #4)
|
12
|
+
- Remove warning about unexpected root names (issue #5)
|
13
|
+
|
1
14
|
== 1.2.10 / 2009-07-20
|
2
15
|
|
3
16
|
- Mostly more performance enhancements, significantly faster for
|
@@ -74,3 +87,4 @@
|
|
74
87
|
== 1.2.1 / 2007-08-20
|
75
88
|
|
76
89
|
- Separate out from ruby-msg as new project.
|
90
|
+
|
data/README
CHANGED
@@ -102,7 +102,6 @@ See the documentation for each class for more details.
|
|
102
102
|
* case insensitive open mode would be nice
|
103
103
|
* fix property sets a bit more. see TODO in Ole::Storage::MetaData
|
104
104
|
* ability to zero out padding and unused blocks
|
105
|
-
* case insensitive mode for ole/file_system?
|
106
105
|
* better tests for mbat support.
|
107
106
|
* further doc cleanup
|
108
107
|
* add in place testing for jruby and ruby1.9
|
data/Rakefile
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'rubygems'
|
1
2
|
require 'rake/rdoctask'
|
2
3
|
require 'rake/testtask'
|
3
4
|
require 'rake/packagetask'
|
@@ -6,12 +7,7 @@ require 'rake/gempackagetask'
|
|
6
7
|
require 'rbconfig'
|
7
8
|
require 'fileutils'
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
require 'ole/storage'
|
12
|
-
|
13
|
-
PKG_NAME = 'ruby-ole'
|
14
|
-
PKG_VERSION = Ole::Storage::VERSION
|
10
|
+
spec = eval File.read('ruby-ole.gemspec')
|
15
11
|
|
16
12
|
task :default => [:test]
|
17
13
|
|
@@ -44,33 +40,6 @@ Rake::RDocTask.new do |t|
|
|
44
40
|
t.main = 'README'
|
45
41
|
end
|
46
42
|
|
47
|
-
spec = Gem::Specification.new do |s|
|
48
|
-
s.name = PKG_NAME
|
49
|
-
s.version = PKG_VERSION
|
50
|
-
s.summary = %q{Ruby OLE library.}
|
51
|
-
s.description = %q{A library for easy read/write access to OLE compound documents for Ruby.}
|
52
|
-
s.authors = ['Charles Lowe']
|
53
|
-
s.email = %q{aquasync@gmail.com}
|
54
|
-
s.homepage = %q{http://code.google.com/p/ruby-ole}
|
55
|
-
s.rubyforge_project = %q{ruby-ole}
|
56
|
-
|
57
|
-
s.executables = ['oletool']
|
58
|
-
s.files = ['README', 'Rakefile', 'ChangeLog', 'data/propids.yaml']
|
59
|
-
s.files += FileList['lib/**/*.rb']
|
60
|
-
s.files += FileList['test/test_*.rb', 'test/*.doc']
|
61
|
-
s.files += FileList['test/oleWithDirs.ole', 'test/test_SummaryInformation']
|
62
|
-
s.files += FileList['bin/*']
|
63
|
-
s.test_files = FileList['test/test_*.rb']
|
64
|
-
|
65
|
-
s.has_rdoc = true
|
66
|
-
s.extra_rdoc_files = ['README', 'ChangeLog']
|
67
|
-
s.rdoc_options += [
|
68
|
-
'--main', 'README',
|
69
|
-
'--title', "#{PKG_NAME} documentation",
|
70
|
-
'--tab-width', '2'
|
71
|
-
]
|
72
|
-
end
|
73
|
-
|
74
43
|
Rake::GemPackageTask.new(spec) do |t|
|
75
44
|
t.gem_spec = spec
|
76
45
|
t.need_tar = false
|
@@ -82,7 +51,7 @@ desc 'Run various benchmarks'
|
|
82
51
|
task :benchmark do
|
83
52
|
require 'benchmark'
|
84
53
|
require 'tempfile'
|
85
|
-
require 'ole/
|
54
|
+
require 'ole/storage'
|
86
55
|
|
87
56
|
# should probably add some read benchmarks too
|
88
57
|
def write_benchmark opts={}
|
data/lib/ole/base.rb
CHANGED
data/lib/ole/file_system.rb
CHANGED
@@ -1,2 +1,7 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
warn <<-end
|
2
|
+
Use of ole/file_system is deprecated. Use ole/storage (the file_system api
|
3
|
+
is recommended and enabled by default).
|
4
|
+
end
|
5
|
+
|
6
|
+
require 'ole/storage'
|
7
|
+
|
data/lib/ole/ranges_io.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# encoding: ASCII-8BIT
|
2
|
+
|
1
3
|
# need IO::Mode
|
2
4
|
require 'ole/support'
|
3
5
|
|
@@ -122,7 +124,7 @@ class RangesIO
|
|
122
124
|
# do a binary search throuh @offsets to find the active range.
|
123
125
|
a, c, b = 0, 0, @offsets.length
|
124
126
|
while a < b
|
125
|
-
c = (a + b)
|
127
|
+
c = (a + b).div(2)
|
126
128
|
pivot = @offsets[c]
|
127
129
|
if pos == pivot
|
128
130
|
@active = c
|
data/lib/ole/storage/base.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# encoding: ASCII-8BIT
|
2
|
+
|
1
3
|
require 'tempfile'
|
2
4
|
|
3
5
|
require 'ole/base'
|
@@ -21,8 +23,6 @@ module Ole # :nodoc:
|
|
21
23
|
class FormatError < StandardError # :nodoc:
|
22
24
|
end
|
23
25
|
|
24
|
-
VERSION = '1.2.10.1'
|
25
|
-
|
26
26
|
# options used at creation time
|
27
27
|
attr_reader :params
|
28
28
|
# The top of the ole tree structure
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# encoding: ASCII-8BIT
|
2
|
+
|
1
3
|
#
|
2
4
|
# = Introduction
|
3
5
|
#
|
@@ -29,8 +31,6 @@
|
|
29
31
|
# the filesystem api.
|
30
32
|
#
|
31
33
|
|
32
|
-
require 'ole/storage'
|
33
|
-
|
34
34
|
module Ole # :nodoc:
|
35
35
|
class Storage
|
36
36
|
def file
|
@@ -51,7 +51,7 @@ module Ole # :nodoc:
|
|
51
51
|
next if part.empty?
|
52
52
|
return nil if dirent.file?
|
53
53
|
return nil unless dirent = dirent/part
|
54
|
-
end
|
54
|
+
end
|
55
55
|
dirent
|
56
56
|
end
|
57
57
|
|
data/lib/ole/support.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# encoding: ASCII-8BIT
|
2
|
+
|
1
3
|
#
|
2
4
|
# A file with general support functions used by most files in the project.
|
3
5
|
#
|
@@ -25,13 +27,15 @@ end
|
|
25
27
|
class File # :nodoc:
|
26
28
|
# for interface consistency with StringIO etc (rather than adding #stat
|
27
29
|
# to them). used by RangesIO.
|
28
|
-
|
29
|
-
|
30
|
+
unless File.instance_methods.include?(:size)
|
31
|
+
def size
|
32
|
+
stat.size
|
33
|
+
end
|
30
34
|
end
|
31
35
|
end
|
32
36
|
|
33
37
|
class Symbol # :nodoc:
|
34
|
-
unless
|
38
|
+
unless Symbol.instance_methods.include?(:to_proc)
|
35
39
|
def to_proc
|
36
40
|
proc { |a| a.send self }
|
37
41
|
end
|
data/lib/ole/types/base.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# encoding: ASCII-8BIT
|
2
|
+
|
1
3
|
require 'iconv'
|
2
4
|
require 'date'
|
3
5
|
|
@@ -16,7 +18,7 @@ module Ole # :nodoc:
|
|
16
18
|
def self.load str
|
17
19
|
new str
|
18
20
|
end
|
19
|
-
|
21
|
+
|
20
22
|
def self.dump str
|
21
23
|
str.to_s
|
22
24
|
end
|
@@ -39,17 +41,17 @@ module Ole # :nodoc:
|
|
39
41
|
class Lpwstr < String
|
40
42
|
FROM_UTF16 = Iconv.new 'utf-8', 'utf-16le'
|
41
43
|
TO_UTF16 = Iconv.new 'utf-16le', 'utf-8'
|
42
|
-
|
44
|
+
|
43
45
|
def self.load str
|
44
46
|
new FROM_UTF16.iconv(str).chomp(0.chr)
|
45
47
|
end
|
46
|
-
|
48
|
+
|
47
49
|
def self.dump str
|
48
50
|
# need to append nulls?
|
49
51
|
data = TO_UTF16.iconv str
|
50
52
|
# not sure if this is the recommended way to do it, but I want to treat
|
51
53
|
# the resulting utf16 data as regular bytes, not characters.
|
52
|
-
data.force_encoding Encoding::
|
54
|
+
data.force_encoding Encoding::ASCII_8BIT if data.respond_to? :encoding
|
53
55
|
data
|
54
56
|
end
|
55
57
|
end
|
@@ -68,13 +70,12 @@ module Ole # :nodoc:
|
|
68
70
|
end
|
69
71
|
y = year + 4800
|
70
72
|
m = month - 3
|
71
|
-
jd = day + (153 * m + 2)
|
73
|
+
jd = day + (153 * m + 2).div(5) + 365 * y + y.div(4) - y.div(100) + y.div(400) - 32045
|
72
74
|
fr = hour / 24.0 + min / 1440.0 + sec / 86400.0
|
73
|
-
#
|
74
|
-
# see issue #4.
|
75
|
-
|
76
|
-
|
77
|
-
obj
|
75
|
+
# new! was actually new0 in older versions of ruby (<=1.8.4?)
|
76
|
+
# see issue #4.
|
77
|
+
msg = respond_to?(:new!) ? :new! : :new0
|
78
|
+
send msg, jd + fr - 0.5, 0, ITALY
|
78
79
|
end
|
79
80
|
|
80
81
|
def self.from_time time
|
@@ -100,7 +101,10 @@ module Ole # :nodoc:
|
|
100
101
|
return nil if low == 0 and high == 0
|
101
102
|
# the + 0.00001 here stinks a bit...
|
102
103
|
seconds = (high * (1 << 32) + low) / 1e7 + 0.00001
|
103
|
-
EPOCH + seconds / 86400 rescue return
|
104
|
+
obj = EPOCH + seconds / 86400 rescue return
|
105
|
+
# work around home_run not preserving derived class
|
106
|
+
obj = new! obj.jd + obj.day_fraction - 0.5, 0, ITALY unless FileTime === obj
|
107
|
+
obj
|
104
108
|
end
|
105
109
|
|
106
110
|
# +time+ should be able to be either a Time, Date, or DateTime.
|
@@ -120,7 +124,7 @@ module Ole # :nodoc:
|
|
120
124
|
high, low = nanoseconds.divmod 1 << 32
|
121
125
|
[low, high].pack 'V2'
|
122
126
|
end
|
123
|
-
|
127
|
+
|
124
128
|
def inspect
|
125
129
|
"#<#{self.class} #{to_s}>"
|
126
130
|
end
|
@@ -138,13 +142,13 @@ module Ole # :nodoc:
|
|
138
142
|
def self.load str
|
139
143
|
new str.to_s
|
140
144
|
end
|
141
|
-
|
145
|
+
|
142
146
|
def self.dump guid
|
143
147
|
return 0.chr * SIZE unless guid
|
144
148
|
# allow use of plain strings in place of guids.
|
145
149
|
guid['-'] ? parse(guid) : guid
|
146
150
|
end
|
147
|
-
|
151
|
+
|
148
152
|
def self.parse str
|
149
153
|
vals = str.scan(/[a-f\d]+/i).map(&:hex)
|
150
154
|
if vals.length == 5
|
@@ -160,7 +164,7 @@ module Ole # :nodoc:
|
|
160
164
|
def format
|
161
165
|
"%08x-%04x-%04x-%02x%02x-#{'%02x' * 6}" % unpack(PACK)
|
162
166
|
end
|
163
|
-
|
167
|
+
|
164
168
|
def inspect
|
165
169
|
"#<#{self.class}:{#{format}}>"
|
166
170
|
end
|
@@ -249,12 +253,12 @@ module Ole # :nodoc:
|
|
249
253
|
module Constants
|
250
254
|
NAMES.each { |num, name| const_set name, num }
|
251
255
|
end
|
252
|
-
|
256
|
+
|
253
257
|
def self.load type, str
|
254
258
|
type = NAMES[type] or raise ArgumentError, 'unknown ole type - 0x%04x' % type
|
255
259
|
(CLASS_MAP[type] || Data).load str
|
256
260
|
end
|
257
|
-
|
261
|
+
|
258
262
|
def self.dump type, variant
|
259
263
|
type = NAMES[type] or raise ArgumentError, 'unknown ole type - 0x%04x' % type
|
260
264
|
(CLASS_MAP[type] || Data).dump variant
|
@@ -262,7 +266,7 @@ module Ole # :nodoc:
|
|
262
266
|
end
|
263
267
|
|
264
268
|
include Variant::Constants
|
265
|
-
|
269
|
+
|
266
270
|
# deprecated aliases, kept mostly for the benefit of ruby-msg, until
|
267
271
|
# i release a new version.
|
268
272
|
def self.load_guid str
|
data/test/test_filesystem.rb
CHANGED
@@ -23,7 +23,7 @@
|
|
23
23
|
TEST_DIR = File.dirname __FILE__
|
24
24
|
$:.unshift "#{TEST_DIR}/../lib"
|
25
25
|
|
26
|
-
require 'ole/storage
|
26
|
+
require 'ole/storage'
|
27
27
|
require 'test/unit'
|
28
28
|
|
29
29
|
module ExtraAssertions
|
@@ -873,7 +873,38 @@ class OleFsDirIteratorTest < Test::Unit::TestCase
|
|
873
873
|
|
874
874
|
end
|
875
875
|
|
876
|
+
class OleUnicodeTest < Test::Unit::TestCase
|
877
|
+
def setup
|
878
|
+
@io = StringIO.new ''
|
879
|
+
end
|
880
|
+
|
881
|
+
def test_unicode
|
882
|
+
# in ruby-1.8, encoding is assumed to be UTF-8 (and converted with iconv).
|
883
|
+
# in ruby-1.9, UTF-8 should work also, but probably shouldn't be using fixed
|
884
|
+
# TO_UTF16 iconv for other encodings.
|
885
|
+
resume = "R\xc3\xa9sum\xc3\xa9"
|
886
|
+
resume.force_encoding Encoding::UTF_8 if resume.respond_to? :encoding
|
887
|
+
Ole::Storage.open @io do |ole|
|
888
|
+
ole.file.open(resume, 'w') { |f| f.write 'Skills: writing bad unit tests' }
|
889
|
+
end
|
890
|
+
Ole::Storage.open @io do |ole|
|
891
|
+
assert_equal ['.', '..', resume], ole.dir.entries('.')
|
892
|
+
# use internal api to verify utf16 encoding
|
893
|
+
assert_equal "R\x00\xE9\x00s\x00u\x00m\x00\xE9\x00", ole.root.children[0].name_utf16[0, 6 * 2]
|
894
|
+
# FIXME: there is a bug in ruby-1.9 (at least in p376), which makes encoded
|
895
|
+
# strings useless as hash keys. identical bytes, identical encodings, identical
|
896
|
+
# according to #==, but different hash.
|
897
|
+
temp = File.expand_path("/#{resume}").split('/').last
|
898
|
+
if resume == temp and resume.hash != temp.hash
|
899
|
+
warn 'skipping assertion due to broken String#hash'
|
900
|
+
else
|
901
|
+
assert_equal 'Skills', ole.file.read(resume).split(': ', 2).first
|
902
|
+
end
|
903
|
+
end
|
904
|
+
end
|
905
|
+
end
|
876
906
|
|
877
907
|
# Copyright (C) 2002, 2003 Thomas Sondergaard
|
878
908
|
# rubyzip is free software; you can redistribute it and/or
|
879
909
|
# modify it under the terms of the ruby license.
|
910
|
+
|
data/test/test_mbat.rb
CHANGED
data/test/test_meta_data.rb
CHANGED
data/test/test_property_set.rb
CHANGED
data/test/test_types.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-ole
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 9
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 1
|
7
8
|
- 2
|
8
|
-
-
|
9
|
-
|
10
|
-
version: 1.2.10.1
|
9
|
+
- 11
|
10
|
+
version: 1.2.11
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Charles Lowe
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-10-17 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|
@@ -30,33 +30,31 @@ extra_rdoc_files:
|
|
30
30
|
- ChangeLog
|
31
31
|
files:
|
32
32
|
- README
|
33
|
+
- COPYING
|
33
34
|
- Rakefile
|
34
35
|
- ChangeLog
|
35
36
|
- data/propids.yaml
|
36
37
|
- bin/oletool
|
37
|
-
- lib/ole/types.rb
|
38
38
|
- lib/ole/storage.rb
|
39
|
+
- lib/ole/storage/file_system.rb
|
40
|
+
- lib/ole/storage/base.rb
|
41
|
+
- lib/ole/storage/meta_data.rb
|
42
|
+
- lib/ole/storage/version.rb
|
43
|
+
- lib/ole/types/property_set.rb
|
44
|
+
- lib/ole/types/base.rb
|
45
|
+
- lib/ole/types.rb
|
39
46
|
- lib/ole/support.rb
|
47
|
+
- lib/ole/file_system.rb
|
40
48
|
- lib/ole/base.rb
|
41
49
|
- lib/ole/ranges_io.rb
|
42
|
-
-
|
43
|
-
- lib/ole/types/property_set.rb
|
44
|
-
- lib/ole/types/base.rb
|
45
|
-
- lib/ole/storage/meta_data.rb
|
46
|
-
- lib/ole/storage/base.rb
|
47
|
-
- lib/ole/storage/file_system.rb
|
48
|
-
- test/test_ranges_io.rb
|
50
|
+
- test/test_property_set.rb
|
49
51
|
- test/test_storage.rb
|
50
|
-
- test/test_filesystem.rb
|
51
|
-
- test/test_support.rb
|
52
52
|
- test/test_mbat.rb
|
53
|
-
- test/test_types.rb
|
54
53
|
- test/test_meta_data.rb
|
55
|
-
- test/
|
56
|
-
- test/
|
57
|
-
- test/
|
58
|
-
- test/
|
59
|
-
- test/test.doc
|
54
|
+
- test/test_support.rb
|
55
|
+
- test/test_types.rb
|
56
|
+
- test/test_ranges_io.rb
|
57
|
+
- test/test_filesystem.rb
|
60
58
|
- test/oleWithDirs.ole
|
61
59
|
- test/test_SummaryInformation
|
62
60
|
has_rdoc: true
|
@@ -74,32 +72,36 @@ rdoc_options:
|
|
74
72
|
require_paths:
|
75
73
|
- lib
|
76
74
|
required_ruby_version: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
77
76
|
requirements:
|
78
77
|
- - ">="
|
79
78
|
- !ruby/object:Gem::Version
|
79
|
+
hash: 3
|
80
80
|
segments:
|
81
81
|
- 0
|
82
82
|
version: "0"
|
83
83
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
84
85
|
requirements:
|
85
86
|
- - ">="
|
86
87
|
- !ruby/object:Gem::Version
|
88
|
+
hash: 3
|
87
89
|
segments:
|
88
90
|
- 0
|
89
91
|
version: "0"
|
90
92
|
requirements: []
|
91
93
|
|
92
94
|
rubyforge_project: ruby-ole
|
93
|
-
rubygems_version: 1.3.
|
95
|
+
rubygems_version: 1.3.7
|
94
96
|
signing_key:
|
95
97
|
specification_version: 3
|
96
98
|
summary: Ruby OLE library.
|
97
99
|
test_files:
|
98
|
-
- test/
|
100
|
+
- test/test_property_set.rb
|
99
101
|
- test/test_storage.rb
|
100
|
-
- test/test_filesystem.rb
|
101
|
-
- test/test_support.rb
|
102
102
|
- test/test_mbat.rb
|
103
|
-
- test/test_types.rb
|
104
103
|
- test/test_meta_data.rb
|
105
|
-
- test/
|
104
|
+
- test/test_support.rb
|
105
|
+
- test/test_types.rb
|
106
|
+
- test/test_ranges_io.rb
|
107
|
+
- test/test_filesystem.rb
|
data/test/test.doc
DELETED
Binary file
|
data/test/test_word_6.doc
DELETED
Binary file
|
data/test/test_word_95.doc
DELETED
Binary file
|
data/test/test_word_97.doc
DELETED
Binary file
|