aboutsummaryrefslogtreecommitdiff
path: root/test/components
diff options
context:
space:
mode:
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);
+ });
+ });
+});