mirror of
https://github.com/home-assistant/core.git
synced 2025-07-20 11:47:06 +00:00
Swap order of int template helper kwargs (#57729)
* swap order of int kwargs * Add binary and kwargless base tests
This commit is contained in:
parent
0e0430ba36
commit
f8dbcb953c
@ -1463,7 +1463,7 @@ def forgiving_float_filter(value, default=_SENTINEL):
|
|||||||
return default
|
return default
|
||||||
|
|
||||||
|
|
||||||
def forgiving_int(value, default=_SENTINEL, base=10):
|
def forgiving_int(value, base=10, default=_SENTINEL):
|
||||||
"""Try to convert value to an int, and warn if it fails."""
|
"""Try to convert value to an int, and warn if it fails."""
|
||||||
result = jinja2.filters.do_int(value, default=default, base=base)
|
result = jinja2.filters.do_int(value, default=default, base=base)
|
||||||
if result is _SENTINEL:
|
if result is _SENTINEL:
|
||||||
@ -1472,7 +1472,7 @@ def forgiving_int(value, default=_SENTINEL, base=10):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def forgiving_int_filter(value, default=_SENTINEL, base=10):
|
def forgiving_int_filter(value, base=10, default=_SENTINEL):
|
||||||
"""Try to convert value to an int, and warn if it fails."""
|
"""Try to convert value to an int, and warn if it fails."""
|
||||||
result = jinja2.filters.do_int(value, default=default, base=base)
|
result = jinja2.filters.do_int(value, default=default, base=base)
|
||||||
if result is _SENTINEL:
|
if result is _SENTINEL:
|
||||||
|
@ -248,9 +248,14 @@ def test_int_filter(hass):
|
|||||||
|
|
||||||
hass.states.async_set("sensor.temperature", "0x10")
|
hass.states.async_set("sensor.temperature", "0x10")
|
||||||
assert render(hass, "{{ states.sensor.temperature.state | int(base=16) }}") == 16
|
assert render(hass, "{{ states.sensor.temperature.state | int(base=16) }}") == 16
|
||||||
|
assert render(hass, "{{ states.sensor.temperature.state | int(16) }}") == 16
|
||||||
|
|
||||||
|
hass.states.async_set("sensor.temperature", "1111")
|
||||||
|
assert render(hass, "{{ states.sensor.temperature.state | int(base=2) }}") == 15
|
||||||
|
assert render(hass, "{{ states.sensor.temperature.state | int(2) }}") == 15
|
||||||
|
|
||||||
assert render(hass, "{{ 'bad' | int }}") == 0
|
assert render(hass, "{{ 'bad' | int }}") == 0
|
||||||
assert render(hass, "{{ 'bad' | int(1) }}") == 1
|
assert render(hass, "{{ 'bad' | int(10, 1) }}") == 1
|
||||||
assert render(hass, "{{ 'bad' | int(default=1) }}") == 1
|
assert render(hass, "{{ 'bad' | int(default=1) }}") == 1
|
||||||
|
|
||||||
|
|
||||||
@ -262,9 +267,14 @@ def test_int_function(hass):
|
|||||||
|
|
||||||
hass.states.async_set("sensor.temperature", "0x10")
|
hass.states.async_set("sensor.temperature", "0x10")
|
||||||
assert render(hass, "{{ int(states.sensor.temperature.state, base=16) }}") == 16
|
assert render(hass, "{{ int(states.sensor.temperature.state, base=16) }}") == 16
|
||||||
|
assert render(hass, "{{ int(states.sensor.temperature.state, 16) }}") == 16
|
||||||
|
|
||||||
|
hass.states.async_set("sensor.temperature", "1111")
|
||||||
|
assert render(hass, "{{ int(states.sensor.temperature.state, base=2) }}") == 15
|
||||||
|
assert render(hass, "{{ int(states.sensor.temperature.state, 2) }}") == 15
|
||||||
|
|
||||||
assert render(hass, "{{ int('bad') }}") == "bad"
|
assert render(hass, "{{ int('bad') }}") == "bad"
|
||||||
assert render(hass, "{{ int('bad', 1) }}") == 1
|
assert render(hass, "{{ int('bad', 10, 1) }}") == 1
|
||||||
assert render(hass, "{{ int('bad', default=1) }}") == 1
|
assert render(hass, "{{ int('bad', default=1) }}") == 1
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user