trecs 0.1.11 → 0.1.12

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,10 @@
1
+ require "spec_helper"
2
+ require "recording_strategies/file_frames_strategy"
3
+
4
+ module TRecs
5
+ describe FileFramesStrategy do
6
+ context "initialization" do
7
+ skip("FileFramesStrategy")
8
+ end
9
+ end
10
+ end
@@ -4,7 +4,7 @@ require "recording_strategies/shell_command_strategy"
4
4
  module TRecs
5
5
  describe ShellCommandStrategy do
6
6
  context "shell command" do
7
- Then { skip("Test shell command") }
7
+ skip("Test shell command")
8
8
  end
9
9
  end
10
10
  end
@@ -0,0 +1,8 @@
1
+ require "spec_helper"
2
+ require "sources/tgz_source"
3
+
4
+ module TRecs
5
+ describe TgzSource do
6
+ skip("TgzSource")
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require "spec_helper"
2
+ require "writers/json_writer"
3
+
4
+ module TRecs
5
+ describe JsonWriter do
6
+ skip("Test JsonWriter")
7
+ end
8
+ end
data/trecs.gemspec CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  # Dependencies
23
23
  spec.add_dependency "trollop", "~> 2.0"
24
+ spec.add_dependency "minitar", "~> 0.5.4"
24
25
 
25
26
  # Development dependencies
26
27
  spec.add_development_dependency "bundler", "~> 1.6"
metadata CHANGED
@@ -1,83 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trecs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Federico Iachetti
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-21 00:00:00.000000000 Z
11
+ date: 2014-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: trollop
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '2.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitar
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 0.5.4
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 0.5.4
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - "~>"
45
+ - - ~>
32
46
  - !ruby/object:Gem::Version
33
47
  version: '1.6'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - "~>"
52
+ - - ~>
39
53
  - !ruby/object:Gem::Version
40
54
  version: '1.6'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ">="
59
+ - - ! '>='
46
60
  - !ruby/object:Gem::Version
47
61
  version: '0'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ">="
66
+ - - ! '>='
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rspec
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - "~>"
73
+ - - ~>
60
74
  - !ruby/object:Gem::Version
61
75
  version: '2.12'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - "~>"
80
+ - - ~>
67
81
  - !ruby/object:Gem::Version
68
82
  version: '2.12'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rspec-given
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - "~>"
87
+ - - ~>
74
88
  - !ruby/object:Gem::Version
75
89
  version: 3.5.4
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - "~>"
94
+ - - ~>
81
95
  - !ruby/object:Gem::Version
82
96
  version: 3.5.4
83
97
  description: Record text screencasts.
@@ -89,11 +103,11 @@ executables:
89
103
  extensions: []
90
104
  extra_rdoc_files: []
91
105
  files:
92
- - ".bundle/config"
93
- - ".gitignore"
94
- - ".rspec"
95
- - ".spec"
96
- - ".travis.yml"
106
+ - .bundle/config
107
+ - .gitignore
108
+ - .rspec
109
+ - .spec
110
+ - .travis.yml
97
111
  - Gemfile
98
112
  - Gemfile.lock
99
113
  - LICENCE.txt
@@ -103,11 +117,14 @@ files:
103
117
  - bin/trecs_record
104
118
  - doc/steps.org
105
119
  - lib/trecs.rb
120
+ - lib/trecs/frame.rb
106
121
  - lib/trecs/player.rb
107
122
  - lib/trecs/readers/json_reader.rb
108
123
  - lib/trecs/readers/yaml_store_reader.rb
109
124
  - lib/trecs/recorder.rb
125
+ - lib/trecs/recording_strategies/config_strategy.rb
110
126
  - lib/trecs/recording_strategies/custom_strategy.rb
127
+ - lib/trecs/recording_strategies/file_frames_strategy.rb
111
128
  - lib/trecs/recording_strategies/fly_from_right_strategy.rb
112
129
  - lib/trecs/recording_strategies/hash_strategy.rb
113
130
  - lib/trecs/recording_strategies/incremental_strategy.rb
@@ -117,6 +134,7 @@ files:
117
134
  - lib/trecs/recording_strategies/tmux_session_strategy.rb
118
135
  - lib/trecs/recording_strategies/ttyrec_strategy.rb
119
136
  - lib/trecs/screens/terminal_screen.rb
137
+ - lib/trecs/sources/tgz_source.rb
120
138
  - lib/trecs/tickers/clock_ticker.rb
121
139
  - lib/trecs/tickers/terminal_input_ticker.rb
122
140
  - lib/trecs/tickers/watch_file_ticker.rb
@@ -125,11 +143,6 @@ files:
125
143
  - lib/trecs/writers/json_writer.rb
