def test_can_write_js_with_extends_and_constructor(self): EXPECTED = "var Dog=function(name,age){var self=this;var $super=new Animal(name,age);$.extend(true,self,$super);var $ctor=function(name,age){};$ctor(name,age);};" cls = Class("Dog",extends="Animal") cls.constructor_params.append("name") cls.constructor_params.append("age") cls.super_params.append("name") cls.super_params.append("age") assert_that(cls.to_js(),is_(EXPECTED))
def test_can_write_everything(self): EXPECTED = "".join(('', 'var Dog=function(name,age,breed)', '{', 'var self=this;', 'var $super=new Animal(name,age);', '$.extend(true,self,$super);', 'var $ctor=function(name,age,breed)', '{this.breed=breed;};', '', 'var priv="private";', 'var priv2=function()', '{return "this is a private function";};', '', 'var privNone=null;', 'self.makeNoise=function()', '{alert("Bark!");};', '', 'self.pub="public";', 'self.pubNone=null;', '$ctor(name,age,breed);' ,'};', 'Dog.statNone=null;', 'Dog.static1="Hello";' )) cls = Class("Dog",extends="Animal") cls.constructor_params.append("name") cls.constructor_params.append("age") cls.constructor_params.append("breed") cls.constructor_body="this.breed=breed;" cls.super_params.append("name") cls.super_params.append("age") priv = "\"private\"" priv2 = """function(){return "this is a private function";}""" pub = '"public"' makeNoise = """function(){alert("Bark!");}""" cls.private["priv"]=priv cls.private["priv2"]=priv2 cls.private["privNone"]=None cls.public["pub"]=pub cls.public["pubNone"]=None cls.public["makeNoise"]=makeNoise cls.static["static1"]='"Hello"' cls.static["statNone"]=None assert_that(cls.to_js(),is_(EXPECTED))
class TestClass(TestCase): def setUp(self): self.cls = Class("Animal") def test_cannot_rename_name(self): try: self.cls.name = "Dog" self.fail("Shouldn't be able to rename.") except AttributeError: pass def test_can_write_js(self): EXPECTED = "var Animal=function(){var self=this;var $ctor=function(){};$ctor();};" assert_that(self.cls.to_js(),is_(EXPECTED)) def test_can_write_js_with_extends_and_constructor(self): EXPECTED = "var Dog=function(name,age){var self=this;var $super=new Animal(name,age);$.extend(true,self,$super);var $ctor=function(name,age){};$ctor(name,age);};" cls = Class("Dog",extends="Animal") cls.constructor_params.append("name") cls.constructor_params.append("age") cls.super_params.append("name") cls.super_params.append("age") assert_that(cls.to_js(),is_(EXPECTED)) def test_can_write_everything(self): EXPECTED = "".join(('', 'var Dog=function(name,age,breed)', '{', 'var self=this;', 'var $super=new Animal(name,age);', '$.extend(true,self,$super);', 'var $ctor=function(name,age,breed)', '{this.breed=breed;};', '', 'var priv="private";', 'var priv2=function()', '{return "this is a private function";};', '', 'var privNone=null;', 'self.makeNoise=function()', '{alert("Bark!");};', '', 'self.pub="public";', 'self.pubNone=null;', '$ctor(name,age,breed);' ,'};', 'Dog.statNone=null;', 'Dog.static1="Hello";' )) cls = Class("Dog",extends="Animal") cls.constructor_params.append("name") cls.constructor_params.append("age") cls.constructor_params.append("breed") cls.constructor_body="this.breed=breed;" cls.super_params.append("name") cls.super_params.append("age") priv = "\"private\"" priv2 = """function(){return "this is a private function";}""" pub = '"public"' makeNoise = """function(){alert("Bark!");}""" cls.private["priv"]=priv cls.private["priv2"]=priv2 cls.private["privNone"]=None cls.public["pub"]=pub cls.public["pubNone"]=None cls.public["makeNoise"]=makeNoise cls.static["static1"]='"Hello"' cls.static["statNone"]=None assert_that(cls.to_js(),is_(EXPECTED))