eagletree-log 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
File without changes
File without changes
@@ -2,92 +2,123 @@ require 'spec_helper'
2
2
 
3
3
  describe EagleTree::Log::File do
4
4
 
5
- context 'data file empty.fdr' do
5
+ describe '#new' do
6
6
 
7
- subject { EagleTree::Log::File.new(data_file('empty.fdr')) }
7
+ context 'data file empty.fdr' do
8
8
 
9
- it { should have(0).sessions }
9
+ subject { EagleTree::Log::File.new(data_file('empty.fdr')) }
10
10
 
11
- its(:name) { should eql('Skywalker') }
11
+ it { should have(0).sessions }
12
12
 
13
- its(:hardware) { should eql('74') }
13
+ its(:name) { should eql('Skywalker') }
14
14
 
15
- its(:version) { should eql(10.04) }
15
+ its(:hardware) { should eql('74') }
16
16
 
17
- end
17
+ its(:version) { should eql(10.04) }
18
18
 
19
- context 'data file funjet-gps.fdr' do
19
+ end
20
20
 
21
- subject { EagleTree::Log::File.new(data_file('funjet-gps.fdr')) }
21
+ context 'data file funjet-gps.fdr' do
22
22
 
23
- it { should have(1).sessions }
23
+ subject { EagleTree::Log::File.new(data_file('funjet-gps.fdr')) }
24
24
 
25
- its(:name) { should eql('FunJet') }
25
+ it { should have(1).sessions }
26
26
 
27
- its(:hardware) { should eql('73') }
27
+ its(:name) { should eql('FunJet') }
28
28
 
29
- its(:version) { should eql(8.03) }
29
+ its(:hardware) { should eql('73') }
30
30
 
31
- end
31
+ its(:version) { should eql(8.03) }
32
32
 
33
- context 'data file multi-session-1.fdr' do
33
+ end
34
34
 
35
- subject { EagleTree::Log::File.new(data_file('multi-session-1.fdr')) }
35
+ context 'data file multi-session-1.fdr' do
36
36
 
37
- it { should have(3).sessions }
37
+ subject { EagleTree::Log::File.new(data_file('multi-session-1.fdr')) }
38
38
 
39
- its(:name) { should eql('Helis') }
39
+ it { should have(3).sessions }
40
40
 
41
- its(:hardware) { should eql('73') }
41
+ its(:name) { should eql('Helis') }
42
42
 
43
- its(:version) { should eql(6.93) }
43
+ its(:hardware) { should eql('73') }
44
44
 
45
- end
45
+ its(:version) { should eql(6.93) }
46
46
 
47
- context 'data file multi-session-2.fdr' do
47
+ end
48
48
 
49
- subject { EagleTree::Log::File.new(data_file('multi-session-2.fdr')) }
49
+ context 'data file multi-session-2.fdr' do
50
50
 
51
- it { should have(3).sessions }
51
+ subject { EagleTree::Log::File.new(data_file('multi-session-2.fdr')) }
52
52
 
53
- its(:name) { should eql('Losi XXX4') }
53
+ it { should have(3).sessions }
54
54
 
55
- its(:hardware) { should eql('71') }
55
+ its(:name) { should eql('Losi XXX4') }
56
56
 
57
- its(:version) { should eql(6.02) }
57
+ its(:hardware) { should eql('71') }
58
58
 
59
- end
59
+ its(:version) { should eql(6.02) }
60
60
 
61
- context 'data file t600-1.fdr' do
61
+ end
62
62
 
63
- subject { EagleTree::Log::File.new(data_file('t600-1.fdr')) }
63
+ context 'data file t600-1.fdr' do
64
64
 
65
- it { should have(1).sessions }
65
+ subject { EagleTree::Log::File.new(data_file('t600-1.fdr')) }
66
66
 
67
- its(:name) { should eql('T-Rex 600') }
67
+ it { should have(1).sessions }
68
68
 
69
- its(:hardware) { should eql('73') }
69
+ its(:name) { should eql('T-Rex 600') }
70
70
 
71
- its(:version) { should eql(6.93) }
71
+ its(:hardware) { should eql('73') }
72
72
 
73
- end
73
+ its(:version) { should eql(6.93) }
74
+
75
+ end
76
+
77
+ context 'data file t600-2.fdr' do
74
78
 
75
- context 'data file t600-2.fdr' do
79
+ subject { EagleTree::Log::File.new(data_file('t600-2.fdr')) }
76
80
 
