From: Sigbjørn Skjæret Date: Sun, 18 Jan 2026 00:05:09 +0000 (+0100) Subject: jinja : add missing tojson filter for bool (#18900) X-Git-Tag: upstream/0.0.8067~300 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=10c98cbdf623d982f7491e8de5711e916a913192;p=pkg%2Fggml%2Fsources%2Fllama.cpp jinja : add missing tojson filter for bool (#18900) * add missing tojson for bool * add more literal tests --- diff --git a/common/jinja/value.cpp b/common/jinja/value.cpp index fc1023ff2..acf24257f 100644 --- a/common/jinja/value.cpp +++ b/common/jinja/value.cpp @@ -698,6 +698,7 @@ const func_builtins & value_bool_t::get_builtins() const { bool val = args.get_pos(0)->as_bool(); return mk_val(val ? "True" : "False"); }}, + {"tojson", tojson}, }; return builtins; } diff --git a/tests/test-jinja.cpp b/tests/test-jinja.cpp index ed75f7089..6ed048768 100644 --- a/tests/test-jinja.cpp +++ b/tests/test-jinja.cpp @@ -540,6 +540,66 @@ static void test_literals(testing & t) { json::object(), "1" ); + + test_template(t, "integer|abs", + "{{ -42 | abs }}", + json::object(), + "42" + ); + + test_template(t, "integer|float", + "{{ 42 | float }}", + json::object(), + "42.0" + ); + + test_template(t, "integer|tojson", + "{{ 42 | tojson }}", + json::object(), + "42" + ); + + test_template(t, "float|abs", + "{{ -3.14 | abs }}", + json::object(), + "3.14" + ); + + test_template(t, "float|int", + "{{ 3.14 | int }}", + json::object(), + "3" + ); + + test_template(t, "float|tojson", + "{{ 3.14 | tojson }}", + json::object(), + "3.14" + ); + + test_template(t, "string|tojson", + "{{ 'hello' | tojson }}", + json::object(), + "\"hello\"" + ); + + test_template(t, "boolean|int", + "{{ true | int }}", + json::object(), + "1" + ); + + test_template(t, "boolean|float", + "{{ true | float }}", + json::object(), + "1.0" + ); + + test_template(t, "boolean|tojson", + "{{ true | tojson }}", + json::object(), + "true" + ); } static void test_comments(testing & t) {