win_gui 0.2.15 → 0.2.16

Sign up to get free protection for your applications and to get access to all the features.
data/HISTORY CHANGED
@@ -65,3 +65,7 @@
65
65
  == 0.2.15 / 2010-10-05
66
66
 
67
67
  * Window.find added as alias to Window.top_level
68
+
69
+ == 0.2.16 / 2010-10-06
70
+
71
+ * Debug removed
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.15
1
+ 0.2.16
@@ -8,13 +8,13 @@ module WinGui
8
8
 
9
9
  def initialize(window_or_handle)
10
10
  @main_window = case window_or_handle
11
- when Window
12
- window_or_handle
13
- when Integer
14
- Window.new window_or_handle
15
- else
16
- raise WinGui::Errors::InitError, "Unable to create App from #{window_or_handle.inspect}"
17
- end
11
+ when Window
12
+ window_or_handle
13
+ when Integer
14
+ Window.new window_or_handle
15
+ else
16
+ raise WinGui::Errors::InitError, "Unable to create App from #{window_or_handle.inspect}"
17
+ end
18
18
  end
19
19
 
20
20
  # Exits application (optionally waiting _timeout_ seconds for main window to close)
@@ -25,8 +25,9 @@ module WinGui
25
25
  sleep SLEEP_DELAY while @main_window.window?
26
26
  end
27
27
  end
28
- # @main_window.wait_for_close(timeout) if timeout
28
+ # @main_window.wait_for_close(timeout) if timeout - does not work as Window#wait_for_close relies on window_visible?
29
29
  end
30
+
30
31
  alias_method :exit, :close
31
32
 
32
33
  class << self
@@ -40,7 +41,6 @@ module WinGui
40
41
  #
41
42
  def find(opts)
42
43
  main_window = Window.top_level(opts)
43
- # raise WinGui::Errors::InitError, "Unable to find App with #{opts.inspect}" unless main_window
44
44
  main_window ? new(main_window) : nil
45
45
  end
46
46
 
@@ -72,20 +72,25 @@ module WinGui
72
72
 
73
73
  def launch_app(app_path, dir_path)
74
74
 
75
- raise WinGui::Errors::InitError, "Unable to launch #{app_path.inspect}" unless File.exists? app_path.to_s
76
- command = cygwin? ? "cmd /c start `cygpath -w #{app_path}`" : "start #{app_path.to_s.gsub(/\//, "\\")}"
75
+ app = cygwin? ? app_path.to_s : app_path.to_s.gsub(/\//, "\\")
76
+ command = cygwin? ? "cmd /c start `cygpath -w #{app}`" : "start #{app}"
77
77
 
78
78
  if dir_path
79
- raise WinGui::Errors::InitError, "Unable to change to #{dir_path.inspect}" unless File.exists? dir_path.to_s
80
- command = "cd #{cygwin? ? dir_path : dir_path.to_s.gsub(/\//, "\\")} && #{command}"
79
+ dir = cygwin? ? dir_path.to_s : dir_path.to_s.gsub(/\//, "\\")
80
+ unless File.exists?(dir) && File.directory?(dir)
81
+ raise WinGui::Errors::InitError, "Unable to change to #{dir_path.inspect}"
82
+ end
83
+ unless File.exists?(app) || File.exists?(File.join(dir, app))
84
+ raise WinGui::Errors::InitError, "Unable to launch #{app_path.inspect}"
85
+ end
86
+ command = "cd #{dir} && #{command}"
87
+ else
88
+ raise WinGui::Errors::InitError, "Unable to launch #{app_path.inspect}" unless File.exists? app
81
89
  end
82
90
 
83
91
  # Launch App in a separate window
84
- p command
85
- system command # TODO: make sure only valid commands are fed into system
86
- p "Returned from system"
92
+ system command # TODO: make sure only valid commands are fed into system
87
93
  end
88
-
89
94
  end
90
95
  end
91
96
  end
@@ -15,7 +15,7 @@ module WinGui
15
15
  # Private method to dry up other window lookup methods
16
16
  #
17
17
  def lookup_window(opts) # :yields: index, position
18
- # Need this to avoid handle considered local in begin..end block
18
+ # Need this to avoid handle considered local var in begin..end block
19
19
  handle = yield
20
20
  if opts[:timeout]
21
21
  begin
@@ -41,7 +41,6 @@ module WinGui
41
41
  def top_level(opts={})
42
42
  lookup_window(opts) { WinGui.find_window opts[:class], opts[:title] }
43
43
  end
44
-
45
44
  alias_method :find, :top_level
46
45
  end
47
46
 
@@ -1,5 +1,5 @@
1
1
  # encoding: UTF-8
2
- require File.join(File.dirname(__FILE__), "spec_helper" )
2
+ require_relative "spec_helper.rb"
3
3
 
4
4
  module WinGuiTest
5
5
 
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), "..", "spec_helper")
1
+ require_relative "../spec_helper.rb"
2
2
 
