expect-behaviors 0.1.1

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.
@@ -0,0 +1,64 @@
1
+ require 'helper'
2
+ require 'expect/match'
3
+
4
+ class TestExpectMatch < Test::Unit::TestCase
5
+
6
+ context "on match" do
7
+
8
+ should "return false for #nil?" do
9
+ match = Expect::Match.new(expr1, buffer1)
10
+ assert_false(match.nil?)
11
+ end
12
+
13
+ should "return full buffer by calling #buffer method" do
14
+ match = Expect::Match.new(expr1, buffer1)
15
+ assert(buffer1, match.buffer)
16
+ end
17
+
18
+ should "return matching buffer text when calling #exact_match_string" do
19
+ match = Expect::Match.new(expr1, buffer1)
20
+ assert_equal(expr1.source, match.exact_match_string)
21
+ end
22
+
23
+ should "return the part of the buffer up to the first matching text when calling #substring_up_to_match" do
24
+ match = Expect::Match.new(expr1, buffer1)
25
+ assert_equal("testing\nbob", match.substring_up_to_match)
26
+ assert_equal("testing\nbob", match.to_s)
27
+ end
28
+
29
+ should "return the part of the buffer following the first matching text when calling #substring_remainder" do
30
+ match = Expect::Match.new(expr1, buffer1)
31
+ assert_equal(" is cool\nbob is good", match.substring_remainder)
32
+ end
33
+ end
34
+
35
+ context "on non match" do
36
+ should "return true for #nil?" do
37
+ match = Expect::Match.new(expr_no_match, buffer1)
38
+ assert(match.nil?)
39
+ end
40
+
41
+ should "return nil for #to_s" do
42
+ match = Expect::Match.new(expr_no_match, buffer1)
43
+ assert_equal(nil, match.to_s)
44
+ assert_equal(nil, match.substring_up_to_match)
45
+ end
46
+
47
+ should "return full buffer for #substring_remainder" do
48
+ match = Expect::Match.new(expr_no_match, buffer1)
49
+ assert_equal(buffer1, match.substring_remainder)
50
+ end
51
+ end
52
+
53
+ def expr1
54
+ /bob/
55
+ end
56
+
57
+ def expr_no_match
58
+ /no matches/
59
+ end
60
+
61
+ def buffer1
62
+ "testing\nbob is cool\nbob is good"
63
+ end
64
+ end
@@ -0,0 +1,34 @@
1
+ require 'helper'
2
+ require 'class_including_expect_behavior'
3
+
4
+ class TestIncluderClass < Test::Unit::TestCase
5
+ context "includer class" do
6
+ setup do
7
+ @includer = ClassIncludingExpectBehavior.new
8
+ end
9
+
10
+ should "have a method #exp_buffer which returns the current contents of the input buffer" do
11
+ assert(@includer.respond_to?(:exp_buffer))
12
+ end
13
+
14
+ should "have a method #process which processes session input for some amount of time and updates the input
15
+ buffer" do
16
+ assert(@includer.respond_to?(:exp_process))
17
+ end
18
+
19
+ should "set @wait_sec when initialized with kwarg: 'wait'" do
20
+ assert_equal(10, ClassIncludingExpectBehavior.new(wait: 10).instance_variable_get(:@wait_sec))
21
+ end
22
+
23
+ should "return empty string for exp_process by default" do
24
+ assert_equal('', @includer.exp_process)
25
+ end
26
+
27
+ should "return buffer values in sequence when init with kwarg: 'values'" do
28
+ includer = ClassIncludingExpectBehavior.new(values: ["one", "TWO"])
29
+ assert_equal("one", includer.exp_process)
30
+ assert_equal("oneTWO", includer.exp_process)
31
+ end
32
+
33
+ end
34
+ end
metadata ADDED
@@ -0,0 +1,250 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: expect-behaviors
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Francis Luong (Franco)
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-03-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: net-ssh
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.9.2
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: '2.9'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 2.9.2
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '2.9'
33
+ - !ruby/object:Gem::Dependency
34
+ name: codeclimate-test-reporter
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: mocha
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.1.0
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '1.1'
57
+ type: :development
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 1.1.0
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '1.1'
67
+ - !ruby/object:Gem::Dependency
68
+ name: pry
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: 0.10.1
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: 0.10.1
81
+ - !ruby/object:Gem::Dependency
82
+ name: shoulda
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ version: 3.5.0
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '3.5'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: 3.5.0
98
+ - - "~>"
99
+ - !ruby/object:Gem::Version
100
+ version: '3.5'
101
+ - !ruby/object:Gem::Dependency
102
+ name: shoulda-context
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: 1.2.1
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.2'
111
+ type: :development
112
+ prerelease: false
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: 1.2.1
118
+ - - "~>"
119
+ - !ruby/object:Gem::Version
120
+ version: '1.2'
121
+ - !ruby/object:Gem::Dependency
122
+ name: rdoc
123
+ requirement: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '3.12'
128
+ type: :development
129
+ prerelease: false
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: '3.12'
135
+ - !ruby/object:Gem::Dependency
136
+ name: bundler
137
+ requirement: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: '1.0'
142
+ type: :development
143
+ prerelease: false
144
+ version_requirements: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - "~>"
147
+ - !ruby/object:Gem::Version
148
+ version: '1.0'
149
+ - !ruby/object:Gem::Dependency
150
+ name: jeweler
151
+ requirement: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: 2.0.0
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '2.0'
159
+ type: :development
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: 2.0.0
166
+ - - "~>"
167
+ - !ruby/object:Gem::Version
168
+ version: '2.0'
169
+ - !ruby/object:Gem::Dependency
170
+ name: test-unit
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: 2.5.5
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '2.5'
179
+ type: :development
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: 2.5.5
186
+ - - "~>"
187
+ - !ruby/object:Gem::Version
188
+ version: '2.5'
189
+ description: Ruby Mixin to add Expect Behaviors to SSH/Serial/Telnet controllers
190
+ email: me@francisluong.com
191
+ executables: []
192
+ extensions: []
193
+ extra_rdoc_files:
194
+ - LICENSE
195
+ - README.md
196
+ files:
197
+ - ".document"
198
+ - ".ruby-version"
199
+ - ".travis.yml"
200
+ - Gemfile
201
+ - Gemfile.lock
202
+ - LICENSE
203
+ - README.md
204
+ - Rakefile
205
+ - VERSION
206
+ - examples/example_ssh_localhost.rb
207
+ - expect-behaviors.gemspec
208
+ - lib/expect/behavior.rb
209
+ - lib/expect/match.rb
210
+ - lib/expect/ssh.rb
211
+ - lib/expect/timeout_error.rb
212
+ - tasks/doc.rake
213
+ - tasks/jeweler.rake
214
+ - tasks/test.rake
215
+ - test/acceptance/sshd/erb/ssh_config.erb
216
+ - test/acceptance/sshd/erb/sshd_config.erb
217
+ - test/acceptance/test_expect_behaviors_slow_tests.rb
218
+ - test/acceptance/test_expect_ssh.rb
219
+ - test/class_including_expect_behavior.rb
220
+ - test/helper.rb
221
+ - test/sshd.rb
222
+ - test/unit/expect/test_expect_behaviors.rb
223
+ - test/unit/expect/test_expect_match.rb
224
+ - test/unit/expect/test_includer_class.rb
225
+ homepage: http://github.com/francisluong/expect-behaviors
226
+ licenses:
227
+ - MIT
228
+ metadata: {}
229
+ post_install_message:
230
+ rdoc_options: []
231
+ require_paths:
232
+ - lib
233
+ required_ruby_version: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ required_rubygems_version: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: '0'
243
+ requirements: []
244
+ rubyforge_project:
245
+ rubygems_version: 2.4.6
246
+ signing_key:
247
+ specification_version: 4
248
+ summary: Ruby Mixin to add Expect Behaviors
249
+ test_files: []
250
+ has_rdoc: