Gosub text wrapping test

white-space, word-break, overflow-wrap, hyphens, long unbreakable strings, tab-size, and justified text. Boxes are 240px wide and scroll if content overflows.

white-space

normal: collapses whitespace and ignores source line breaks, wrapping as needed.
normal
nowrap: stays on one line no matter how long the text is, forcing horizontal scroll.
nowrap
pre: keeps spaces and line breaks exactly, no wrap.
pre
pre-wrap: keeps spaces and breaks, but also wraps long lines within the box.
pre-wrap
pre-line: collapses spaces but keeps line breaks.
pre-line

Long unbreakable strings

Default: supercalifragilisticexpialidocious_and_a_very_long_url https://example.com/some/extremely/long/path/that/overflows
word-break: normal (overflows)
break-all: supercalifragilisticexpialidocious_and_a_very_long_url https://example.com/some/extremely/long/path
word-break: break-all
break-word: supercalifragilisticexpialidocious_and_a_very_long_url https://example.com/some/extremely/long/path
overflow-wrap: break-word
anywhere: supercalifragilisticexpialidocious_and_a_very_long_url https://example.com/some/extremely/long/path
overflow-wrap: anywhere

Hyphenation

No hyphens: incomprehensibilities antidisestablishmentarianism counterrevolutionaries supercalifragilistic.
default
hyphens auto: incomprehensibilities antidisestablishmentarianism counterrevolutionaries supercalifragilistic.
hyphens: auto (needs lang)

tab-size

def example():
	if True:
		return "tab-size: 4"   # tab characters
	# columns should align on a 4-space grid

Justified text

Left aligned (default). Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore.
text-align: left
Justified. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
text-align: justify