77
- subject { EagleTree::Log::File.new(data_file('t600-2.fdr')) }
81
+ it { should have(1).sessions }
78
82
 
79
- it { should have(1).sessions }
83
+ its(:name) { should eql('T-Rex 600') }
80
84
 
81
- its(:name) { should eql('T-Rex 600') }
85
+ its(:hardware) { should eql('73') }
82
86
 
83
- its(:hardware) { should eql('73') }
87
+ its(:version) { should eql(6.93) }
84
88
 
85
- its(:version) { should eql(6.93) }
89
+ end
90
+
91
+ it 'should raise for invalid or missing files' do
92
+ files = invalid_data_files
93
+ files.should have(17).files
94
+
95
+ files.each do |f|
96
+ expect { EagleTree::Log::File.new(f) }.to raise_error
97
+ end
98
+ end
86
99
 
87
100
  end
88
101
 
89
- it 'should raise on bad input' do
90
- expect { EagleTree::Log::File.new(__FILE__) }.to raise_error
102
+ describe '#eagle_tree?' do
103
+
104
+ it 'should be false for invalid or missing files' do
105
+ files = invalid_data_files
106
+ files.should have(17).files
107
+
108
+ files.each do |f|
109
+ EagleTree::Log::File.eagle_tree?(f).should be_false
110
+ end
111
+ end
112
+
113
+ it 'should be true for valid files' do
114
+ files = data_files
115
+ files.should have(9).files
116
+
117
+ files.each do |f|
118
+ EagleTree::Log::File.eagle_tree?(f).should be_true
119
+ end
120
+ end
121
+
91
122
  end
92
123
 
93
124
  end
@@ -62,6 +62,8 @@ describe EagleTree::Log::Session do
62
62
  subject.coords[2500][2].should be_within(0.1).of(89.0)
63
63
  end
64
64
 
65
+ its(:to_kml?) { should be_true }
66
+
65
67
  its(:to_kml) { should_not be_nil }
66
68
 
67
69
  end
@@ -20,7 +20,19 @@ RSpec.configure do |config|
20
20
  config.order = 'random'
21
21
  end
22
22
 
23
+ # root from spec/data
23
24
  def data_file(name)
24
- path = Pathname.new("#{File.dirname(__FILE__)}/../data/#{name}")
25
- path.realpath
25
+ File.expand_path("#{File.dirname(__FILE__)}/data/#{name}")
26
+ end
27
+
28
+ def data_files
29
+ dir = "#{File.dirname(__FILE__)}/data/#{dir}"
30
+ Dir.glob("#{dir}/*").select { |e| File.file? e }
31
+ end
32
+
33
+ def invalid_data_files
34
+ dir = "#{File.dirname(__FILE__)}/data/invalid"
35
+ invalid = Dir.glob("#{dir}/**/*").select { |e| File.file? e }
36
+ invalid << __FILE__
37
+ invalid << 'NOFILE.TLM'
26
38
  end
metadata CHANGED
@@ -1,36 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eagletree-log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
5
- prerelease:
4
+ version: 0.0.8
6
5
  platform: ruby
7
6
  authors:
8
7
  - Nick Veys
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-14 00:00:00.000000000 Z
11
+ date: 2013-07-06 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: awesome_print
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: bundler
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: ci_reporter
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - '='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - '='
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: rspec
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -94,55 +83,48 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: simplecov
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - '>='
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - '>='
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: simplecov-gem-adapter
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - '>='
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - '>='
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0'
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: simplecov-rcov
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ! '>='
115
+ - - '>='
132
116
  - !ruby/object:Gem::Version
133
117
  version: '0'
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ! '>='
122
+ - - '>='
140
123
  - !ruby/object:Gem::Version
141
124
  version: '0'
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: ruby_kml
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ~>
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :runtime
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ~>
156
137
  - !ruby/object:Gem::Version
@@ -168,49 +149,88 @@ files:
168
149
  - LICENSE.txt
169
150
  - README.md
170
151
  - Rakefile
171
- - data/empty.fdr
172
- - data/funjet-gps.fdr
173
- - data/multi-session-1.fdr
174
- - data/multi-session-2.fdr
175
- - data/old-1.fdr
176
- - data/old-2.fdr
177
- - data/old-3.fdr
178
- - data/t600-1.fdr
179
- - data/t600-2.fdr
180
152
  - eagletree-log.gemspec
