aboutsummaryrefslogtreecommitdiff
path: root/test/components
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2017-10-02 21:35:52 +0900
committerShin'ya Ueoka <ueokande@i-beam.org>2017-10-02 21:38:23 +0900
commit0a7ae631cd72100abdc26b84b06006bb5b166cba (patch)
tree3bef6ca26a12e3b3cbedb3d1dbb9d0a39a7fd466 /test/components
parent6f857e2c81b2d31a86d39c02b010345d3ff23a38 (diff)
follow as redux
Diffstat (limited to 'test/components')
-rw-r--r--test/components/follow.html9
-rw-r--r--test/components/follow.test.js25
2 files changed, 34 insertions, 0 deletions
diff --git a/test/components/follow.html b/test/components/follow.html
new file mode 100644
index 0000000..6bd8f87
--- /dev/null
+++ b/test/components/follow.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+ <body>
+ <a href='#' >link</a>
+ <a href='#' style='display:none'>invisible 1</a>
+ <a href='#' style='visibility:hidden'>invisible 2</a>
+ <i>not link<i>
+ </body>
+</html>
diff --git a/test/components/follow.test.js b/test/components/follow.test.js
new file mode 100644
index 0000000..f2f870e
--- /dev/null
+++ b/test/components/follow.test.js
@@ -0,0 +1,25 @@
+import { expect } from "chai";
+import FollowComponent from '../../src/components/follow';
+
+describe('FollowComponent', () => {
+ describe('#codeChars', () => {
+ it('returns a string for key codes', () => {
+ let chars = [
+ KeyboardEvent.DOM_VK_0, KeyboardEvent.DOM_VK_1,
+ KeyboardEvent.DOM_VK_A, KeyboardEvent.DOM_VK_B];
+ expect(FollowComponent.codeChars(chars)).to.equal('01ab');
+ expect(FollowComponent.codeChars([])).to.be.equal('');
+ });
+ });
+
+ describe('#getTargetElements', () => {
+ beforeEach(() => {
+ document.body.innerHTML = __html__['test/components/follow.html'];
+ });
+
+ it('returns visible links', () => {
+ let links = FollowComponent.getTargetElements(window.document);
+ expect(links).to.have.lengthOf(1);
+ });
+ });
+});