 
     it 'bind the help button', ->
       # These events are bind by $.hover()
-      expect($('div.help-wrapper a')).toHandleWith 'mouseover', @calculator.helpToggle
-      expect($('div.help-wrapper a')).toHandleWith 'mouseout', @calculator.helpToggle
+      expect($('div.help-wrapper a')).toHandle 'mouseover'
+      expect($('div.help-wrapper a')).toHandle 'mouseout'
+      expect($('div.help-wrapper')).toHandle 'focusin'
+      expect($('div.help-wrapper')).toHandle 'focusout'
 
     it 'prevent default behavior on help button', ->
       $('div.help-wrapper a').click (e) ->

      # Since the focus is called asynchronously, we need to
      # wait until focus() is called.
      didFocus = false
      runs -> 
          spyOn($.fn, 'focus').andCallFake (elementName) -> didFocus = true 
          @calculator.toggle(jQuery.Event("click"))

      waitsFor (-> didFocus), "focus() should have been called on the input", 1000

      @calculator.toggle(jQuery.Event("click"))
      expect($('.calc')).not.toHaveClass('closed')

  describe 'helpShow', ->
    it 'show the help overlay', ->
      @calculator.helpShow()
      expect($('.help')).toHaveClass('shown')

  describe 'helpHide', ->
    it 'show the help overlay', ->
      @calculator.helpHide()
      expect($('.help')).not.toHaveClass('shown')

  describe 'calculate', ->
