diff --git a/test/themes/helpers/relative.spec.js b/test/themes/helpers/relative.spec.js index 7e4fa70..814ea82 100644 --- a/test/themes/helpers/relative.spec.js +++ b/test/themes/helpers/relative.spec.js @@ -1,59 +1,85 @@ -const date = require('../../../src/website/theme-base/helpers/relative') +const relative = require('../../../src/website/theme-base/helpers/relative') const handlebars = require('handlebars') const should = require('should/as-function') describe('Handlebars helpers: relative', () => { - handlebars.registerHelper('relative', date) - - it('returns a path in the same folder', () => { - const template = handlebars.compile('') - const res = template({ - album: { - path: 'index.html' - } + handlebars.registerHelper('relative', relative) + + describe('theme assets', () => { + it('returns a path in the same folder', () => { + const template = handlebars.compile('') + const res = template({ + album: { + path: 'index.html' + } + }) + should(res).eql('') }) - should(res).eql('') - }) - it('returns a relative path for albums in nested folders', () => { - const template = handlebars.compile('') - const res = template({ - album: { - path: 'albums/holidays.html' - } + it('returns a relative path for albums in nested folders', () => { + const template = handlebars.compile('') + const res = template({ + album: { + path: 'albums/holidays.html' + } + }) + should(res).eql('') }) - should(res).eql('') }) - it('does not do anything if the path is an absolute URL', () => { - // This can happen when using --link-prefix - const url = 'http://example.com/photo.jpg' - const template = handlebars.compile(``) - const res = template({}) - should(res).eql(``) - }) + describe('images and videos', () => { + it('returns a path from the root album', () => { + const template = handlebars.compile('') + const res = template({ + album: { + path: 'index.html' + } + }) + should(res).eql('') + }) - // TODO: this should not be needed anymore because all URLs are already escaped - it('escapes single quotes so they can be used in CSS background-image', () => { - const template = handlebars.compile("background-image('{{relative url}}')") - const res = template({ - url: "l'histoire.jpg", - album: { - path: 'index.html' - } + it('returns a path from a nested album', () => { + const template = handlebars.compile('') + const res = template({ + album: { + path: 'albums/holidays.html' + } + }) + should(res).eql('') + }) + + it('does not do anything if the path is an absolute URL', () => { + // This can happen when using --link-prefix + const url = 'http://example.com/photo.jpg' + const template = handlebars.compile(``) + const res = template({}) + should(res).eql(``) }) - should(res).eql("background-image('l%27histoire.jpg')") }) - // TODO: this should not be needed anymore because all URLs are already escaped - it('escapes double quotes so they can be used in tags', () => { - const template = handlebars.compile('') - const res = template({ - url: 'l"histoire.jpg', - album: { - path: 'index.html' - } + describe('escaping', () => { + // TODO: this should not be needed anymore because all URLs are already escaped + it('escapes single quotes so they can be used in CSS background-image', () => { + const template = handlebars.compile("background-image('{{relative url}}')") + const res = template({ + url: "l'histoire.jpg", + album: { + path: 'index.html' + } + }) + should(res).eql("background-image('l%27histoire.jpg')") + }) + + // TODO: this should not be needed anymore because all URLs are already escaped + it('escapes double quotes so they can be used in tags', () => { + const template = handlebars.compile('') + const res = template({ + url: 'l"histoire.jpg', + album: { + path: 'index.html' + } + }) + should(res).eql('') }) - should(res).eql('') }) })