bc-minecraft-bedrock-project
Version:
The typescript library responsible for reading/parsing minecraft bedrock data
92 lines • 4.3 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const bc_minecraft_bedrock_shared_1 = require("bc-minecraft-bedrock-shared");
const bc_minecraft_project_1 = require("bc-minecraft-project");
const _1 = require(".");
describe('BehaviorPackCollection', () => {
it('sanity check', () => {
const pc = new _1.BehaviorPackCollection();
expect(pc.packs).toBeDefined();
expect(pc.packs).toHaveLength(0);
pc.add('c:\\project\\', bc_minecraft_project_1.MCProject.createEmpty(), {});
expect(pc.packs).toBeDefined();
expect(pc.packs).toHaveLength(1);
expect(pc.delete('c:\\project\\')).toBeTruthy();
expect(pc.packs).toBeDefined();
expect(pc.packs).toHaveLength(0);
});
it('count', () => {
const P = new _1.BehaviorPackCollection();
expect(P.count()).toEqual(0);
P.add('c:/project/bp', bc_minecraft_project_1.MCProject.createEmpty(), {});
expect(P.count()).toEqual(1);
P.add('c:/project2/bp', bc_minecraft_project_1.MCProject.createEmpty(), {});
expect(P.count()).toEqual(2);
});
it('add', () => {
const P = new _1.BehaviorPackCollection();
const pack = P.add('c:/project/bp', bc_minecraft_project_1.MCProject.createEmpty(), {});
expect(pack.folder).toEqual('c:/project/bp');
expect(P.count()).toEqual(1);
P.add('c:/project2/bp', bc_minecraft_project_1.MCProject.createEmpty(), {});
expect(P.count()).toEqual(2);
});
it('add duplicate', () => {
const P = new _1.BehaviorPackCollection();
expect(P.count()).toEqual(0);
P.add('c:/project/bp', bc_minecraft_project_1.MCProject.createEmpty(), {});
P.add('c:/project/bp', bc_minecraft_project_1.MCProject.createEmpty(), {});
expect(P.count()).toEqual(2);
});
it('get', () => {
const P = new _1.BehaviorPackCollection();
const pack = P.add('c:\\temp\\bp', bc_minecraft_project_1.MCProject.createEmpty(), {});
const uri = 'c:\\temp\\bp\\loot_tables\\empty.loot.json';
pack.lootTables.set({
id: 'empty.loot.json',
location: bc_minecraft_bedrock_shared_1.Location.create(uri),
});
const item = P.get(uri);
expect(item).toBeDefined();
});
it('Remove File', () => {
const P = new _1.BehaviorPackCollection();
const pack = P.add('c:\\temp\\bp', bc_minecraft_project_1.MCProject.createEmpty(), {});
const uri = 'c:\\temp\\bp\\loot_tables\\empty.loot.json';
pack.lootTables.set({
id: 'empty.loot.json',
location: bc_minecraft_bedrock_shared_1.Location.create(uri),
});
expect(P.packs).toBeDefined();
expect(P.lootTables.has('empty.loot.json')).toBeTruthy();
expect(P.deleteFile(uri)).toBeTruthy();
expect(P.packs).toBeDefined();
expect(P.lootTables.has('empty.loot.json')).toBeFalsy();
});
it('Remove Folder', () => {
const P = new _1.BehaviorPackCollection();
const pack = P.add('c:\\temp\\bp', bc_minecraft_project_1.MCProject.createEmpty(), {});
const uri = 'c:\\temp\\bp\\loot_tables\\empty.loot.json';
pack.lootTables.set({
id: 'empty.loot.json',
location: bc_minecraft_bedrock_shared_1.Location.create(uri),
});
expect(P.lootTables.has('empty.loot.json')).toBeTruthy();
expect(P.deleteFolder('c:\\temp\\bp\\loot_tables')).toBeTruthy();
expect(P.lootTables.has('empty.loot.json')).toBeFalsy();
});
it('Remove Folder - Entire Pack', () => {
const P = new _1.BehaviorPackCollection();
const pack = P.add('c:\\temp\\bp', bc_minecraft_project_1.MCProject.createEmpty(), {});
const uri = 'c:\\temp\\bp\\loot_tables\\empty.loot.json';
pack.lootTables.set({
id: 'empty.loot.json',
location: bc_minecraft_bedrock_shared_1.Location.create(uri),
});
expect(P.lootTables.has('empty.loot.json')).toBeTruthy();
expect(P.deleteFolder('c:\\temp\\bp')).toBeTruthy();
expect(P.lootTables.has('empty.loot.json')).toBeFalsy();
expect(P.count()).toEqual(0);
});
});
//# sourceMappingURL=behavior-pack-collection.test.js.map