aboutsummaryrefslogtreecommitdiffstats
path: root/testing (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-01-22Add ui test for `extends` errorLibravatar Guillaume Gomez2-0/+37
2024-01-18Fix support for mixed case variablesLibravatar Dirkjan Ochtman1-0/+20
2024-01-17Allow included templates to `extend`, `import`, and `macro`Libravatar max6-0/+63
Signed-off-by: max <gmx.sht@gmail.com>
2024-01-12Generator: make `normalize_identifier` faster (#946)Libravatar René Kijewski2-0/+699
`normalize_identifier` is called quite often in the generator, once for every variable name or path element that is written. This PR aims to speed up the function by * using a per-length input string length replacement map * binary searching the replacement map instead of a linear search Diffent, but functionally equivalent implementations were compared: ```text * linear search in one big map: 348.44 µs * binary search in one big map: 334.46 µs * linear search in a per-length map: 178.84 µs * binary search in a per-length map: 154.54 µs * perfect hashing: 170.87 µs ``` The winner of this competition is "binary search in a per-length map". It does not introduce new dependencies, but has the slight disadvantage that it uses one instance of `unsafe` code. I deem this disadvantage acceptable, though. Nb. It was also tested if a variant that only stores the replaced string would be faster. This "optimization" proved to be slower for all implementations except "binary search in a per-length map", for which it has the same runtime. Without a clear advantage to use the "optimized version", I chose to use the more easy to read slice of tuples variant. Obviously, for all measurements: YMMV.
2024-01-12Add test for `as_ref` builtin filterLibravatar Guillaume Gomez1-0/+14
2024-01-10Revert "Add automatic borrowing to let statement"Libravatar Guillaume Gomez1-14/+0
This reverts commit 3d52283b74573af509deb3c47cbabf7b7b58b1dd.
2024-01-09Make the `markdown` filter compatible with `String`Libravatar Jakub Stachurski1-0/+18
This commit solves issue #719. This is done by making the markdown filter borrow the string and simplifying the filter to accept `&str` instead of `AsRef<str>` Add test for the markdown filter using as input Revert markdown filter changes Revert unnecessary changes Improve test_markdown_owned_string test Use cargo fmt
2023-12-13Add automatic borrowing to let statementLibravatar max1-0/+14
Signed-off-by: max <gmx.sht@gmail.com>
2023-12-13Bugfix in `is_attr_self()`Libravatar max1-0/+19
Signed-off-by: max <gmx.sht@gmail.com>
2023-12-07Allow trailing comma in macro definition and callLibravatar Guillaume Gomez1-0/+30
2023-12-07Add macro test with only argument being passed as namedLibravatar Guillaume Gomez1-0/+17
2023-11-30build(deps): update comrak requirement from 0.18 to 0.20Libravatar dependabot[bot]1-1/+1
Updates the requirements on [comrak](https://github.com/kivikakk/comrak) to permit the latest version. - [Release notes](https://github.com/kivikakk/comrak/releases) - [Changelog](https://github.com/kivikakk/comrak/blob/main/changelog.txt) - [Commits](https://github.com/kivikakk/comrak/compare/0.18.0...0.20.0) --- updated-dependencies: - dependency-name: comrak dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
2023-11-30Upgrade to comrak 0.19Libravatar Dirkjan Ochtman2-10/+7
2023-11-28Add tests for named arguments in macro callsLibravatar Guillaume Gomez3-0/+117
2023-11-22Add better support for rust-like number literals (#908)Libravatar PizzasBear2-0/+34
Signed-off-by: max <gmx.sht@gmail.com>
2023-11-22Enhance match to include multiple targets (#911)Libravatar PizzasBear2-0/+37
Signed-off-by: max <gmx.sht@gmail.com>
2023-11-20Add UI tests for macros error messageLibravatar Guillaume Gomez2-0/+50
2023-10-25Add UI test for `elif` error messageLibravatar Guillaume Gomez2-0/+17
2023-10-25 Improve error for invalid name used in `endmacro`Libravatar Guillaume Gomez1-1/+2
2023-10-25Improve error for invalid name used in `endblock`Libravatar Guillaume Gomez1-1/+2
2023-10-23Add test specifically for named blocks, and named macrosLibravatar Guillaume Gomez6-0/+53
2023-10-12Add test for macro self argumentLibravatar max2-0/+17
Signed-off-by: max <gmx.sht@gmail.com>
2023-09-29Add MSRV checking in CILibravatar Dirkjan Ochtman1-1/+1
Bump MSRV to 1.65 for the use of let .. else.
2023-09-28Pass `Node` parsing level to expressionsLibravatar René Kijewski1-2/+2
2023-09-28Limit nesting in parser nodes, tooLibravatar René Kijewski2-0/+129
2023-07-31 Fix parsing arraysLibravatar René Kijewski2-7/+3
This change * allows using empty arrays `[]` in expessions, * adds a cut when the leading `[` was encountered, and * fixes the interaction between arrays and boolean OR. IMO the restriction that you couldn't use empty arrays is not needed. The missing cut made error messages slictly worse if you forget to add the closing `]`. Filter expressions must not have white spaces before the pipe `|`. The white space is used to tell a filter expressions, and `std::ops::Or` apart.
2023-07-31 Fix parsing callsLibravatar René Kijewski1-2/+2
This change: * adds a cut when the leading `(` was encountered, and * fixed the interaction between call expressions and boolean OR.
2023-07-24Fix Rust macro invocations not accepting a path (#837)Libravatar Matthew Taylor2-2/+23
2023-06-12Allow macros to be defined and called without argumentsLibravatar mataha2-0/+31
This commit introduces a shorthand for defining and calling macros when using them as a reusable substitute for variables assigned complex values (e.g. string literals with or without newline escapes). The use-case is formatting - from my experience it's easier to visually parse a `macro` `endmacro` block than a multiline variable assignment. Signed-off-by: mataha <mataha@users.noreply.github.com>
2023-05-24Update criterion requirement from 0.4 to 0.5Libravatar dependabot[bot]1-1/+1
Updates the requirements on [criterion](https://github.com/bheisler/criterion.rs) to permit the latest version. - [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/bheisler/criterion.rs/compare/0.4.0...0.5.0) --- updated-dependencies: - dependency-name: criterion dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
2023-05-20Upgrade to comrak 0.18Libravatar Dirkjan Ochtman1-1/+1
2023-03-28Update comrak to 0.17Libravatar Dirkjan Ochtman1-1/+1
2023-03-13Add tests for whitespace argument in template derive proc-macroLibravatar Guillaume Gomez1-0/+24
2023-03-09Update tests for whitespace characters handlingLibravatar Guillaume Gomez3-437/+471
2023-03-06Propogate size_hint from sub-blocks (#788)Libravatar Andrew Dona-Couch -- GitHub drop ICE4-0/+52
Closes #786
2023-03-03Bump versions for Askama 0.12 (#784)Libravatar Dirkjan Ochtman1-1/+1
2023-01-30Update comrak dependency to 0.16Libravatar René Kijewski1-1/+1
2023-01-30Apply clippy suggestions for 1.67 (#769)Libravatar Dirkjan Ochtman3-6/+6
2023-01-24Update `ui` test for trybuild 1.0.76Libravatar René Kijewski2-2/+2
In <https://github.com/dtolnay/trybuild/pull/219> the output of error messages was subtly changed, because they introduced a subdirectoy in their temp path. This PR fixes the mismatch between the expected and the actual output.
2022-11-15Update comrak requirement from 0.14 to 0.15Libravatar dependabot[bot]1-1/+1
Updates the requirements on [comrak](https://github.com/kivikakk/comrak) to permit the latest version. - [Release notes](https://github.com/kivikakk/comrak/releases) - [Changelog](https://github.com/kivikakk/comrak/blob/main/changelog.txt) - [Commits](https://github.com/kivikakk/comrak/compare/0.14.0...0.15.0) --- updated-dependencies: - dependency-name: comrak dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07chore: remove allow(clippy::disallowed_names)Libravatar Dirkjan Ochtman4-7/+1
2022-11-07chore: apply clippy suggestions for 1.65Libravatar Dirkjan Ochtman4-4/+4
2022-10-21Version bump in README and bookLibravatar Allan Zhang1-1/+1
I was going through the book when I saw the version was still 0.8. This commit ensures all references to Askama version are to 0.11.2. Most of them already were. Merge whenever appropriate for release, #722 related
2022-09-26Update criterion requirement from 0.3 to 0.4 (#721)Libravatar dependabot[bot]1-1/+1
Updates the requirements on [criterion](https://github.com/bheisler/criterion.rs) to permit the latest version. - [Release notes](https://github.com/bheisler/criterion.rs/releases) - [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/bheisler/criterion.rs/compare/0.3.0...0.4.0) --- updated-dependencies: - dependency-name: criterion dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-25Remove support for deprecated `_parent` fieldLibravatar René Kijewski1-4/+40
The support for the magic `_parent` field is deprecated since v0.8.0 or issue #180. It's bothersome to keep this feature alive, when no-one should be using it for 3 years.
2022-07-20Update to comrak v0.14Libravatar René Kijewski1-1/+1
2022-06-07Update comrak requirement from 0.12 to 0.13Libravatar dependabot[bot]1-1/+1
Updates the requirements on [comrak](https://github.com/kivikakk/comrak) to permit the latest version. - [Release notes](https://github.com/kivikakk/comrak/releases) - [Changelog](https://github.com/kivikakk/comrak/blob/main/changelog.txt) - [Commits](https://github.com/kivikakk/comrak/compare/0.12.0...0.13.0) --- updated-dependencies: - dependency-name: comrak dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
2022-04-29Allow `{% endmacro name %}`Libravatar Bastien Orivel2-1/+13
Just migrated a repo from tera to askama and this was one of the only things that was different. This is also coherent with `{% block %}` for which I added the same feature years ago.
2022-04-26Add test for "minimize" configLibravatar Guillaume Gomez2-0/+45
2022-04-21Rename `suppress_whitespace` into `whitespace` and update expected values to ↵Libravatar Guillaume Gomez1-1/+1
"suppress" and "preserve"