126
144
  - lib/trecs/writers/yaml_store_writer.rb
127
145
  - lib/trecs/writers/zip_file_writer.rb
128
- - old_specs/player_spec.rb
129
- - old_specs/recorders/zip_file_recorder_spec.rb
130
- - old_specs/timestamps_spec.rb
131
- - old_specs/trecs_message_spec.rb
132
- - old_specs/trecs_spec.rb
133
146
  - sandbox/create_recording.rb
134
147
  - sandbox/lipsum_end
135
148
  - sandbox/lipsum_start
@@ -137,17 +150,22 @@ files:
137
150
  - sandbox/record_diff
138
151
  - sandbox/record_script_file
139
152
  - spec/spec_helper.rb
153
+ - spec/trecs/frame_spec.rb
140
154
  - spec/trecs/player_spec.rb
141
155
  - spec/trecs/readers/json_reader_spec.rb
142
156
  - spec/trecs/readers/yaml_store_reader_spec.rb
143
157
  - spec/trecs/recorder_spec.rb
158
+ - spec/trecs/recording_strategies/config_strategy_spec.rb
159
+ - spec/trecs/recording_strategies/file_frames_strategy_spec.rb
144
160
  - spec/trecs/recording_strategies/fly_from_right_strategy_spec.rb
145
161
  - spec/trecs/recording_strategies/hash_strategy_spec.rb
146
162
  - spec/trecs/recording_strategies/incremental_strategy_spec.rb
147
163
  - spec/trecs/recording_strategies/raw_file_strategy_spec.rb
148
164
  - spec/trecs/recording_strategies/shell_command_strategy_spec.rb
165
+ - spec/trecs/sources/tgz_source_spec.rb
149
166
  - spec/trecs/tickers/clock_ticker_spec.rb
150
167
  - spec/trecs/writers/in_memory_writer_spec.rb
168
+ - spec/trecs/writers/json_writer_spec.rb
151
169
  - tmp/.gitignore
152
170
  - trecs.gemspec
153
171
  homepage: ''
@@ -162,12 +180,12 @@ require_paths:
162
180
  - bin
163
181
  required_ruby_version: !ruby/object:Gem::Requirement
164
182
  requirements:
165
- - - ">="
183
+ - - ! '>='
166
184
  - !ruby/object:Gem::Version
167
185
  version: '0'
168
186
  required_rubygems_version: !ruby/object:Gem::Requirement
169
187
  requirements:
170
- - - ">="
188
+ - - ! '>='
171
189
  - !ruby/object:Gem::Version
172
190
  version: '0'
173
191
  requirements: []
@@ -175,17 +193,22 @@ rubyforge_project:
175
193
  rubygems_version: 2.2.2
176
194
  signing_key:
177
195
  specification_version: 4
178
- summary: 'TRecs: Text Recordings.'
196
+ summary: ! 'TRecs: Text Recordings.'
179
197
  test_files:
180
198
  - spec/spec_helper.rb
199
+ - spec/trecs/frame_spec.rb
181
200
  - spec/trecs/player_spec.rb
182
201
  - spec/trecs/readers/json_reader_spec.rb
183
202
  - spec/trecs/readers/yaml_store_reader_spec.rb
184
203
  - spec/trecs/recorder_spec.rb
204
+ - spec/trecs/recording_strategies/config_strategy_spec.rb
205
+ - spec/trecs/recording_strategies/file_frames_strategy_spec.rb
185
206
  - spec/trecs/recording_strategies/fly_from_right_strategy_spec.rb
186
207
  - spec/trecs/recording_strategies/hash_strategy_spec.rb
187
208
  - spec/trecs/recording_strategies/incremental_strategy_spec.rb
188
209
  - spec/trecs/recording_strategies/raw_file_strategy_spec.rb
189
210
  - spec/trecs/recording_strategies/shell_command_strategy_spec.rb
211
+ - spec/trecs/sources/tgz_source_spec.rb
190
212
  - spec/trecs/tickers/clock_ticker_spec.rb
191
213
  - spec/trecs/writers/in_memory_writer_spec.rb
