control-freak-ide/Code/client/build/dgrid/dstore/tests/Memory.js
plastic-hub-dev-node-saturn 538369cff7 latest
2021-05-12 18:35:18 +02:00

21 lines
9.4 KiB
JavaScript

//>>built
define("dstore/tests/Memory","intern!object intern/chai!assert dojo/_base/declare ./sorting dstore/Memory dstore/QueryMethod".split(" "),function(h,c,g,k,e,l){var b,m=g(null,{constructor:function(a){g.safeMixin(this,a)}});h({name:"dstore Memory",beforeEach:function(){b=new e({data:[{id:1,name:"one",prime:!1,mappedTo:"E",nested:{a:5}},{id:2,name:"two",even:!0,prime:!0,mappedTo:"D",nested:{a:4}},{id:3,name:"three",prime:!0,mappedTo:"C",nested:{a:3}},{id:4,name:"four",even:!0,prime:!1,mappedTo:null,
nested:{a:2}},{id:5,name:"five",prime:!0,mappedTo:"A",nested:{a:1}}],Model:m,filterFunction:function(a){return"two"===a.name}});b.Model.prototype.describe=function(){return this.name+" is "+(this.prime?"":"not ")+"a prime"}},getSync:function(){c.strictEqual(b.getSync(1).name,"one");c.strictEqual(b.getSync(4).name,"four");c.isTrue(b.getSync(5).prime)},get:function(){return b.get(1).then(function(a){c.strictEqual(a.name,"one")})},"fetchSync and fetchRangeSync results.totalLength":function(){var a=b.fetchSync(),
d=b.fetchRangeSync({start:0,end:1});c.isNumber(a.totalLength);c.isNumber(d.totalLength);c(a.totalLength,a.length);c.strictEqual(d.totalLength,a.totalLength)},Model:function(){c.strictEqual(b.getSync(1).describe(),"one is not a prime");c.strictEqual(b.getSync(3).describe(),"three is a prime");c.strictEqual(b.filter({even:!0}).fetchSync()[1].describe(),"four is not a prime")},"no Model":function(){var a=new e({data:[{id:1,name:"one",prime:!1,mappedTo:"E"}],Model:null});c.strictEqual(a.getSync(1).get,
void 0);c.strictEqual(a.getSync(1).save,void 0)},filter:function(){var a=new b.Filter;c.strictEqual(b.filter(a.eq("prime",!0)).fetchSync().length,3);var d=0;b.filter(a.eq("prime",!0)).fetch().forEach(function(a){d++;c.equal(a.prime,!0)});c.equal(d,3);c.strictEqual(b.filter({even:!0}).fetchSync()[1].name,"four")},"async filter":function(){var a=new b.Filter;return b.filter(a.eq("even",!0)).fetch().then(function(a){c.strictEqual(a.length,2)})},"filter with string":function(){c.strictEqual(b.filter({name:"two"}).fetchSync().length,
1);c.strictEqual(b.filter({name:"two"}).fetchSync()[0].name,"two")},"filter with regexp":function(){c.strictEqual(b.filter({name:/^t/}).fetchSync().length,2);c.strictEqual(b.filter({name:/^t/}).fetchSync()[1].name,"three");c.strictEqual(b.filter({name:/^o/}).fetchSync().length,1);c.strictEqual(b.filter({name:/o/}).fetchSync().length,3)},"filter with or":function(){var a=new b.Filter,a=a.or(a.eq("prime",!0),a.eq("even",!0));c.strictEqual(b.filter(a).fetchSync().length,4)},"filter with gt and lt":function(){var a=
new b.Filter,d=a.gt("id",2).lt("id",5);c.strictEqual(b.filter(d).fetchSync().length,2);d={id:a.gt(2)};c.strictEqual(b.filter(d).fetchSync().length,3);a=a.gte("id",2).lte("id",5);c.strictEqual(b.filter(a).fetchSync().length,4)},"filter with nested gt and lt":function(){var a=new b.Filter,d=a.gt("nested.a",2).lt("nested.a",5);c.strictEqual(b.filter(d).fetchSync().length,2);d={"nested.a":a.gt(2)};c.strictEqual(b.filter(d).fetchSync().length,3);a=a.gte("nested.a",2).lte("nested.a",5);c.strictEqual(b.filter(a).fetchSync().length,
4)},"filter with test function":function(){c.strictEqual(b.filter({id:{test:function(a){return 4>a}}}).fetchSync().length,3);c.strictEqual(b.filter({even:{test:function(a,c){return a&&2<c.id}}}).fetchSync().length,1)},"filter with sort":function(){c.strictEqual(b.filter({prime:!0}).sort("name").fetchSync().length,3);c.strictEqual(b.filter({even:!0}).sort("name").fetchSync()[1].name,"two");c.strictEqual(b.filter({even:!0}).sort(function(a,c){return a.name<c.name?-1:1}).fetchSync()[1].name,"two");c.strictEqual(b.filter(null).sort("mappedTo").fetchSync()[4].name,
"four")},"filter with nested sort":function(){c.strictEqual(b.filter({prime:!0}).sort("nested.a").fetchSync().length,3);c.strictEqual(b.filter({even:!0}).sort("nested.a").fetchSync()[1].name,"two");c.strictEqual(b.filter({"nested.a":2}).sort("mappedTo").fetchSync()[0].name,"four")},"filter with paging":function(){c.strictEqual(b.filter({prime:!0}).fetchRangeSync({start:1,end:2}).length,1);var a=0;b.filter({prime:!0}).fetchRange({start:1,end:2}).forEach(function(b){a++;c.equal(b.prime,!0)});c.equal(a,
1);c.strictEqual(b.filter({prime:!0}).fetchRangeSync({start:1,end:2}).totalLength,3);c.strictEqual(b.filter({even:!0}).fetchRangeSync({start:1,end:2})[0].name,"four")},"filter with string-named function":function(){c.strictEqual(b.filter("filterFunction").fetchSync().length,1)},"filter with inheritance":function(){var a=new e({data:[{id:1,name:"one",prime:!1},{id:2,name:"two",even:!0,prime:!0}],getIdentity:function(){return"id-"+this.inherited(arguments)},newMethod:function(){return"hello"}}),b=a.filter({even:!0}).sort("name"),
f=b.getSync("id-1");f.changed=!0;b.put(f);c.strictEqual(b.getIdentity(f),"id-1");c.strictEqual(b.newMethod(),"hello");a.remove("id-1");c.strictEqual(b.getSync("id-1"),void 0)},"alternate query method":function(){var a=new e({data:[{id:1,name:"one",prime:!1},{id:2,name:"two",even:!0,prime:!0,children:[{id:2.1,name:"two point one",whole:!1,even:!1},{id:2.2,name:"two point two",whole:!1,even:!0},{id:2.3,name:"two point three",whole:!1,even:!1}]}],getChildren:new l({type:"children",querierFactory:function(a){return function(){return a.children}},
applyQuery:function(a){a.isAChildCollection=!0;return a}})}),b=a.getSync(2),f=[],a=a.getChildren(b).filter({even:!1});a.forEach(function(a){f.push(a.id)});c.equal(a.queryLog.length,2);c.equal(a.queryLog[0].type,"children");c.equal(a.queryLog[1].type,"filter");c.isTrue(a.isAChildCollection);c.deepEqual(f,[2.1,2.3])},"put update":function(){var a=b.getSync(4);a.square=!0;b.put(a);a=b.getSync(4);c.isTrue(a.square)},"put new":function(){b.put({id:6,perfect:!0});c.isTrue(b.getSync(6).perfect)},"put with options.beforeId":function(){b.defaultNewToStart=
!0;b.put({id:2},{beforeId:4});b.put({id:0},{beforeId:null});var a=b.fetchSync();c.strictEqual(a[2].id,2);c.strictEqual(a[3].id,4);c.strictEqual(a[a.length-1].id,0)},"add with options.beforeId":function(){b.defaultNewToStart=!0;b.add({id:42},{beforeId:3});b.add({id:24},{beforeId:null});var a=b.fetchSync();c.strictEqual(a[2].id,42);c.strictEqual(a[3].id,3);c.strictEqual(a[a.length-1].id,24)},"create and remove":function(){var a=b.create({id:10,name:"ten"});c.strictEqual(b.getSync(10),void 0);b.put(a);
c.isObject(b.getSync(10));b.remove(10);c.strictEqual(b.getSync(10),void 0)},"add duplicate":function(){b.put({id:6,perfect:!0});var a=!1;b.add({id:6,perfect:!0}).then(function(){a=!0},function(){});c.isFalse(a)},"add new":function(){b.add({id:7,prime:!0});c.isTrue(b.getSync(7).prime)},remove:function(){b.add({id:7,prime:!0});c.isTrue(b.removeSync(7));c.strictEqual(b.getSync(7),void 0)},"remove from object":function(){var a=b.addSync({id:7,prime:!0});return b.remove(a.id).then(function(a){c.isTrue(a);
c.strictEqual(b.getSync(7),void 0)})},"remove missing":function(){var a=b.fetchSync().length;c(!b.removeSync(77));c.strictEqual(b.fetchSync().length,a)},"put typed object":function(){function a(){}var d=new a;d.id=10;b.put(d);c.isTrue(d instanceof a);c.isTrue(b.getSync(10)instanceof b.Model)},"filter after changes":function(){b.remove(2);b.add({id:6,perfect:!0});c.strictEqual(b.filter({prime:!0}).fetchSync().length,2);c.strictEqual(b.filter({perfect:!0}).fetchSync().length,1)},"ItemFileReadStore style data":function(){var a=
new e({data:{items:[{name:"one",prime:!1},{name:"two",even:!0,prime:!0},{name:"three",prime:!0}],identifier:"name"}});c.strictEqual(a.getSync("one").name,"one");c.strictEqual(a.filter({name:"one"}).fetchSync()[0].name,"one")},"add new id assignment":function(){var a={random:!0},a=b.addSync(a);c.isTrue(!!a.id)},"query results length properties":function(){b.filter(function(a){return 3>=a.id});b.sort("id");var a=b.fetchRangeSync({start:0,end:3});c.strictEqual(a.totalLength,5);c.strictEqual(a.length,
3)},"composite key":function(){var a=new e({data:[{x:1,y:1,name:"1,1"},{x:2,y:1,name:"2,1"},{x:1,y:2,name:"1,2"},{x:2,y:2,name:"2,2"}],getIdentity:function(a){return a.x+","+a.y}});c.equal(a.getSync("1,1").name,"1,1");c.equal(a.getIdentity(a.getSync("1,2")),"1,2");a.add({x:3,y:2,name:"3,2"});c.equal(a.getSync("3,2").name,"3,2");a.put({x:1,y:1,name:"changed"});c.equal(a.getSync("1,1").name,"changed")},"source collection.data does not become subcollection.data":function(){var a=b.filter({prime:!0});
a.fetchSync();c.isDefined(a.data);var d=a.filter({id:1});d.fetchSync();c.notDeepEqual(a.data,d.data)},"subclasses can provide initial `data` at runtime":function(){var a=[1,2,3],b=new (g(e,{constructor:function(){this.data=a},setData:function(a){this.actualData=a;this.inherited(arguments)}}));c.deepEqual(b.actualData,a)},"sorting with null and numbers":function(){var a=new e({data:[{id:1,value:1},{id:2,value:2},{id:3,value:null},{id:4,value:-1}]}),b=a.sort("value").fetchSync();c.equal(b[0].id,4);
c.equal(b[1].id,1);c.equal(b[2].id,2);c.equal(b[3].id,3);b=a.sort("value",!0).fetchSync();c.equal(b[0].id,3);c.equal(b[1].id,2);c.equal(b[2].id,1);c.equal(b[3].id,4)},"sorting with null and strings":function(){var a=new e({data:[{id:1,value:"a"},{id:2,value:"b"},{id:3,value:null},{id:4,value:""}]}),b=a.sort("value").fetchSync();c.equal(b[0].id,4);c.equal(b[1].id,1);c.equal(b[2].id,2);c.equal(b[3].id,3);b=a.sort("value",!0).fetchSync();c.equal(b[0].id,3);c.equal(b[1].id,2);c.equal(b[2].id,1);c.equal(b[3].id,
4)},nestedSuite:k("dstore Memory sorting",function(a){return function(){b=new e({data:a})}},function(){return b.sort.apply(b,arguments).fetchSync()})})});
//# sourceMappingURL=Memory.js.map