diff options
Diffstat (limited to 'sdnr/wt/devicemanager/provider/src/main/resources/elasticsearch/plugins/head/src/app/ux/singletonSpec.js')
-rw-r--r-- | sdnr/wt/devicemanager/provider/src/main/resources/elasticsearch/plugins/head/src/app/ux/singletonSpec.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/sdnr/wt/devicemanager/provider/src/main/resources/elasticsearch/plugins/head/src/app/ux/singletonSpec.js b/sdnr/wt/devicemanager/provider/src/main/resources/elasticsearch/plugins/head/src/app/ux/singletonSpec.js new file mode 100644 index 000000000..96ef6a282 --- /dev/null +++ b/sdnr/wt/devicemanager/provider/src/main/resources/elasticsearch/plugins/head/src/app/ux/singletonSpec.js @@ -0,0 +1,41 @@ +describe("app.ux.singleton", function(){ + +var Singleton = window.app.ux.Singleton; + + describe("creating a singleton", function() { + var X = Singleton.extend({ + foo: function() { + return "bar"; + } + }); + + var Y = Singleton.extend({ + bar: function() { + return "baz"; + } + }); + + it("should have properties like a normal class", function() { + var a = X.instance(); + + expect( a instanceof X ).toBe( true ); + expect( a.foo() ).toBe( "bar" ); + }); + + it("should return single instance each time instance() is called", function() { + var a = X.instance(); + var b = X.instance(); + + expect( a ).toBe( b ); + }); + + it("should not share instances with different singletons", function() { + var a = X.instance(); + var c = Y.instance(); + + expect( a ).not.toBe( c ); + }); + + }); + +}); |