aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorShin'ya UEOKA <ueokande@i-beam.org>2019-10-06 12:51:43 +0000
committerShin'ya UEOKA <ueokande@i-beam.org>2019-10-08 11:43:10 +0000
commitfa6dfb0395826041349c604edcbcbaa316fc95d8 (patch)
tree761cc8da5ec0c047e6b3dddb762e3b015688691e /test
parent7528fe831fa4e17e5c427e89025ac76b078a9313 (diff)
Add partial blacklist form
Diffstat (limited to 'test')
-rw-r--r--test/settings/components/form/BlacklistForm.test.tsx25
-rw-r--r--test/shared/settings/Blacklist.test.ts17
2 files changed, 24 insertions, 18 deletions
diff --git a/test/settings/components/form/BlacklistForm.test.tsx b/test/settings/components/form/BlacklistForm.test.tsx
index 2be5d96..7daf513 100644
--- a/test/settings/components/form/BlacklistForm.test.tsx
+++ b/test/settings/components/form/BlacklistForm.test.tsx
@@ -2,13 +2,16 @@ import React from 'react';
import ReactDOM from 'react-dom';
import ReactTestRenderer from 'react-test-renderer';
import ReactTestUtils from 'react-dom/test-utils';
-import BlacklistForm from 'settings/components/form/BlacklistForm'
+import { expect } from 'chai'
+
+import BlacklistForm from '../../../../src/settings/components/form/BlacklistForm'
+import Blacklist from '../../../../src/shared/settings/Blacklist';
describe("settings/form/BlacklistForm", () => {
describe('render', () => {
it('renders BlacklistForm', () => {
let root = ReactTestRenderer.create(
- <BlacklistForm value={['*.slack.com', 'www.google.com/maps']} />,
+ <BlacklistForm value={Blacklist.fromJSON(['*.slack.com', 'www.google.com/maps'])} />,
).root;
let children = root.children[0].children;
@@ -43,10 +46,10 @@ describe("settings/form/BlacklistForm", () => {
it('invokes onChange event on edit', (done) => {
ReactTestUtils.act(() => {
ReactDOM.render(<BlacklistForm
- value={['*.slack.com', 'www.google.com/maps*']}
+ value={Blacklist.fromJSON(['*.slack.com', 'www.google.com/maps*'])}
onChange={value => {
- expect(value).to.have.lengthOf(2);
- expect(value).to.have.members(['gitter.im', 'www.google.com/maps*']);
+ let urls = value.items.map(item => item.pattern);
+ expect(urls).to.have.members(['gitter.im', 'www.google.com/maps*']);
done();
}}
/>, container)
@@ -60,10 +63,10 @@ describe("settings/form/BlacklistForm", () => {
it('invokes onChange event on delete', (done) => {
ReactTestUtils.act(() => {
ReactDOM.render(<BlacklistForm
- value={['*.slack.com', 'www.google.com/maps*']}
+ value={Blacklist.fromJSON(['*.slack.com', 'www.google.com/maps*'])}
onChange={value => {
- expect(value).to.have.lengthOf(1);
- expect(value).to.have.members(['www.google.com/maps*']);
+ let urls = value.items.map(item => item.pattern);
+ expect(urls).to.have.members(['www.google.com/maps*']);
done();
}}
/>, container)
@@ -76,10 +79,10 @@ describe("settings/form/BlacklistForm", () => {
it('invokes onChange event on add', (done) => {
ReactTestUtils.act(() => {
ReactDOM.render(<BlacklistForm
- value={['*.slack.com']}
+ value={Blacklist.fromJSON(['*.slack.com'])}
onChange={value => {
- expect(value).to.have.lengthOf(2);
- expect(value).to.have.members(['*.slack.com', '']);
+ let urls = value.items.map(item => item.pattern);
+ expect(urls).to.have.members(['*.slack.com', '']);
done();
}}
/>, container);
diff --git a/test/shared/settings/Blacklist.test.ts b/test/shared/settings/Blacklist.test.ts
index e7e1855..133112c 100644
--- a/test/shared/settings/Blacklist.test.ts
+++ b/test/shared/settings/Blacklist.test.ts
@@ -1,5 +1,6 @@
import Blacklist, { BlacklistItem } from '../../../src/shared/settings/Blacklist';
import { expect } from 'chai';
+import Key from '../../../src/shared/settings/Key';
describe('BlacklistItem', () => {
describe('#fromJSON', () => {
@@ -82,11 +83,13 @@ describe('BlacklistItem', () => {
describe('#includesPartialKeys', () => {
it('matches with partial keys', () => {
- let item = BlacklistItem.fromJSON({url: 'google.com', keys: ['j', 'k']});
+ let item = BlacklistItem.fromJSON({url: 'google.com', keys: ['j', 'k', '<C-U>']});
- expect(item.includeKey(new URL('http://google.com/maps'), 'j')).to.be.true;
- expect(item.includeKey(new URL('http://google.com/maps'), 'z')).to.be.false;
- expect(item.includeKey(new URL('http://maps.google.com/'), 'j')).to.be.false;
+ expect(item.includeKey(new URL('http://google.com/maps'), Key.fromMapKey('j'))).to.be.true;
+ expect(item.includeKey(new URL('http://google.com/maps'), Key.fromMapKey('<C-U>'))).to.be.true;
+ expect(item.includeKey(new URL('http://google.com/maps'), Key.fromMapKey('z'))).to.be.false;
+ expect(item.includeKey(new URL('http://google.com/maps'), Key.fromMapKey('u'))).to.be.false;
+ expect(item.includeKey(new URL('http://maps.google.com/'), Key.fromMapKey('j'))).to.be.false;
})
});
});
@@ -147,9 +150,9 @@ describe('Blacklist', () => {
{ url: 'github.com', keys: ['j', 'k'] },
]);
- expect(blacklist.includeKey(new URL('https://google.com'), 'j')).to.be.true;
- expect(blacklist.includeKey(new URL('https://github.com'), 'j')).to.be.true;
- expect(blacklist.includeKey(new URL('https://github.com'), 'a')).to.be.false;
+ expect(blacklist.includeKey(new URL('https://google.com'), Key.fromMapKey('j'))).to.be.true;
+ expect(blacklist.includeKey(new URL('https://github.com'), Key.fromMapKey('j'))).to.be.true;
+ expect(blacklist.includeKey(new URL('https://github.com'), Key.fromMapKey('a'))).to.be.false;
});
});
});