3
3
  module WinGuiTest
4
4
 
@@ -69,6 +69,16 @@ module WinGuiTest
69
69
  expect { App.launch(path: APP_PATH, title: IMPOSSIBLE) }.
70
70
  to raise_error WinGui::Errors::InitError, /Unable to launch App with .*?:title=>"Impossible"/
71
71
  end
72
+
73
+ it 'changes to given valid directory before launch' do
74
+ use { @app = App.launch(dir: APP_PATH.sub(/LockNote.exe/, ''), path: 'Locknote.exe', title: WIN_TITLE) }
75
+ @app.should be_an App
76
+ end
77
+
78
+ it 'raises error if given invalid directory to change' do
79
+ expect { @app = App.launch(dir: APP_PATH, path: APP_PATH, title: WIN_TITLE) }.
80
+ to raise_error WinGui::Errors::InitError, /Unable to change to ".*LockNote.exe"/
81
+ end
72
82
  end
73
83
 
74
84
  context 'properties:' do
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), "..", "spec_helper" )
1
+ require_relative "../spec_helper.rb"
2
2
 
3
3
  module WinGuiTest
4
4
 
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), "..", "spec_helper" )
1
+ require_relative "../spec_helper.rb"
2
2
 
3
3
  module WinGuiTest
4
4
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: win_gui
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 55
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 15
10
- version: 0.2.15
9
+ - 16
10
+ version: 0.2.16
11
11
  platform: ruby
12
12
  authors:
13
13
  - arvicco
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-05 00:00:00 +04:00
18
+ date: 2010-10-06 00:00:00 +04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -77,14 +77,14 @@ extra_rdoc_files:
77
77
  files:
78
78
  - lib/extension.rb
79
79
  - lib/version.rb
80
- - lib/win_gui/application.rb
80
+ - lib/win_gui/app.rb
81
81
  - lib/win_gui/convenience.rb
82
82
  - lib/win_gui/window.rb
83
83
  - lib/win_gui.rb
84
84
  - spec/extension_spec.rb
85
85
  - spec/spec.opts
86
86
  - spec/spec_helper.rb
87
- - spec/win_gui/application_spec.rb
87
+ - spec/win_gui/app_spec.rb
88
88
  - spec/win_gui/convenience_spec.rb
89
89
  - spec/win_gui/window_spec.rb
90
90
  - features/step_definitions/win_gui_steps.rb
@@ -145,6 +145,6 @@ test_files:
145
145
  - spec/extension_spec.rb
146
146
  - spec/spec.opts
147
147
  - spec/spec_helper.rb
148
- - spec/win_gui/application_spec.rb
148
+ - spec/win_gui/app_spec.rb
149
149
  - spec/win_gui/convenience_spec.rb
150
150
  - spec/win_gui/window_spec.rb