This repository has been archived on 2020-04-04. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Vim-Vixen/test/content/navigates.test.js
2017-10-05 20:12:08 +09:00

56 lines
1.6 KiB
JavaScript

import { expect } from "chai";
import * as navigates from 'content/navigates';
describe('navigates module', () => {
describe('#linkPrev', () => {
it('clicks prev link by text content', (done) => {
document.body.innerHTML = '<a href="#dummy">xprevx</a> <a href="#prev">go to prev</a>';
navigates.linkPrev(window);
setTimeout(() => {
expect(document.location.hash).to.equal('#prev');
done();
}, 0);
});
it('clicks a[rel=prev] element preferentially', (done) => {
document.body.innerHTML = '<a href="#dummy">prev</a> <a rel="prev" href="#prev">rel</a>';
navigates.linkPrev(window);
setTimeout(() => {
expect(document.location.hash).to.equal('#prev');
done();
}, 0);
});
});
describe('#linkNext', () => {
it('clicks next link by text content', (done) => {
document.body.innerHTML = '<a href="#dummy">xnextx</a> <a href="#next">go to next</a>';
navigates.linkNext(window);
setTimeout(() => {
expect(document.location.hash).to.equal('#next');
done();
}, 0);
});
it('clicks a[rel=next] element preferentially', (done) => {
document.body.innerHTML = '<a href="#dummy">next</a> <a rel="next" href="#next">rel</a>';
navigates.linkNext(window);
setTimeout(() => {
expect(document.location.hash).to.equal('#next');
done();
}, 0);
});
});
describe('#parent', () => {
// NOTE: not able to test location
it('removes hash', () => {
window.location.hash = "#section-1";
navigates.parent(window);
expect(document.location.hash).to.be.empty;
});
});
});