James Meng
7f2f8a226b
Add tests for new public methods
2025-06-09 12:24:59 -07:00
James Meng
7b2b25fda1
Fix Doc tag blank? method to check body content
...
Previously the blank? method always returned true. Now it properly checks
if the body is empty, making the tag behavior consistent with other tags.
Also updated test to use whitespace control for cleaner assertions.
2025-06-09 11:36:18 -07:00
James Meng
8548b96a97
Remove body attr_reader and initiliaze @body instance variable in parse method
2025-06-06 13:08:06 -07:00
James Meng
79a771d724
Add test for doc tag capturing token before enddoc
2025-06-04 19:30:47 -07:00
James Meng
65b1dedac5
Expose tag body in the Doc tag
2025-06-04 12:04:41 -07:00
Ian Ker-Seymer and GitHub
f375d7b3aa
Add unit test for custom Liquid tag registration ( #1960 )
...
Adds EnvironmentTest to verify custom tag registration and rendering.
2025-05-22 11:38:10 -04:00
Guilherme Carreiro and Guilherme Carreiro
6453a0ea48
Implement nodelist in the Doc tag so it may be visited
2025-02-26 13:14:39 +01:00
Guilherme Carreiro and Guilherme Carreiro
f643af4bac
Update the implementation to make {% doc %} as strict as {% raw %}
2025-02-20 12:37:09 +01:00
Guilherme Carreiro and Guilherme Carreiro
ae8a0a86ac
Remove misleading unit test (thank you, @EvilGenius13)
2025-02-20 12:37:09 +01:00
Guilherme Carreiro and Guilherme Carreiro
b439d0da53
Update {% doc %} to no longer support nested tags (as {% comment %} does)
2025-02-20 12:37:09 +01:00
Guilherme Carreiro and Guilherme Carreiro
16592cfb8f
Add support to LiquidDoc with the new {% doc %} tag
2025-02-20 12:37:09 +01:00
Chris AtLee
550135c0b9
Raise SyntaxError on invalid UTF8 strings in lexer/tokenizer
2025-02-11 14:23:15 -05:00
Michael Go
0b8e30b819
update unit test to be compatible with new source_location format
2025-01-10 14:37:54 -04:00
Michael Go
04bd9dbe90
refactor Lexer to only take StringScanner
2025-01-07 14:32:46 -04:00
Michael Go
7c592c1c00
store StringScanner in ParseContext and reuse it through parsing
2025-01-07 14:32:45 -04:00
Michael Go
002e4caea7
refactor Lexer to be static class function
2025-01-07 14:32:07 -04:00
Michael Go
8ecb703d4d
use StringScanner to improve Expression Parsing and Tokenizer
2025-01-07 14:32:06 -04:00
Bahar Pourazar
a0a4307e7d
Fix bug in tokenizer with nil value
2024-12-17 15:34:13 +00:00
Michael Go
c77ff68573
clean up all warnings by using new Environment
2024-11-04 16:15:05 -04:00
Ian Ker-Seymer and GitHub
b0cba0bfd2
Remove Liquid.cache_classes option ( #1847 )
2024-11-04 14:41:56 -05:00
Michael Go
29986d3704
remove TagRegistry
2024-11-04 15:22:56 -04:00
Michael Go
ffce6de8bb
avoid using StringScanner eos
2024-10-30 13:45:10 -03:00
Michael Go
f00670cb01
refactor lexer unit test
2024-10-30 13:44:36 -03:00
Michael Go
f6a3e25e2e
fix parsing quirky incomplete expressions
2024-10-30 13:44:35 -03:00
Michael Go
1375a9e4dc
fix lexer parsing ID 'contains' as comparison
2024-10-30 13:39:55 -03:00
Michael Go
8a9f33a060
raise syntax error from lexer parser with utf8 character
2024-10-29 22:04:37 -03:00
Michael Go and GitHub
1943441361
Merge pull request #1835 from Shopify/fix-multibyte-variable-parsing
...
fix parsing Variable blockbody with multibyte character
2024-10-28 19:31:21 -03:00
Michael Go
d94293a464
fix lexer parsing comparison without whitespaces
2024-10-28 19:30:12 -03:00
Michael Go
6c13805a60
fix parsing Variable blockbody with multibyte character
2024-10-28 17:33:55 -03:00
Ian Ker-Seymer and GitHub
b3553787c8
Speed up the lexer for Ruby 3.4+ ( #1832 )
...
* Speed up lexing
* Bump msrv to 3.0 (from 2.7)
* Normalize test for ruby-head compat
* Fix bug when parsing negative numbers
2024-10-23 14:15:33 -04:00
Ian Ker-Seymer and GitHub
fb6634f454
Add concept of Liquid::Environment ( #1815 )
...
* Add concept of `Liquid::World`
* Rename `World` to `Environment`
2024-08-07 15:00:44 -04:00
Ian Ker-Seymer
1b2b62964e
Allow for binary comparison of incompatible strings
2024-01-30 19:03:05 -05:00
Michael Go
a3c837687e
don't reset Liquid tag's whitespace control from comment tag
2024-01-05 10:21:33 -04:00
Michael Go
fc9c338682
refactor: rename comment tag unit test
2023-12-14 17:08:26 -04:00
Michael Go
3c5ad7db61
don't allow invalid syntax inside comment tag
2023-12-14 17:01:03 -04:00
Michael Go
c618ac1c9f
fix parsing comment tag with extra string
2023-12-12 16:23:37 -04:00
Ian Ker-Seymer and GitHub
0f0d5d889f
Merge pull request #1750 from IevaGraz/fix/custom_tag_rendering
...
Fix for custom tag rendering
2023-12-10 11:28:50 -05:00
Michael Go
24d461a9e3
implement whitespace control to comment tag
2023-12-01 16:04:03 -04:00
Michael Go
bf0f79f36c
fix parsing comment tag delimiter
2023-11-30 13:24:54 -04:00
Michael Go
6a5ebb0e85
fix parsing nested comment tag with extra strings
2023-11-11 12:19:44 -04:00
Michael Go
6dafc19b6d
fix parsing comment tag delimiter with extra strings
2023-11-10 15:42:54 -04:00
Michael Go
41f65173b0
fix parsing comment block body inside a liquid tag
2023-11-09 16:27:23 -04:00
Michael Go
a681e73aec
refactor comment tag unit test to use test helper
2023-11-08 16:45:11 -04:00
Michael Go
2abf52d546
add a quirky comment tag unit test
2023-11-08 11:23:00 -04:00
Michael Go and Alex Coco
dbf0aa8cd5
don't parse nodes inside a comment tag
...
Co-authored-by: Alex Coco <[email protected] >
2023-11-07 18:38:13 -04:00
Ieva Grazuleviciute
407a8e5b0f
Fix for custom tag rendering
2023-10-20 11:42:54 +03:00
Michael Go
dd7bbf26bc
include error mode to partial cache key
2023-06-23 18:48:07 -03:00
Michael Go
24dceef552
set context's template_name with template's name
2023-02-28 10:55:38 -04:00
Dylan Thacker-Smith and GitHub
e650dc4195
Revert "Instrument usage of bug with iteration of String with offset or 0 limit ( #1667 )" ( #1677 )
...
This reverts commit c743936a78 .
2023-02-22 12:48:18 -05:00
Guilherme Carreiro and GitHub
9ab688eada
Update rubocop-shopify (2.7.0 -> 2.12.0) ( #1687 )
2023-02-15 08:40:59 +01:00