A Jasmine TDD example.  Look at the branches for the progression from one behavior, to 2, then to refactored passing tests all the way.