feat: Add support for the Jekyll sample filter (#612)

* Add support for the Jekyll sample filter

See https://jekyllrb.com/docs/liquid/filters

I am sorting the array randomly and then picking the first N items or all items if there is no sample limit.

* Remove incorrect spaces before parens

Typo and copy-paste meet
This commit is contained in:
Tomáš Hübelbauer
2023-05-27 00:55:39 +08:00
committed by GitHub
parent dca9ab52b8
commit ba8b842452
2 changed files with 25 additions and 0 deletions
+14
View File
@@ -104,6 +104,20 @@ describe('filters/array', function () {
expect(html).toBe('abc')
})
})
describe('sample', function () {
it('should return full array sample', () => test(
'{{ "hello,world" | split: "," | sample | size }}',
'2'
))
it('should return full array sample even if excess count', () => test(
'{{ "hello,world" | split: "," | sample: 10 | size }}',
'2'
))
it('should return partial array sample', () => test(
'{{ "hello,world" | split: "," | sample: 1 | size }}',
'1'
))
})
describe('size', function () {
it('should return string length', () => test(
'{{ "Ground control to Major Tom." | size }}',