mirror of
https://github.com/esphome/esphome.git
synced 2026-10-09 04:16:01 +00:00
18 lines
673 B
Python
18 lines
673 B
Python
"""Tests for the udp.write action codegen."""
|
|
|
|
from collections.abc import Callable
|
|
from pathlib import Path
|
|
|
|
|
|
def test_write_payloads_share_a_progmem_table(
|
|
generate_main: Callable[[str | Path], str],
|
|
component_config_path: Callable[[str], Path],
|
|
) -> None:
|
|
"""Identical constant payloads share one flash table; an empty one needs none."""
|
|
main_cpp = generate_main(component_config_path("udp_write.yaml"))
|
|
|
|
assert main_cpp.count("udp_data[] PROGMEM = {0xAA, 0x55, 0x01, 0x02};") == 1
|
|
assert main_cpp.count("->set_data_static(udp_data, 4);") == 2
|
|
assert "->set_data_static(nullptr, 0);" in main_cpp
|
|
assert "->set_data_template(" in main_cpp
|