aboutsummaryrefslogtreecommitdiff
path: root/test/content/repositories
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2019-05-19 15:36:14 +0900
committerShin'ya Ueoka <ueokande@i-beam.org>2019-05-19 15:36:14 +0900
commit6d9aaef18c9f48684c8bb99e53c586e9781a69f0 (patch)
treed22caf2f416429620fc6117c3ca8148c0776e010 /test/content/repositories
parentc81b82ee39cc05d06597e7cd024de448894efe43 (diff)
Add NavigationPresenter
Diffstat (limited to 'test/content/repositories')
-rw-r--r--test/content/repositories/FollowKeyRepository.test.ts31
-rw-r--r--test/content/repositories/FollowMasterRepository.test.ts49
-rw-r--r--test/content/repositories/FollowSlaveRepository.test.ts24
-rw-r--r--test/content/repositories/KeymapRepository.test.ts37
-rw-r--r--test/content/repositories/MarkKeyRepository.test.ts36
5 files changed, 177 insertions, 0 deletions
diff --git a/test/content/repositories/FollowKeyRepository.test.ts b/test/content/repositories/FollowKeyRepository.test.ts
new file mode 100644
index 0000000..eae58b9
--- /dev/null
+++ b/test/content/repositories/FollowKeyRepository.test.ts
@@ -0,0 +1,31 @@
+import FollowKeyRepository, { FollowKeyRepositoryImpl }
+ from '../../../src/content/repositories/FollowKeyRepository';
+import { expect } from 'chai';
+
+describe('FollowKeyRepositoryImpl', () => {
+ let sut: FollowKeyRepository;
+
+ before(() => {
+ sut = new FollowKeyRepositoryImpl();
+ });
+
+ describe('#getKeys()/#pushKey()/#popKey()', () => {
+ it('enqueues keys', () => {
+ expect(sut.getKeys()).to.be.empty;
+
+ sut.pushKey('a');
+ sut.pushKey('b');
+ sut.pushKey('c');
+ expect(sut.getKeys()).to.deep.equal(['a', 'b', 'c']);
+
+ sut.popKey();
+ expect(sut.getKeys()).to.deep.equal(['a', 'b']);
+
+ sut.clearKeys();
+ expect(sut.getKeys()).to.be.empty;
+ });
+ });
+});
+
+
+
diff --git a/test/content/repositories/FollowMasterRepository.test.ts b/test/content/repositories/FollowMasterRepository.test.ts
new file mode 100644
index 0000000..8c3f34e
--- /dev/null
+++ b/test/content/repositories/FollowMasterRepository.test.ts
@@ -0,0 +1,49 @@
+import FollowMasterRepository, { FollowMasterRepositoryImpl }
+ from '../../../src/content/repositories/FollowMasterRepository';
+import { expect } from 'chai';
+
+describe('FollowMasterRepositoryImpl', () => {
+ let sut: FollowMasterRepository;
+
+ before(() => {
+ sut = new FollowMasterRepositoryImpl();
+ });
+
+ describe('#getTags()/#addTag()/#clearTags()', () => {
+ it('gets, adds and clears tags', () => {
+ expect(sut.getTags()).to.be.empty;
+
+ sut.addTag('a');
+ sut.addTag('b');
+ sut.addTag('c');
+ expect(sut.getTags()).to.deep.equal(['a', 'b', 'c']);
+
+ sut.clearTags();
+ expect(sut.getTags()).to.be.empty;
+ });
+ });
+
+ describe('#getTagsByPrefix', () => {
+ it('gets tags matched by prefix', () => {
+ for (let tag of ['a', 'aa', 'ab', 'b', 'ba', 'bb']) {
+ sut.addTag(tag);
+ }
+ expect(sut.getTagsByPrefix('a')).to.deep.equal(['a', 'aa', 'ab']);
+ expect(sut.getTagsByPrefix('aa')).to.deep.equal(['aa']);
+ expect(sut.getTagsByPrefix('b')).to.deep.equal(['b', 'ba', 'bb']);
+ expect(sut.getTagsByPrefix('c')).to.be.empty;
+ });
+ });
+
+ describe('#setCurrentFollowMode()/#getCurrentNewTabMode()/#getCurrentBackgroundMode', () => {
+ it('updates and gets follow mode', () => {
+ sut.setCurrentFollowMode(false, true);
+ expect(sut.getCurrentNewTabMode()).to.be.false;
+ expect(sut.getCurrentBackgroundMode()).to.be.true;
+
+ sut.setCurrentFollowMode(true, false);
+ expect(sut.getCurrentNewTabMode()).to.be.true;
+ expect(sut.getCurrentBackgroundMode()).to.be.false;
+ });
+ });
+});
diff --git a/test/content/repositories/FollowSlaveRepository.test.ts b/test/content/repositories/FollowSlaveRepository.test.ts
new file mode 100644
index 0000000..10cf094
--- /dev/null
+++ b/test/content/repositories/FollowSlaveRepository.test.ts
@@ -0,0 +1,24 @@
+import FollowSlaveRepository, { FollowSlaveRepositoryImpl }
+ from '../../../src/content/repositories/FollowSlaveRepository';
+import { expect } from 'chai';
+
+describe('FollowSlaveRepository', () => {
+ let sut: FollowSlaveRepository;
+
+ before(() => {
+ sut = new FollowSlaveRepositoryImpl();
+ });
+
+ describe('#isFollowMode()/#enableFollowMode()/#disableFollowMode()', () => {
+ it('gets, adds updates follow mode', () => {
+ expect(sut.isFollowMode()).to.be.false;
+
+ sut.enableFollowMode();
+ expect(sut.isFollowMode()).to.be.true;
+
+ sut.disableFollowMode();
+ expect(sut.isFollowMode()).to.be.false;
+ });
+ });
+});
+
diff --git a/test/content/repositories/KeymapRepository.test.ts b/test/content/repositories/KeymapRepository.test.ts
new file mode 100644
index 0000000..34704d9
--- /dev/null
+++ b/test/content/repositories/KeymapRepository.test.ts
@@ -0,0 +1,37 @@
+import KeymapRepository, { KeymapRepositoryImpl }
+ from '../../../src/content/repositories/KeymapRepository';
+import { expect } from 'chai';
+
+describe('KeymapRepositoryImpl', () => {
+ let sut: KeymapRepository;
+
+ before(() => {
+ sut = new KeymapRepositoryImpl();
+ });
+
+ describe('#enqueueKey()', () => {
+ it('enqueues keys', () => {
+ sut.enqueueKey({ key: 'a' });
+ sut.enqueueKey({ key: 'b' });
+ let sequence = sut.enqueueKey({ key: 'c' });
+
+ expect(sequence.getKeyArray()).deep.equals([
+ { key: 'a' }, { key: 'b' }, { key: 'c' },
+ ]);
+ });
+ });
+
+ describe('#clear()', () => {
+ it('clears keys', () => {
+ sut.enqueueKey({ key: 'a' });
+ sut.enqueueKey({ key: 'b' });
+ sut.enqueueKey({ key: 'c' });
+ sut.clear();
+
+ let sequence = sut.enqueueKey({ key: 'a' });
+ expect(sequence.length()).to.equal(1);
+ });
+ });
+});
+
+
diff --git a/test/content/repositories/MarkKeyRepository.test.ts b/test/content/repositories/MarkKeyRepository.test.ts
new file mode 100644
index 0000000..8592332
--- /dev/null
+++ b/test/content/repositories/MarkKeyRepository.test.ts
@@ -0,0 +1,36 @@
+import MarkRepository, { MarkKeyRepositoryImpl }
+ from '../../../src/content/repositories/MarkKeyRepository';
+import { expect } from 'chai';
+
+describe('MarkKeyRepositoryImpl', () => {
+ let sut: MarkRepository;
+
+ before(() => {
+ sut = new MarkKeyRepositoryImpl();
+ })
+
+ describe('#isSetMode/#enableSetMode/#disabeSetMode', () => {
+ it('enables and disables set mode', () => {
+ expect(sut.isSetMode()).to.be.false;
+
+ sut.enableSetMode();
+ expect(sut.isSetMode()).to.be.true;
+
+ sut.disabeSetMode();
+ expect(sut.isSetMode()).to.be.false;
+ });
+ });
+
+ describe('#isJumpMode/#enableJumpMode/#disabeJumpMode', () => {
+ it('enables and disables jump mode', () => {
+ expect(sut.isJumpMode()).to.be.false;
+
+ sut.enableJumpMode();
+ expect(sut.isJumpMode()).to.be.true;
+
+ sut.disabeJumpMode();
+ expect(sut.isJumpMode()).to.be.false;
+ });
+ });
+});
+