Skip to content

Commit 902e862

Browse files
committed
0.29.1 - Update '@twg2/ts-twg-ast-codegen' dependency, add a unit test, and remove a unit test not related to this project and some related devDependencies.
1 parent 809c456 commit 902e862

File tree

8 files changed

+133
-133
lines changed

8 files changed

+133
-133
lines changed

CHANGELOG.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,17 @@ This project does its best to adhere to [Semantic Versioning](http://semver.org/
44

55

66
--------
7-
### [0.29.0](N/A) - 2021-06-12
7+
### [0.29.1](N/A) - 2021-09-02
8+
#### Added
9+
* `test/CollectionTest` for some much needed [db-collections/Collection.ts](db-collections/Collection.ts) coverage
10+
11+
#### Change
12+
* Update dependency to `@twg2/[email protected]`
13+
* Remove old unrelated `test/CompileManualBrowserBundleTest` and resulting unused `devDependencies`
14+
15+
16+
--------
17+
### [0.29.0](https://github.com/TeamworkGuy2/lokijs-collections/commit/809c4560357d1b37f886831258da3b4819ee3684) - 2021-06-12
818
#### Change
919
* Update to TypeScript 4.3
1020

package.json

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "lokijs-collections",
3-
"version": "0.29.0",
3+
"version": "0.29.1",
44
"description": "TypeScript in-memory data collections based off LokiJS with data models, constraints (like primary keys and non-null fields), and collection change tracking",
55
"author": "TeamworkGuy2",
66
"homepage": "https://github.com/TeamworkGuy2/lokijs-collections",
@@ -10,27 +10,20 @@
1010
"url": "https://github.com/TeamworkGuy2/lokijs-collections.git"
1111
},
1212
"dependencies": {
13-
"@twg2/ts-twg-ast-codegen": "~0.25.0",
13+
"@twg2/ts-twg-ast-codegen": "~0.29.0",
1414
"ts-event-handlers-lite": "~0.5.0",
1515
"ts-mortar": "~0.21.0",
1616
"ts-promises": "~0.8.0"
1717
},
1818
"devDependencies": {
19-
"@types/browser-pack": "~6.0.4",
2019
"@types/chai": "~4.2.4",
21-
"@types/deps-sort": "~2.0.0",
2220
"@types/mocha": "~5.2.7",
23-
"@types/module-deps": "~6.2.0",
2421
"@types/node": "~12.12.0",
2522
"@types/q": "~1.5.1",
2623
"@types/websql": "~0.0.27",
27-
"browser-pack": "^6.1.0",
2824
"chai": "~4.2.0",
29-
"deps-sort": "^2.0.0",
3025
"mocha": "~5.2.0",
31-
"module-deps": "^6.2.0",
3226
"q": "~1.5.1",
33-
"ts-bundlify": "*",
3427
"typescript": "~4.3.2"
3528
},
3629
"scripts": {

test/CollectionTest.js

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
"use strict";
2+
Object.defineProperty(exports, "__esModule", { value: true });
3+
/// <reference path="../db-collections/mem-db.d.ts" />
4+
var chai = require("chai");
5+
var Collection = require("../db-collections/Collection");
6+
var M = require("./TestModels");
7+
var asr = chai.assert;
8+
suite("Collection", function CollectionTest() {
9+
test("constructor", function () {
10+
var coll = new Collection("ct1", { indices: ["id"] });
11+
asr.equal("ct1", coll.name);
12+
asr.isNotNull(coll.binaryIndices["id"]);
13+
asr.isEmpty(coll.constraints.exact);
14+
asr.isEmpty(coll.constraints.unique);
15+
});
16+
test("findOne", function () {
17+
M.rebuildItems();
18+
var coll = new Collection("ct1", { indices: ["id"] });
19+
coll.insert(M.itemA1);
20+
coll.insert(M.itemA2);
21+
asr.equal(coll.count(), 2);
22+
asr.equal(coll.findOne({ id: 11 }), M.itemA1);
23+
asr.isNull(coll.findOne({ id: 99 }));
24+
});
25+
test("update", function () {
26+
M.rebuildItems();
27+
var coll = new Collection("ct1", { indices: ["id"] });
28+
asr.isTrue(coll.dirty);
29+
coll.dirty = false;
30+
coll.insert(M.itemA1);
31+
coll.insert(M.itemA2);
32+
asr.isTrue(coll.dirty);
33+
coll.dirty = false;
34+
M.itemA1.styles = ["abc"];
35+
asr.isFalse(coll.dirty);
36+
coll.update(M.itemA1);
37+
asr.isTrue(coll.dirty);
38+
});
39+
test("binaryIndex", function () {
40+
M.rebuildItems();
41+
var coll = new Collection("ct1", { indices: ["id"] });
42+
coll.insert(M.itemA3);
43+
coll.insert(M.itemA2);
44+
asr.hasAllKeys(coll.binaryIndices, ["id"]);
45+
asr.deepEqual(coll.data.map(function (d) { return d.id; }), [20, 12]);
46+
});
47+
});

test/CollectionTest.ts

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
/// <reference path="../db-collections/mem-db.d.ts" />
2+
import chai = require("chai");
3+
import Collection = require("../db-collections/Collection");
4+
import M = require("./TestModels");
5+
6+
var asr = chai.assert;
7+
8+
suite("Collection", function CollectionTest() {
9+
10+
test("constructor", function () {
11+
var coll = new Collection<M.MdA>("ct1", { indices: ["id"] });
12+
13+
asr.equal("ct1", coll.name);
14+
asr.isNotNull(coll.binaryIndices["id"]);
15+
asr.isEmpty(coll.constraints.exact);
16+
asr.isEmpty(coll.constraints.unique);
17+
});
18+
19+
20+
test("findOne", function () {
21+
M.rebuildItems();
22+
var coll = new Collection<M.MdA>("ct1", { indices: ["id"] });
23+
24+
coll.insert(M.itemA1);
25+
coll.insert(M.itemA2);
26+
27+
asr.equal(coll.count(), 2);
28+
asr.equal(coll.findOne({ id: 11 }), <any>M.itemA1);
29+
asr.isNull(coll.findOne({ id: 99 }));
30+
});
31+
32+
33+
test("update", function () {
34+
M.rebuildItems();
35+
var coll = new Collection<M.MdA>("ct1", { indices: ["id"] });
36+
37+
asr.isTrue(coll.dirty);
38+
39+
coll.dirty = false;
40+
coll.insert(M.itemA1);
41+
coll.insert(M.itemA2);
42+
43+
asr.isTrue(coll.dirty);
44+
45+
coll.dirty = false;
46+
M.itemA1.styles = ["abc"];
47+
48+
asr.isFalse(coll.dirty);
49+
50+
coll.update(<any>M.itemA1);
51+
52+
asr.isTrue(coll.dirty);
53+
});
54+
55+
56+
test("binaryIndex", function () {
57+
M.rebuildItems();
58+
var coll = new Collection<M.MdA>("ct1", { indices: ["id"] });
59+
60+
coll.insert(M.itemA3);
61+
coll.insert(M.itemA2);
62+
63+
asr.hasAllKeys(coll.binaryIndices, ["id"]);
64+
asr.deepEqual(coll.data.map((d) => d.id), [20, 12]);
65+
});
66+
67+
});

test/CompileManualBrowserBundleTest.js

Lines changed: 0 additions & 54 deletions
This file was deleted.

test/CompileManualBrowserBundleTest.ts

Lines changed: 0 additions & 63 deletions
This file was deleted.

test/TestModels.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,17 @@ var TestModels;
2727
function rebuildItems() {
2828
var now = new Date();
2929
TestModels.itemA1 = {
30-
id: null,
30+
id: 11,
3131
name: "Alfred",
3232
styles: ["color: #F0F0F0", "font-size: 12px"]
3333
};
3434
TestModels.itemA2 = {
35-
id: null,
35+
id: 12,
3636
name: "Billy",
3737
styles: ["color: #33AACC", "font-size: 10px"]
3838
};
3939
TestModels.itemA3 = {
40-
id: null,
40+
id: 20,
4141
name: "Charlie",
4242
styles: ["color: #CCBBAA", "font-size: 8px"]
4343
};

test/TestModels.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,19 +69,19 @@ module TestModels {
6969
var now = new Date();
7070

7171
itemA1 = {
72-
id: <number><any>null,
72+
id: 11,
7373
name: "Alfred",
7474
styles: ["color: #F0F0F0", "font-size: 12px"]
7575
};
7676

7777
itemA2 = {
78-
id: <number><any>null,
78+
id: 12,
7979
name: "Billy",
8080
styles: ["color: #33AACC", "font-size: 10px"]
8181
};
8282

8383
itemA3 = {
84-
id: <number><any>null,
84+
id: 20,
8585
name: "Charlie",
8686
styles: ["color: #CCBBAA", "font-size: 8px"]
8787
};

0 commit comments

Comments
 (0)