Ghost/core/test/unit/metadata/title_spec.js
kirrg001 250d571fe6 improvement: jshint/jscs
no issue
- add mocha option to jshintrc, no need to define globals in files anymore
- call client grunt commands in case of jshint/jscs
2016-06-17 22:59:47 +02:00

144 lines
4.0 KiB
JavaScript

var getTitle = require('../../../server/data/meta/title'),
config = require('../../../server/config');
describe('getTitle', function () {
it('should return meta_title if on data root', function () {
var title = getTitle({
meta_title: 'My test title'
});
title.should.equal('My test title');
});
it('should return blog title if on home', function () {
config.set({
theme: {
title: 'My blog title'
}
});
var title = getTitle({}, {context: 'home'});
title.should.equal('My blog title');
});
it('should return author name - blog title if on data author page', function () {
config.set({
theme: {
title: 'My blog title 2'
}
});
var title = getTitle({
author: {
name: 'Author Name'
}
}, {context: 'author'});
title.should.equal('Author Name - My blog title 2');
});
it('should return author page title if on data author page with more then one page', function () {
config.set({
theme: {
title: 'My blog title 2'
}
});
var title = getTitle({
author: {
name: 'Author Name'
}
}, {
context: 'author',
pagination: {
total: 40,
page: 3
}
});
title.should.equal('Author Name - Page 3 - My blog title 2');
});
it('should return tag name - blog title if on data tag page no meta_title', function () {
config.set({
theme: {
title: 'My blog title 3'
}
});
var title = getTitle({
tag: {
name: 'Tag Name'
}
}, {context: 'tag'});
title.should.equal('Tag Name - My blog title 3');
});
it('should return tag name - page - blog title if on data tag page no meta_title', function () {
config.set({
theme: {
title: 'My blog title 3'
}
});
var title = getTitle({
tag: {
name: 'Tag Name'
}
}, {
context: 'tag',
pagination: {
total: 40,
page: 39
}
});
title.should.equal('Tag Name - Page 39 - My blog title 3');
});
it('should return tag meta_title if in tag data', function () {
var title = getTitle({
tag: {
name: 'Tag Name',
meta_title: 'My Tag Meta Title!'
}
}, {context: 'tag'});
title.should.equal('My Tag Meta Title!');
});
it('should return post title if in post context', function () {
var title = getTitle({
post: {
title: 'My awesome post!'
}
}, {context: 'post'});
title.should.equal('My awesome post!');
});
it('should return post title if in page context', function () {
var title = getTitle({
post: {
title: 'My awesome page!'
}
}, {context: 'page'});
title.should.equal('My awesome page!');
});
it('should return post meta_title if in post data', function () {
var title = getTitle({
post: {
name: 'My awesome post!',
meta_title: 'My Tag Meta Title Post! '
}
}, {context: 'post'});
title.should.equal('My Tag Meta Title Post!');
});
it('should return blog title with page if unknown type', function () {
config.set({
theme: {
title: 'My blog title 4'
}
});
var title = getTitle({}, {
context: 'paged',
pagination: {
total: 40,
page: 35
}
});
title.should.equal('My blog title 4 - Page 35');
});
});