ttytest2 0.9.10 → 0.9.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f5b2fc10663d92fceff0b916a649e110960a154bcf293ced77a4720f5bbaf56c
4
- data.tar.gz: '066281ff0a686fb4d1e44aff5019c36dfbecf493f6ea76b72347577b27764aff'
3
+ metadata.gz: 3ee6dc964334b3c1a099faf8a5f4701b8a594fc0e948f02ae11f233d612c55bd
4
+ data.tar.gz: e27455bec4bbb72e73b264ccf4261c3ff75a47a6ae52459cc7d302fcb789c3a5
5
5
  SHA512:
6
- metadata.gz: 99393d6258719b1e56f7177bc646800dffa6249281a119a4e2e72ea5069f52873f269d195246d203e0daa67e60c7800fb883c77e4c3343db8c1c6013b3c88bb8
7
- data.tar.gz: 7d6059bae47250df596187405609974eebcd80af454969806be91df6c8fc350b373e931a1960bfcca37cf9864240406e3a9340385df50237be91e95419b6dd0a
6
+ metadata.gz: 8d15dba3585a6a82a3d6f67749bc90ad58d750ecf6c30971ab3b99df8be56343f03488dba2161c3ee299a4cfc6b9c3362b013e7c6e6b7870cf663defbac90ece
7
+ data.tar.gz: 49d7505801519f03ecd0b6dc2c0dadf8ed0cb7b3c203ddac23b25f1739942e21206a0aed6603443aadfa38e1d8bd86a38c01b64165e6bf0d4900b8a00ad64bf7
data/.bundle/config ADDED
@@ -0,0 +1,2 @@
1
+ ---
2
+ BUNDLE_LOCKFILE_CHECKSUMS: "true"
@@ -13,10 +13,12 @@ module TTYtest
13
13
  NEWLINE = 10.chr # \n
14
14
  VERTICAL_TAB = 11.chr # \v
15
15
  FORM_FEED = 12.chr # \f
16
+ CTRLL = 12.chr
16
17
  CARRIAGE_RETURN = 13.chr # \r
17
18
  CTRLU = 21.chr
18
19
  CTRLW = 23.chr
19
20
  ESCAPE = 27.chr # ^[ or /033 or /e
21
+ CTRL_ = 31.chr
20
22
  DELETE = 127.chr
21
23
 
22
24
  UP_ARROW = "#{ESCAPE}[A".freeze
@@ -13,9 +13,9 @@ module TTYtest
13
13
 
14
14
  # @api private
15
15
  # @see TTYtest.new_terminal
16
- def initialize(driver_terminal, max_wait_time: nil)
16
+ def initialize(driver_terminal)
17
17
  @driver_terminal = driver_terminal
18
- @max_wait_time = max_wait_time || TTYtest.default_max_wait_time
18
+ @max_wait_time = TTYtest.default_max_wait_time
19
19
  end
20
20
 
21
21
  # @!method send_keys(*keys)
@@ -45,7 +45,7 @@ module TTYtest
45
45
  puts "tmux(#{args.inspect[1...-1]})" if debug?
46
46
 
47
47
  stdout, stderr, status = Open3.capture3(@tmux_cmd, '-L', SOCKET_NAME, *args)
48
- raise TmuxError, "tmux(#{args.inspect[1...-1]}) failed\n#{stderr}" unless status.success?
48
+ raise TmuxError, "tmux(#{args.inspect[1...-1]}) failed\n#{stderr}" unless !status.nil? && status.success?
49
49
 
50
50
  stdout
51
51
  end
@@ -6,17 +6,18 @@ module TTYtest
6
6
  class Session
7
7
  # @api private
8
8
  def initialize(driver, name)
9
+ @id = SecureRandom.uuid
9
10
  @driver = driver
10
11
  @name = name
11
12
 
12
- # ObjectSpace.define_finalizer(self, self.class.finalize(driver, name))
13
+ ObjectSpace.define_finalizer(@id, proc {
14
+ begin
15
+ driver.tmux(*%W[kill-session -t #{name}])
16
+ rescue ThreadError => _e # final session always throws, ThreadError can't alloc new
17
+ end
18
+ })
13
19
  end
14
20
 
15
- # @api private
16
- # def self.finalize(driver, name)
17
- # proc { driver.tmux(*%W[kill-session -t #{name}]) }
18
- # end
19
-
20
21
  def capture
21
22
  contents = driver.tmux(*%W[capture-pane -t #{name} -p])
22
23
  str = driver.tmux(*%W[display-message -t #{name} -p
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TTYtest
4
- VERSION = '0.9.10'
4
+ VERSION = '0.9.11'
5
5
  end
data/notes.txt CHANGED
@@ -1,7 +1,7 @@
1
1
  to push new version to github
2
- git tag v0.9.10
2
+ git tag v0.9.11
3
3
  git push origin --tags
4
4
 
5
5
  to push new version to rubygems.org
6
6
  gem build ttytest2.gemspec
7
- gem push ttytest2-0.9.10.gem
7
+ gem push ttytest2-0.9.11.gem
data/ttytest2.gemspec CHANGED
@@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
26
26
 
27
27
  spec.add_development_dependency 'bundler', '~> 2.4'
28
28
  spec.add_development_dependency 'minitest', '~> 5.0'
29
+ spec.add_development_dependency 'open3', '~> 0.2'
29
30
  spec.add_development_dependency 'rake', '~> 13.0'
30
31
  spec.add_development_dependency 'yard', '~> 0.9'
31
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ttytest2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.10
4
+ version: 0.9.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Eski
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-12-24 00:00:00.000000000 Z
11
+ date: 2025-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '5.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: open3
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.2'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.2'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -74,6 +88,7 @@ executables: []
74
88
  extensions: []
75
89
  extra_rdoc_files: []
76
90
  files:
91
+ - ".bundle/config"
77
92
  - ".github/workflows/test.yml"
78
93
  - ".gitignore"
79
94
  - Gemfile