214
+ - spec/trecs/writers/json_writer_spec.rb
@@ -1,198 +0,0 @@
1
- require "spec_helper"
2
-
3
- require "player"
4
- require "screens/terminal_screen"
5
-
6
- module TRecs
7
- class DummyPlayer < Player
8
- def initialize(options={})
9
- frames = options.fetch(:frames) { nil }
10
- @frames = frames.is_a?(Hash) ? frames : Array(frames)
11
- super
12
- end
13
-
14
-
15
- def get_timestamps
16
- @frames.keys
17
- end
18
-
19
- def get_frame(time)
20
- @frames[time]
21
- end
22
- end
23
-
24
- class DummyOutput
25
- def initialize
26
- @output = []
27
- end
28
-
29
- def puts(str=nil)
30
- @output << str.to_s
31
- end
32
-
33
- def clear
34
- @output << :clear_screen
35
- end
36
-
37
- def raw_output
38
- @output
39
- end
40
-
41
- def output
42
- @output.select { |f| f.is_a? String }
43
- end
44
- end
45
-
46
-
47
- describe Player do
48
- define :have_frames do |expected|
49
- match do |actual|
50
- raw_expected = expected.map { |o| [:clear_screen, o] }.flatten
51
- a = actual.raw_output == raw_expected
52
- b = actual.output == expected
53
- a && b
54
- end
55
- end
56
-
57
- def create_recording
58
- frames = {}
59
- yield frames
60
- DummyPlayer.new(frames: frames, output: output)
61
- end
62
-
63
- let(:output) { DummyOutput.new }
64
-
65
- it "reads a one frame screencast" do
66
- player = create_recording do |frames|
67
- frames[0] = "FIRST FRAME"
68
- end
69
-
70
- player.play
71
-
72
- output.should have_frames ["FIRST FRAME"]
73
- end
74
-
75
- it "returns the frame at certain time" do
76
- player = create_recording do |frames|
77
- frames[0] = "FIRST FRAME",
78
- frames[100] = "FRAME AT 100"
79
- end
80
-
81
- player.play_frame(100)
82
-
83
- output.should have_frames ["FRAME AT 100"]
84
- end
85
-
86
- it "returns the previous frame if no frame at certain time" do
87
- player = create_recording do |frames|
88
- frames[0] = "FIRST FRAME"
89
- frames[100] = "FRAME AT 100"
90
- frames[200] = "FRAME AT 200"
91
- end
92
-
93
- player.play_frame(111)
94
-
95
- output.output.should == ["FRAME AT 100"]
96
- end
97
-
98
- it "returns the last frame if asking for exceeding time" do
99
- player = create_recording do |frames|
100
- frames[0] = "FIRST FRAME"
101
- frames[100] = "FRAME AT 100"
102
- frames[200] = "FRAME AT 200"
103
- end
104
-
105
- player.play_frame(201)
106
-
107
- output.should have_frames ["FRAME AT 200"]
108
-
109
- end
110
-
111
- describe "multiple frame screencast" do
112
- it "playing two frames" do
113
- player = create_recording do |frames|
114
- frames[0] = "FIRST FRAME"
115
- frames[100] = "FRAME AT 100"
116
- end
117
-
118
- player.play
119
-
120
- output.should have_frames [
121
- "FIRST FRAME",
122
- "FRAME AT 100"
123
- ]
124
- end
125
-
126
- it "playing all the frames" do
127
- player = create_recording do |frames|
128
- frames[0] = "FIRST FRAME"
129
- frames[100] = "FRAME AT 100"
130
- frames[200] = "FRAME AT 200"
131
- end
132
-
133
- player.play
134
-
135
- output.should have_frames [
136
- "FIRST FRAME",
137
- "FRAME AT 100",
138
- "FRAME AT 200"
139
- ]
140
- end
141
-
142
- it "playing a recording" do
143
- player = create_recording do |frames|
144
- frames[0] = "FIRST FRAME"
145
- frames[100] = "FRAME AT 100"
146
- frames[200] = "FRAME AT 200"
147
- frames[301] = "FRAME AT 301"
148
- frames[499] = "FRAME AT 499"
149
- frames[599] = "FRAME AT 599"
150
- end
151
-
152
- player.play
153
-
154
- output.should have_frames [
155
- "FIRST FRAME",
156
- "FRAME AT 100",
157
- "FRAME AT 200",
158
- "FRAME AT 200",
159
- "FRAME AT 301",
160
- "FRAME AT 499",
161
- "FRAME AT 599",
162
- ]
163
- end
164
- end
165
-
166
- context "Timestamps" do
167
- it "returns all the frame timestamps" do
168
- player = create_recording do |frames|
169
- frames[0] = "FIRST FRAME"
170
- frames[100] = "FRAME AT 100"
171
- frames[200] = "FRAME AT 200"
172
- end
173
-
174
- player.timestamps.should == [0, 100, 200]
175
-
176
- end
177
-
178
- end
179
-
180
- context "output" do
181
- it "receives a Screen object to manage output" do
182
- player = Player.new(output: :output)
183
-
184
- player.output.should == :output
185
- end
186
-
187
- it "defaults to the Terminal Screen" do
188
- player = Player.new
189
-
190
- player.output.class.should == TerminalScreen
191
- end
192
-
193
- context "message ... puts ... print" do
194
- end
195
- end
196
- end
197
-
198
- end