ruby_expect 1.7.3 → 1.7.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ruby_expect/expect.rb +24 -3
- data/lib/ruby_expect/version.rb +1 -1
- data/ruby_expect.gemspec +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81ae9b14b956734e8da1670eddd7670fb9b56a1b
|
4
|
+
data.tar.gz: 9a66c895fc337a6aad9ffb262b0fd6789f9f0dcd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bded1369bd44f3ad4028ba6fad6e1238527ba04fa958a0f817c93ddadb8fdd59a5332ee24d2c5084f31ea5a1cb18bedea5626c1dd8439b0f2e0670c480cd5d68
|
7
|
+
data.tar.gz: b0e4f6871dca5d289277dd7acaea524908a711ae9f5d774babd369fb77e20bd816e8ca3ba492cf71217d5bdae2509b025bfa5bb9d63bfa318c5fe349e025c873
|
data/lib/ruby_expect/expect.rb
CHANGED
@@ -105,6 +105,7 @@ module RubyExpect
|
|
105
105
|
end
|
106
106
|
|
107
107
|
@buffer = ''
|
108
|
+
@log_buffer = ''
|
108
109
|
@before = ''
|
109
110
|
@match = ''
|
110
111
|
@timeout = 0
|
@@ -257,7 +258,7 @@ module RubyExpect
|
|
257
258
|
# end
|
258
259
|
#
|
259
260
|
def expect *patterns, &block
|
260
|
-
@logger.debug("Expecting #{patterns.inspect}") if @logger.debug?
|
261
|
+
@logger.debug("Expecting: #{patterns.inspect}") if @logger.debug?
|
261
262
|
patterns = pattern_escape(*patterns)
|
262
263
|
@end_time = 0
|
263
264
|
if (@timeout != 0)
|
@@ -272,7 +273,8 @@ module RubyExpect
|
|
272
273
|
@last_match = nil
|
273
274
|
patterns.each_index do |i|
|
274
275
|
if (match = patterns[i].match(@buffer))
|
275
|
-
|
276
|
+
log_buffer(true)
|
277
|
+
@logger.debug(" Matched: #{match}") if @logger.debug?
|
276
278
|
@last_match = match
|
277
279
|
@before = @buffer.slice!(0...match.begin(0))
|
278
280
|
@match = @buffer.slice!(0...match.to_s.length)
|
@@ -323,6 +325,22 @@ module RubyExpect
|
|
323
325
|
end
|
324
326
|
|
325
327
|
private
|
328
|
+
def log_buffer incomplete_lines=false
|
329
|
+
return unless @logger.info?
|
330
|
+
if @log_buffer =~ /[\r\n]/
|
331
|
+
lines = @log_buffer.split(/[\r\n]+/, -1)
|
332
|
+
@log_buffer = lines.pop
|
333
|
+
lines.each do |line|
|
334
|
+
@logger.info(" Received: #{line.scan(/[[:print:]]/).join}")
|
335
|
+
end
|
336
|
+
end
|
337
|
+
|
338
|
+
if incomplete_lines and @log_buffer !~ /^\s*$/
|
339
|
+
@logger.info(" Received: #{@log_buffer.scan(/[[:print:]]/).join}")
|
340
|
+
@log_buffer = ''
|
341
|
+
end
|
342
|
+
end
|
343
|
+
|
326
344
|
def interact_loop stdin
|
327
345
|
done = false
|
328
346
|
while (! done)
|
@@ -359,7 +377,10 @@ module RubyExpect
|
|
359
377
|
else
|
360
378
|
input = @read_fh.readpartial(4096)
|
361
379
|
@buffer << input
|
362
|
-
|
380
|
+
if @logger.info?
|
381
|
+
@log_buffer << input
|
382
|
+
log_buffer
|
383
|
+
end
|
363
384
|
end
|
364
385
|
end
|
365
386
|
rescue EOFError => e
|
data/lib/ruby_expect/version.rb
CHANGED
data/ruby_expect.gemspec
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: ruby_expect 1.7.
|
2
|
+
# stub: ruby_expect 1.7.4 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "ruby_expect"
|
6
|
-
s.version = "1.7.
|
6
|
+
s.version = "1.7.4"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib"]
|