Teascript is a project mainly written in Ruby, based on the MIT license.
Somewhere between javscript and coffeescript
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
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' }