wrote remaining tests; fixed jshint errors removed mouseleave events as they don't work for some reason
added test negative case on buttons; factored test function