Test blocking worker (UAT)
This commit is contained in:
@@ -27,6 +27,17 @@ Then /^the output must not match \/([^\/]+)\/([a-z]*)$/ do |pattern, options|
|
||||
expect(all_output).not_to match Regexp.new(pattern, options)
|
||||
end
|
||||
|
||||
Then /^the output must match \/([^\/]+)\/([a-z]*) at least (\d+) times$/ do
|
||||
|pattern, options, times|
|
||||
uhwm_wait_output Regexp.new(pattern, options), times.to_i
|
||||
end
|
||||
|
||||
Then /^the output must match \/([^\/]+)\/([a-z]*) exactly (\d+) times$/ do
|
||||
|pattern, options, times|
|
||||
scans = uhwm_wait_output Regexp.new(pattern, options)
|
||||
expect(scans.size).to eq times.to_i
|
||||
end
|
||||
|
||||
Then /^the output must contain:$/ do |content|
|
||||
uhwm_wait_output content.to_s
|
||||
end
|
||||
|
@@ -9,6 +9,10 @@ When /^I press the ([^ ]+) keys?$/ do |keys|
|
||||
x_key keys
|
||||
end
|
||||
|
||||
When /^I press the ([^ ]+) keys? (\d+) times$/ do |keys, times|
|
||||
times.to_i.times { x_key keys }
|
||||
end
|
||||
|
||||
When /^a window requests to be mapped$/ do
|
||||
x_client.map.sync
|
||||
end
|
||||
|
15
features/workers/block.feature
Normal file
15
features/workers/block.feature
Normal file
@@ -0,0 +1,15 @@
|
||||
Feature: blocking worker
|
||||
|
||||
Scenario: processes initial events
|
||||
Given uhwm is running with options -d -w block
|
||||
Then the output must match /xevent/i at least 2 times
|
||||
|
||||
Scenario: processes generated events
|
||||
Given a run control file with:
|
||||
"""
|
||||
key(:f) { puts 'testing_worker_read' }
|
||||
"""
|
||||
And uhwm is running with options -d -w block
|
||||
When I press the alt+f key 3 times
|
||||
And I quit uhwm
|
||||
Then the output must match /(testing_worker_read)/ exactly 3 times
|
Reference in New Issue
Block a user