tidos 0.7.6

Tidos is a component framework that can be served by any web framework.
Documentation
use tidos_macro::view;

#[test]
fn missing_end_for_loop() {
	let t = trybuild::TestCases::new();
	t.compile_fail("tests/control_tags/panics/missing_end_for_loop.rs");
}

#[test]
fn misspelled_control_tag() {
	let t = trybuild::TestCases::new();
	t.compile_fail("tests/control_tags/panics/misspelled_control_tag.rs");
}

#[test]
fn for_loop_missing_binding() {
	let t = trybuild::TestCases::new();
	t.compile_fail("tests/control_tags/panics/for_loop_missing_binding.rs");
}

#[test]
fn a_simple_for_loop() {
	let names = vec!["Bob", "Alice"];

	assert_eq!(
		&view! {
			{#for name in names}
				<p>{name}</p>
			{/for}
		},
		"<p>Bob</p><p>Alice</p>"
	);
}

#[test]
fn an_empty_for_loop() {
	let names: Vec<&str> = vec![];

	assert_eq!(
		&view! {
			<main>
				{#for name in names}
					<p>{name}</p>
				{/for}
			</main>
		},
		"<main></main>"
	);
}

#[test]
fn a_complex_for_loop() {
	let name = String::from("kaasbroodju");

	assert_eq!(
		&view! {
			<main>
				{#for (i, c) in name.chars().enumerate()}
					<span>{format!("{}. {}", i, c)}</span>
				{/for}
			</main>
		},
		"<main><span>0. k</span><span>1. a</span><span>2. a</span><span>3. s</span><span>4. b</span><span>5. r</span><span>6. o</span><span>7. o</span><span>8. d</span><span>9. j</span><span>10. u</span></main>"
	);
}