diff options
Diffstat (limited to 'features/step_definitions/evince.rb')
-rw-r--r-- | features/step_definitions/evince.rb | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/features/step_definitions/evince.rb b/features/step_definitions/evince.rb index d9bb42c1..9411ac4d 100644 --- a/features/step_definitions/evince.rb +++ b/features/step_definitions/evince.rb @@ -1,20 +1,25 @@ When /^I(?:| try to) open "([^"]+)" with Evince$/ do |filename| - next if @skip_steps_while_restoring_background step "I run \"evince #{filename}\" in GNOME Terminal" end Then /^I can print the current document to "([^"]+)"$/ do |output_file| - next if @skip_steps_while_restoring_background @screen.type("p", Sikuli::KeyModifier.CTRL) @screen.wait("EvincePrintDialog.png", 10) @screen.wait_and_click("EvincePrintToFile.png", 10) - @screen.wait_and_double_click("EvincePrintOutputFile.png", 10) - @screen.hide_cursor - @screen.wait("EvincePrintOutputFileSelected.png", 10) + @screen.wait_and_click("EvincePrintOutputFileButton.png", 10) + @screen.wait("EvincePrintFileDialog.png", 10) # Only the file's basename is selected by double-clicking, # so we type only the desired file's basename to replace it - @screen.type(output_file.sub(/[.]pdf$/, '') + Sikuli::Key.ENTER) + $vm.set_clipboard(output_file.sub(/[.]pdf$/, '')) + @screen.type('v', Sikuli::KeyModifier.CTRL) + @screen.type(Sikuli::Key.ENTER) + @screen.wait_and_click("EvincePrintButton.png", 10) try_for(10, :msg => "The document was not printed to #{output_file}") { - @vm.file_exist?(output_file) + $vm.file_exist?(output_file) } end + +When /^I close Evince$/ do + @screen.type("w", Sikuli::KeyModifier.CTRL) + step 'process "evince" has stopped running after at most 20 seconds' +end |