[ http://jira.openqa.org/browse/WTR-462?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=19997#action_19997 ]
Charley Baker commented on WTR-462: ----------------------------------- laziness, convention, take your pick. You should avoid _method names when calling, that is the convention. That being said, we should probably make this private. Alan, I'm not sure what you're intending to do, yes it's closing that instance, and good point about the @closing var, I can add that or you can do a pull request. Missed your point about subclassing Watir, you mean monkey patching or something else? I highly wouldn't recommend subclassing anything. > Watir::IE#close doesn't set @closing variable to false after closing IE > ----------------------------------------------------------------------- > > Key: WTR-462 > URL: http://jira.openqa.org/browse/WTR-462 > Project: Watir > Issue Type: Bug > Components: Other > Affects Versions: 1.6.7 > Environment: WIN XP, IE7 > Reporter: Alan Baird > Priority: Major > > All - > Consider the following example where I am trying to restart a browser using > Watir's instance methods: > irb(main):001:0> require 'watir' > => true > irb(main):002:0> br = Watir::IE.new > => #<Watir::IE:0x2e384a4 url="about:blank" title=""> irb(main):003:0> br.goto > 'google.com' > => 1.641 > irb(main):004:0> br.close > => nil > irb(main):005:0> br._new_window_init > => 0.422 > irb(main):006:0> br.goto 'google.com' > => 0.859 > irb(main):007:0> br.close > => nil > This actually works just fine until the last line where the browser doesn't > close (but the first br.close does close the browser). > So, I examined the close method: > # Closes the Browser > def close > return unless exists? > @closing = true > @ie.stop > wait rescue nil > chwnd = @ie.hwnd.to_i > @ie.quit > while Win32API.new("user32","IsWindow", 'L', 'L').Call(chwnd) == 1 > sleep 0.3 > end > end > Note that @closing is never set to false. Thus, whenever close is called > subsequently, it will return immediately because the first thing #exists? > does is: > return false if @closing > The fix is simple, just add @closing = false to the end of #close. I tested > this in a monkeypatched version and it fixes the problem as I recreated it in > IRB above. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.openqa.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira _______________________________________________ Wtr-development mailing list Wtr-development@rubyforge.org http://rubyforge.org/mailman/listinfo/wtr-development