mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-03 03:55:26 +03:00
Merge pull request #4781 from ErisDS/has-tag-fix
Fix has helper tag matching
This commit is contained in:
commit
be462d8d94
@ -25,7 +25,7 @@ has = function (options) {
|
||||
return p || (_.findIndex(tags, function (item) {
|
||||
// Escape regex special characters
|
||||
item = item.replace(/[\-\/\\\^$*+?.()|\[\]{}]/g, '\\$&');
|
||||
item = new RegExp(item, 'i');
|
||||
item = new RegExp('^' + item + '$', 'i');
|
||||
return item.test(c);
|
||||
}) !== -1);
|
||||
}, false);
|
||||
|
@ -44,6 +44,32 @@ describe('{{#has}} helper', function () {
|
||||
inverse.called.should.be.false;
|
||||
});
|
||||
|
||||
it('should match exact tags, not superstrings', function () {
|
||||
var fn = sinon.spy(),
|
||||
inverse = sinon.spy();
|
||||
|
||||
helpers.has.call(
|
||||
{tags: [{name: 'magical'}]},
|
||||
{hash: {tag: 'magic'}, fn: fn, inverse: inverse}
|
||||
);
|
||||
|
||||
fn.called.should.be.false;
|
||||
inverse.called.should.be.true;
|
||||
});
|
||||
|
||||
it('should match exact tags, not substrings', function () {
|
||||
var fn = sinon.spy(),
|
||||
inverse = sinon.spy();
|
||||
|
||||
helpers.has.call(
|
||||
{tags: [{name: 'magic'}]},
|
||||
{hash: {tag: 'magical'}, fn: fn, inverse: inverse}
|
||||
);
|
||||
|
||||
fn.called.should.be.false;
|
||||
inverse.called.should.be.true;
|
||||
});
|
||||
|
||||
it('should handle tag list that validates false', function () {
|
||||
var fn = sinon.spy(),
|
||||
inverse = sinon.spy();
|
||||
|
Loading…
Reference in New Issue
Block a user