181
153
  - lib/eagletree/log.rb
182
154
  - lib/eagletree/log/file.rb
183
155
  - lib/eagletree/log/session.rb
184
156
  - lib/eagletree/log/version.rb
157
+ - spec/data/empty.fdr
158
+ - spec/data/funjet-gps.fdr
159
+ - spec/data/invalid/castle/long-flight.csv
160
+ - spec/data/invalid/castle/multi-line-notes.csv
161
+ - spec/data/invalid/castle/multi-session-1.csv
162
+ - spec/data/invalid/castle/multi-session-2.csv
163
+ - spec/data/invalid/castle/sample-1.csv
164
+ - spec/data/invalid/empty.file
165
+ - spec/data/invalid/spektrum/1.TLM
166
+ - spec/data/invalid/spektrum/2.TLM
167
+ - spec/data/invalid/spektrum/3.TLM
168
+ - spec/data/invalid/spektrum/4.TLM
169
+ - spec/data/invalid/spektrum/GPS.TLM
170
+ - spec/data/invalid/spektrum/GPS2.TLM
171
+ - spec/data/invalid/spektrum/X5-GPS1.TLM
172
+ - spec/data/invalid/spektrum/X5-GPS2.TLM
173
+ - spec/data/invalid/spektrum/X5-GPS3.TLM
174
+ - spec/data/multi-session-1.fdr
175
+ - spec/data/multi-session-2.fdr
176
+ - spec/data/old-1.fdr
177
+ - spec/data/old-2.fdr
178
+ - spec/data/old-3.fdr
179
+ - spec/data/t600-1.fdr
180
+ - spec/data/t600-2.fdr
185
181
  - spec/file_spec.rb
186
182
  - spec/session_spec.rb
187
183
  - spec/spec_helper.rb
188
184
  homepage: ''
189
185
  licenses:
190
186
  - MIT
187
+ metadata: {}
191
188
  post_install_message:
192
189
  rdoc_options: []
193
190
  require_paths:
194
191
  - lib
195
192
  required_ruby_version: !ruby/object:Gem::Requirement
196
- none: false
197
193
  requirements:
198
- - - ! '>='
194
+ - - '>='
199
195
  - !ruby/object:Gem::Version
200
196
  version: '0'
201
197
  required_rubygems_version: !ruby/object:Gem::Requirement
202
- none: false
203
198
  requirements:
204
- - - ! '>='
199
+ - - '>='
205
200
  - !ruby/object:Gem::Version
206
201
  version: '0'
207
202
  requirements: []
208
203
  rubyforge_project:
209
- rubygems_version: 1.8.22
204
+ rubygems_version: 2.0.3
210
205
  signing_key:
211
- specification_version: 3
206
+ specification_version: 4
212
207
  summary: Eagle Tree telemetry log file reader
213
208
  test_files:
209
+ - spec/data/empty.fdr
210
+ - spec/data/funjet-gps.fdr
211
+ - spec/data/invalid/castle/long-flight.csv
212
+ - spec/data/invalid/castle/multi-line-notes.csv
213
+ - spec/data/invalid/castle/multi-session-1.csv
214
+ - spec/data/invalid/castle/multi-session-2.csv
215
+ - spec/data/invalid/castle/sample-1.csv
216
+ - spec/data/invalid/empty.file
217
+ - spec/data/invalid/spektrum/1.TLM
218
+ - spec/data/invalid/spektrum/2.TLM
219
+ - spec/data/invalid/spektrum/3.TLM
220
+ - spec/data/invalid/spektrum/4.TLM
221
+ - spec/data/invalid/spektrum/GPS.TLM
222
+ - spec/data/invalid/spektrum/GPS2.TLM
223
+ - spec/data/invalid/spektrum/X5-GPS1.TLM
224
+ - spec/data/invalid/spektrum/X5-GPS2.TLM
225
+ - spec/data/invalid/spektrum/X5-GPS3.TLM
226
+ - spec/data/multi-session-1.fdr
227
+ - spec/data/multi-session-2.fdr
228
+ - spec/data/old-1.fdr
229
+ - spec/data/old-2.fdr
230
+ - spec/data/old-3.fdr
231
+ - spec/data/t600-1.fdr
232
+ - spec/data/t600-2.fdr
214
233
  - spec/file_spec.rb
215
234
  - spec/session_spec.rb
216
235
  - spec/spec_helper.rb
236
+ has_rdoc: