Backbone tests added

This commit is contained in:
Boris Yankov
2012-10-08 21:38:48 +03:00
parent d1826aae9b
commit 962d031e26

70
Tests/backbone.ts Normal file
View File

@@ -0,0 +1,70 @@
/// <reference path="../Definitions/backbone.d.ts" />
declare var _, $;
// Events
///////////////////////////////////////////////////////
var object = new Backbone.Events();
object.on("alert", (msg) => alert("Triggered " + msg));
object.trigger("alert", "an event");
var onChange = () => alert('whatever');
var context: any;
object.off("change", onChange);
object.off("change");
object.off(null, onChange);
object.off(null, null, context);
object.off();
// Models
//////////////////////////////////////////////////////
var Sidebar = Backbone.Model.extend({
promptColor: function() {
var cssColor = prompt("Please enter a CSS color:");
this.set({color: cssColor});
}
});
var sidebar = new Sidebar();
sidebar.on('change:color', (model, color) => $('#sidebar').css({background: color}));
sidebar.set({color: 'white'});
sidebar.promptColor();
////////
var Note = Backbone.Model.extend({
initialize: () => { },
author: () => { },
coordinates: () => { },
allowedToEdit: (account) => {
return true;
}
});
var PrivateNote = Note.extend({
allowedToEdit: function(account) {
return account.owns(this);
}
});
//////////
var note = Backbone.Model.extend({
set: function(attributes, options) {
Backbone.Model.prototype.set.call(this, attributes, options);
}
});
note.get("title")
note.set({title: "March 20", content: "In his eyes she eclipses..."});
note.set("title", "A Scandal in Bohemia");