?? xmlstore.js
字號(hào):
} var sortAttributes = [{attribute: "isbn", descending: true}]; store.fetch({query:{isbn:"*"}, sort: sortAttributes, onComplete: onComplete, onError: onError}); return d; //Object }, function testReadAPI_sortAscendingNumeric(t){ // summary: // Simple test of the sorting API in ascending order using a numeric comparator. // description: // Simple test of the sorting API in ascending order using a numeric comparator. var store = dojox.data.tests.stores.XmlStore.getBooksStore(); //isbn should be treated as a numeric, not as a string comparison store.comparatorMap = {}; store.comparatorMap["isbn"] = function(a, b){ var ret = 0; if(parseInt(a.toString()) > parseInt(b.toString())){ ret = 1; }else if(parseInt(a.toString()) < parseInt(b.toString())){ ret = -1; } return ret; //int, {-1,0,1} }; var d = new doh.Deferred(); function onComplete(items, request) { t.assertEqual(20, items.length); var itemId = 1; for(var i = 0; i < items.length; i++){ t.assertEqual(itemId, store.getValue(items[i],"isbn").toString()); itemId++; } d.callback(true); } function onError(error, request) { d.errback(error); } var sortAttributes = [{attribute: "isbn"}]; store.fetch({query:{isbn:"*"}, sort: sortAttributes, onComplete: onComplete, onError: onError}); return d; //Object }, function testReadAPI_isItemLoaded(t){ // summary: // Simple test of the isItemLoaded API // description: // Simple test of the isItemLoaded API var store = dojox.data.tests.stores.XmlStore.getBooks2Store(); var d = new doh.Deferred(); function onComplete(items, request) { t.assertEqual(1, items.length); var item = items[0]; t.assertTrue(store.isItemLoaded(item)); d.callback(true); } function onError(error, request) { d.errback(error); } store.fetch({query:{isbn:"A9B574"}, onComplete: onComplete, onError: onError}); return d; //Object }, function testReadAPI_getFeatures(t){ // summary: // Simple test of the getFeatures function of the store // description: // Simple test of the getFeatures function of the store var store = dojox.data.tests.stores.XmlStore.getBooks2Store(); var features = store.getFeatures(); var count = 0; for(i in features){ t.assertTrue((i === "dojo.data.api.Read" || i === "dojo.data.api.Write")); count++; } t.assertEqual(2, count); }, function testReadAPI_getAttributes(t){ // summary: // Simple test of the getAttributes API // description: // Simple test of the getAttributes API var store = dojox.data.tests.stores.XmlStore.getBooks2Store(); var d = new doh.Deferred(); function onComplete(items, request) { t.assertEqual(1, items.length); var item = items[0]; var attributes = store.getAttributes(item); //Should be six, as all items should have tagName, childNodes, and text() special attributes //in addition to any doc defined ones, which in this case are author, title, and isbn //FIXME: Figure out why IE returns 5! Need to get firebug lite working in IE for that. //Suspect it's childNodes, may not be defined if there are no child nodes. for(var i = 0; i < attributes.length; i++){ console.log("attribute found: " + attributes[i]); } if(dojo.isIE){ t.assertEqual(5,attributes.length); }else{ t.assertEqual(6,attributes.length); } d.callback(true); } function onError(error, request) { d.errback(error); } store.fetch({query:{isbn:"A9B574"}, onComplete: onComplete, onError: onError}); return d; //Object }, function testWriteAPI_setValue(t){ // summary: // Simple test of the setValue API // description: // Simple test of the setValue API var store = dojox.data.tests.stores.XmlStore.getBooks2Store(); var d = new doh.Deferred(); function onComplete(items, request) { t.assertEqual(1, items.length); var item = items[0]; t.assertTrue(store.containsValue(item,"isbn", "A9B574")); store.setValue(item, "isbn", "A9B574-new"); t.assertEqual(store.getValue(item,"isbn").toString(), "A9B574-new"); d.callback(true); } function onError(error, request) { d.errback(error); } store.fetch({query:{isbn:"A9B574"}, onComplete: onComplete, onError: onError}); return d; //Object }, function testWriteAPI_setValues(t){ // summary: // Simple test of the setValues API // description: // Simple test of the setValues API var store = dojox.data.tests.stores.XmlStore.getBooks2Store(); var d = new doh.Deferred(); function onComplete(items, request) { t.assertEqual(1, items.length); var item = items[0]; t.assertTrue(store.containsValue(item,"isbn", "A9B574")); store.setValues(item, "isbn", ["A9B574-new1", "A9B574-new2"]); var values = store.getValues(item,"isbn"); t.assertEqual(values[0].toString(), "A9B574-new1"); t.assertEqual(values[1].toString(), "A9B574-new2"); store.setValues(values[0], "text()", ["A9B574", "-new3"]); t.assertEqual(store.getValue(values[0],"text()").toString(), "A9B574-new3"); d.callback(true); } function onError(error, request) { d.errback(error); } store.fetch({query:{isbn:"A9B574"}, onComplete: onComplete, onError: onError}); return d; //Object }, function testWriteAPI_unsetAttribute(t){ // summary: // Simple test of the unsetAttribute API // description: // Simple test of the unsetAttribute API var store = dojox.data.tests.stores.XmlStore.getBooks2Store(); var d = new doh.Deferred(); function onComplete(items, request) { t.assertEqual(1, items.length); var item = items[0]; t.assertTrue(store.containsValue(item,"isbn", "A9B574")); store.unsetAttribute(item,"isbn"); t.assertTrue(!store.hasAttribute(item,"isbn")); t.assertTrue(store.isDirty(item)); d.callback(true); } function onError(error, request) { d.errback(error); } store.fetch({query:{isbn:"A9B574"}, onComplete: onComplete, onError: onError}); return d; //Object }, function testWriteAPI_isDirty(t){ // summary: // Simple test of the isDirty API // description: // Simple test of the isDirty API var store = dojox.data.tests.stores.XmlStore.getBooks2Store(); var d = new doh.Deferred(); function onComplete(items, request) { t.assertEqual(1, items.length); var item = items[0]; t.assertTrue(store.containsValue(item,"isbn", "A9B574")); store.setValue(item, "isbn", "A9B574-new"); t.assertEqual(store.getValue(item,"isbn").toString(), "A9B574-new"); t.assertTrue(store.isDirty(item)); d.callback(true); } function onError(error, request) { d.errback(error); } store.fetch({query:{isbn:"A9B574"}, onComplete: onComplete, onError: onError}); return d; //Object }, function testWriteAPI_revert(t){ // summary: // Simple test of the isDirty API // description: // Simple test of the isDirty API var store = dojox.data.tests.stores.XmlStore.getBooks2Store(); var d = new doh.Deferred(); function onComplete(items, request) { t.assertEqual(1, items.length); var item = items[0]; t.assertTrue(store.containsValue(item,"isbn", "A9B574")); t.assertTrue(!store.isDirty(item)); store.setValue(item, "isbn", "A9B574-new"); t.assertEqual(store.getValue(item,"isbn").toString(), "A9B574-new"); t.assertTrue(store.isDirty(item)); store.revert(); //Fetch again to see if it reset the state. function onComplete1(items, request) { t.assertEqual(1, items.length); var item = items[0]; t.assertTrue(store.containsValue(item,"isbn", "A9B574")); d.callback(true); } store.fetch({query:{isbn:"A9B574"}, onComplete: onComplete1, onError: onError}); } function onError(error, request) { d.errback(error); } store.fetch({query:{isbn:"A9B574"}, onComplete: onComplete, onError: onError}); return d; //Object }, function testReadAPI_functionConformance(t){ // summary: // Simple test read API conformance. Checks to see all declared functions are actual functions on the instances. // description: // Simple test read API conformance. Checks to see all declared functions are actual functions on the instances. var testStore = dojox.data.tests.stores.XmlStore.getBooksStore(); var readApi = new dojo.data.api.Read(); var passed = true; for(i in readApi){ var member = readApi[i]; //Check that all the 'Read' defined functions exist on the test store. if(typeof member === "function"){ var testStoreMember = testStore[i]; if(!(typeof testStoreMember === "function")){ console.log("Problem with function: [" + i + "]"); passed = false; break; } } } t.assertTrue(passed); }, function testWriteAPI_functionConformance(t){ // summary: // Simple test write API conformance. Checks to see all declared functions are actual functions on the instances. // description: // Simple test write API conformance. Checks to see all declared functions are actual functions on the instances. var testStore = dojox.data.tests.stores.XmlStore.getBooksStore(); var writeApi = new dojo.data.api.Write(); var passed = true; for(i in writeApi){ var member = writeApi[i]; //Check that all the 'Write' defined functions exist on the test store. if(typeof member === "function"){ var testStoreMember = testStore[i]; if(!(typeof testStoreMember === "function")){ passed = false; break; } } } t.assertTrue(passed); } ]);}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -