from cjm_fasthtml_token_selector.core.config import TokenSelectorConfig, _reset_prefix_counter
from cjm_fasthtml_token_selector.core.html_ids import TokenSelectorHtmlIds
_reset_prefix_counter()
cfg = TokenSelectorConfig(prefix="t", selection_mode="gap")
ids = TokenSelectorHtmlIds(prefix="t")
js = generate_display_js(cfg, ids)
assert "ns.updateDisplay" in js
assert "ns.updateInputs" in js
assert "t-anchor" in js
assert "t-focus" in js
assert "caret-indicator" in js
print("Gap display JS generated!")
cfg_w = TokenSelectorConfig(prefix="tw", selection_mode="word")
ids_w = TokenSelectorHtmlIds(prefix="tw")
js_w = generate_display_js(cfg_w, ids_w)
assert HIGHLIGHT_CLS in js_w
print("Word display JS generated!")
cfg_s = TokenSelectorConfig(prefix="ts", selection_mode="span")
ids_s = TokenSelectorHtmlIds(prefix="ts")
js_s = generate_display_js(cfg_s, ids_s)
assert HIGHLIGHT_CLS in js_s
assert "caret-indicator" in js_s
print("Span display JS generated!")
_reset_prefix_counter()
print("All display JS tests passed!")