ttytest 0.5.0 → 0.6.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 91adbf5abccf48f1626c908ebbccc8ad13bcc67b
4
- data.tar.gz: f244bd9c2970b4af1704ac84f6bf1a6fb2b8975e
2
+ SHA256:
3
+ metadata.gz: 6c4131b6211dfccc9feb932f2e3eafa11e2d63aeb5f73243b87dd2d5d805b3cd
4
+ data.tar.gz: 8a0c0e1fd412c1d44744833775c1a21ac519ad20e5970ab55eadae372b1b420d
5
5
  SHA512:
6
- metadata.gz: fe2ec46d18232b2e0e16c54d827a8efba1628d114cc4c42a78254a114cfd9eb8e9ec009074d298de95fafb8820a2ee283b816b1cce59ab0f1eea4070b57e0025
7
- data.tar.gz: 5e23a41408ff1cc4840e33a4049258434b16f17c3614994c4850df1e9adafda0dc9c1cdb57430035b3ebdf1d504b75d43df8301e32a53ebe7d2706ed03fe0f5b
6
+ metadata.gz: 4d2202449e0e68bdf2b796a9102fdaf9b0e95c4465b84c7e670a6154451e9238110b405ff687b84bbb188e0cbcaa2b58096e600e9b5e8d777bc2cbf18ef933a8
7
+ data.tar.gz: 96eed73a08289bbb511e6fc0a7af4171f123087a4673c64430bc2105b70e32cd28d11272de762238570e7e9472dfce0a5ae93bbd0b79452490861dbea270b44c
@@ -0,0 +1,20 @@
1
+ name: Test
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ test:
7
+
8
+ runs-on: ubuntu-latest
9
+
10
+ steps:
11
+ - uses: actions/checkout@v1
12
+ - name: Set up Ruby 2.6
13
+ uses: actions/setup-ruby@v1
14
+ with:
15
+ ruby-version: 2.6.x
16
+ - name: Build and test with Rake
17
+ run: |
18
+ gem install bundler
19
+ bundle install --jobs 4 --retry 3
20
+ bundle exec rake
data/README.md CHANGED
@@ -2,7 +2,6 @@ TTYtest is an acceptance test framework for interactive console applications. It
2
2
 
3
3
  It works by running commands inside a tmux session, capturing the pane, and comparing the content. The assertions will wait a specified amount of time (default 2 seconds) for the expected content to appear.
4
4
 
5
- [![Build Status](https://travis-ci.org/jhawthorn/ttytest.svg?branch=master)](https://travis-ci.org/jhawthorn/ttytest)
6
5
  [![Gem Version](https://badge.fury.io/rb/ttytest.svg)](https://rubygems.org/gems/ttytest)
7
6
 
8
7
  ## Requirements
@@ -51,9 +51,9 @@ module TTYtest
51
51
  def_delegators :capture, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden?
52
52
 
53
53
  TTYtest::Matchers::METHODS.each do |matcher_name|
54
- define_method matcher_name do |*args|
54
+ define_method matcher_name do |*args, **kwargs|
55
55
  synchronize do
56
- capture.public_send(matcher_name, *args)
56
+ capture.public_send(matcher_name, *args, **kwargs)
57
57
  end
58
58
  end
59
59
  end
@@ -43,12 +43,21 @@ module TTYtest
43
43
  ensure_available
44
44
  puts "tmux(#{args.inspect[1...-1]})" if debug?
45
45
 
46
- stdout, stderr, status = Open3.capture3(@tmux_cmd, '-L', SOCKET_NAME, *args)
47
- raise TmuxError, "tmux(#{args.inspect[1...-1]}) failed\n#{stderr}" unless status.success?
48
- stdout
46
+ cmd = [@tmux_cmd, '-L', SOCKET_NAME, *args]
47
+ output = nil
48
+ status = nil
49
+ IO.popen(cmd, err: [:child, :out]) do |io|
50
+ output = io.read
51
+ io.close
52
+ status = $?
53
+ end
54
+
55
+ raise TmuxError, "tmux(#{args.inspect[1...-1]}) failed\n#{output}" unless status&.success?
56
+ output
49
57
  end
50
58
 
51
59
  def available?
60
+ return false unless tmux_version
52
61
  @available ||= (Gem::Version.new(tmux_version) >= Gem::Version.new(REQUIRED_TMUX_VERSION))
53
62
  end
54
63
 
@@ -1,3 +1,3 @@
1
1
  module TTYtest
2
- VERSION = '0.5.0'
2
+ VERSION = '0.6.0'
3
3
  end
data/ttytest.gemspec CHANGED
@@ -23,8 +23,8 @@ Gem::Specification.new do |spec|
23
23
 
24
24
  spec.required_ruby_version = '>= 2.1.0'
25
25
 
26
- spec.add_development_dependency "bundler", "~> 1.7"
27
- spec.add_development_dependency "rake", "~> 10.0"
26
+ spec.add_development_dependency "bundler"
27
+ spec.add_development_dependency "rake"
28
28
  spec.add_development_dependency "minitest", "~> 5.0"
29
29
  spec.add_development_dependency "yard"
30
30
  end
metadata CHANGED
@@ -1,43 +1,42 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ttytest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Hawthorn
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2017-02-08 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: bundler
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - "~>"
16
+ - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: '1.7'
18
+ version: '0'
20
19
  type: :development
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
- - - "~>"
23
+ - - ">="
25
24
  - !ruby/object:Gem::Version
26
- version: '1.7'
25
+ version: '0'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: rake
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
- - - "~>"
30
+ - - ">="
32
31
  - !ruby/object:Gem::Version
33
- version: '10.0'
32
+ version: '0'
34
33
  type: :development
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
- - - "~>"
37
+ - - ">="
39
38
  - !ruby/object:Gem::Version
40
- version: '10.0'
39
+ version: '0'
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: minitest
43
42
  requirement: !ruby/object:Gem::Requirement
@@ -74,8 +73,8 @@ executables: []
74
73
  extensions: []
75
74
  extra_rdoc_files: []
76
75
  files:
76
+ - ".github/workflows/test.yml"
77
77
  - ".gitignore"
78
- - ".travis.yml"
79
78
  - Gemfile
80
79
  - README.md
81
80
  - Rakefile
@@ -92,7 +91,6 @@ homepage: https://github.com/jhawthorn/ttytest
92
91
  licenses:
93
92
  - MIT
94
93
  metadata: {}
95
- post_install_message:
96
94
  rdoc_options: []
97
95
  require_paths:
98
96
  - lib
@@ -107,9 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
105
  - !ruby/object:Gem::Version
108
106
  version: '0'
109
107
  requirements: []
110
- rubyforge_project:
111
- rubygems_version: 2.6.8
112
- signing_key:
108
+ rubygems_version: 3.6.7
113
109
  specification_version: 4
114
110
  summary: TTYtest is an integration test framework for interactive tty applications
115
111
  test_files: []
data/.travis.yml DELETED
@@ -1,14 +0,0 @@
1
- dist: trusty
2
- language: ruby
3
- cache: bundler
4
- sudo: false
5
- before_script:
6
- - tmux -V
7
- rvm:
8
- - 2.2.6
9
- - 2.3.3
10
- - 2.4.0
11
- addons:
12
- apt:
13
- packages:
14
- - tmux