 describe "Superfish", ->
 
   $menu = null
-  $liHasUl = null
+  $li_with_sub = null
 
   beforeEach ->
     $menu = $('ul.sf-menu')
-    $liHasUl = $menu.find('li:has(ul):first')
+    $li_with_sub = $menu.find('li:has(ul):first')
     $menu.superfish()
   
   afterEach ->


    it "should not throw an error when accessing a valid method", ->
      expect( ->
        $liHasUl.superfish('show')
      ).not.toThrow new Error('Method show does not exist on jQuery.fn.superfish')



  describe "'show' method", ->
    it "should fail silently if Superfish is uninitialised", ->
      $menu.superfish('destroy')
      expect( $li_with_sub.superfish('show') ).toBe 'li'

    it "should cause child ul to be visible", ->
      $submenu = $li_with_sub.children('ul')
      expect($submenu).toBeHidden()
      expect($li_with_sub).not.toBe '.sfHover'
      $li_with_sub.superfish('show')
      expect($submenu).toBeVisible()
      expect($li_with_sub).toBe '.sfHover'


  describe "'hide' method", ->
    it "should fail silently if Superfish is uninitialised", ->
      $menu.superfish('destroy')
      expect( $li_with_sub.superfish('hide') ).toBe 'li'
      
    it "should cause child ul to be hidden", ->
      $submenu = $li_with_sub.children('ul')
      $li_with_sub.superfish('show')
      expect($li_with_sub).toBe '.sfHover'
      expect($submenu).toBeVisible()
      # do an instant hide for now until I figure out why .toBeHidden fails when animated
      $li_with_sub.superfish('hide', true)
      expect($submenu).toBeHidden()
      expect($li_with_sub).not.toBe '.sfHover'


  describe "initialisation", ->
