X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/2e847cf21b8ab9d15fa167b315ca5b2fa92638fc..6a7e4474cba9d8be4b2ec445e10f1691f7277c50:/test/unit/direct/Direct.js diff --git a/test/unit/direct/Direct.js b/test/unit/direct/Direct.js new file mode 100644 index 00000000..aa0cfaa7 --- /dev/null +++ b/test/unit/direct/Direct.js @@ -0,0 +1,88 @@ +/*! + * Ext JS Library 3.2.0 + * Copyright(c) 2006-2010 Ext JS, Inc. + * licensing@extjs.com + * http://www.extjs.com/license + */ +/** + * Tests Ext.data.Store functionality + * @author Ed Spencer + */ +(function() { + var suite = Ext.test.session.getSuite('Ext.Direct'), + assert = Y.Assert; + + //a shared setup function used by several of the suites + var defaultSetup = function() { + this.API = { + "url": "php\/router.php", + "type": "remoting", + "actions": { + "TestAction": [{ + "name": "doEcho", + "len": 1 + }, { + "name": "multiply", + "len": 1 + }, { + "name": "getTree", + "len": 1 + }], + "Profile": [{ + "name": "getBasicInfo", + "len": 2 + }, { + "name": "getPhoneInfo", + "len": 1 + }, { + "name": "getLocationInfo", + "len": 1 + }, { + "name": "updateBasicInfo", + "len": 2, + "formHandler": true + }] + } + }; + }; + + suite.add(new Y.Test.Case({ + name: 'adding providers', + + setUp: defaultSetup, + + testAddProvider: function() { + var p = Ext.Direct.addProvider( + this.API + ); + Y.ObjectAssert.hasKeys(p.actions, [ + "Profile", + "TestAction" + ], 'Test actions provided'); + Y.ObjectAssert.hasKeys(p.actions, p, Ext.Direct.providers, "Test providers cache"); + }, + testGetProvider: function() { + var p = Ext.Direct.addProvider( + this.API + ); + Y.ObjectAssert.hasKeys(p, Ext.Direct.getProvider(p.id)); + }, + testRemoveProvider: function() { + // Remove via id + var p = Ext.Direct.addProvider( + this.API + ); + var id = p.id; + Ext.Direct.removeProvider(id); + Y.Assert.isUndefined(Ext.Direct.getProvider(id)); + + // Remove via object + var p = Ext.Direct.addProvider( + this.API + ); + var id = p.id; + Ext.Direct.removeProvider(p); + Y.Assert.isUndefined(Ext.Direct.getProvider(id)); + } + })); +})();