TEASCRIPT

FEATURES

Semicolons are optional var is optional Argument parens are optional Local variables can be defined using @, such as @local_variable Implicit 'return' 'function' can also be written as -> javascript is valid teascript

SYNTAX

Example: intake_spec.js

 if (typeof jQuery != 'undefined') {
   spyOn(jQuery.ajaxSettings, 'xhr').andCallFake(
     function() {
       var newXhr = new FakeXMLHttpRequest();
       ajaxRequests.push(newXhr);
       return newXhr;
     });
 }

Becomes: intake_spec.ts if defined? jQuery spyOn(jQuery.ajaxSettings, 'xhr').andCallFake -> { newXhr = new FakeXMLHttpRequest() ajaxRequests.push newXhr } end

Jasmine tests

it('should unset the "submitting" class on the form', function () {
  var request = mostRecentAjaxRequest();

  expect($form).toHaveClass('submitting');
  request.response(response);
  expect($form).not.toHaveClass('submitting');
});

Become it 'should unset the "submitting" class on the form', -> { request = mostRecentAjaxRequest() expect($form).toHaveClass 'submitting' request.response response expect($form).not.toHaveClass 'submitting' }