test: Add tests for push (#614)

* 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.

* Add tests for `push`

I thought `push` was broken because it doesn't work on the Playground but that's not the case. Here are the tests to prove it. Taken from the `concat` tests.

* Remove the sample experiment

This got in from another branch lol.

* Recommend the build:dist command over the whole build

This one works for me locally whereas build:docs is reporting some issues.

* Return the full `build` command and explain how to use `commitlint` to workshop the message

I am working on a PR to make `build` run on macOS because it is a part of the pre-commit hook anyway so all contributors should make it work for them.

I have also shown how to check your messages against `commitlint` from the CLI because it is faster than using the VS Code GUI.
This commit is contained in:
Tomáš Hübelbauer
2023-05-30 00:06:22 +08:00
committed by GitHub
parent ba8b842452
commit db67118a75
2 changed files with 52 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
# Contributing
1. Build everything and run tests to learn how to do both:
- `npm run build`
- `npm run test`
Tests won't at first unless you've done a build at least once.
Subsequent changes to tests do not need re-builds but changes to the code and
then tests need a build to pick up the new code by the tests.
2. Make your changes and add a test for them
- Build after you've made your changes
- Run tests as per the above to validate your changes
3. Create a pull request
- Ensure the build runs because the Husky pre-commit hook checks it
- `npm run check` checks runs the build, tests, lint and perf tests
- `commitlint` checks the commit message format
If there is a problem you will see it in the pre-commit hook output.
In VS Code, this output will be shown in a new file in a new tab if the
pre-commit hook fails.
If you want to check the commit message without using the VS Code Source
Control UI, you can run `echo "feat: my commit message" > npx commitlint`
directly.
- `git switch -c your_branch_name` (do this in your fork not the main repo)
- `git add .`
- `git commit -m "feat: Adding my change"`
- `git push`
- Go to GitHub and find your fork, open a PR against the upstream from it
+21
View File
@@ -92,6 +92,27 @@ describe('filters/array', function () {
})
})
describe('push', () => {
it('should push arg value', async () => {
const scope = { val: ['hey'], arg: 'foo' }
await test('{{ val | push: arg | join: "," }}', scope, 'hey,foo')
})
it('should support undefined left value', async () => {
const scope = { arg: 'foo' }
await test('{{ notDefined | push: arg | join: "," }}', scope, 'foo')
})
it('should ignore nil left value', async () => {
const scope = { undefinedValue: undefined, nullValue: null, arg: 'foo' }
await test('{{ undefinedValue | push: arg | join: "," }}', scope, 'foo')
await test('{{ nullValue | push: arg | join: "," }}', scope, 'foo')
})
it('should ignore nil right value', async () => {
const scope = { nullValue: null }
await test('{{ nullValue | push | join: "," }}', scope, '')
await test('{{ nullValue | push: nil | join: "," }}', scope, '')
})
})
describe('reverse', function () {
it('should support reverse', () => test(
'{{ "Ground control to Major Tom." | split: "" | reverse | join: "" }}',