Object-oriented JavaScript (or CoffeeScript) programming with test coverage