From f23162a2080a3fb3fe2b8ba7eba4d61da5737dfe Mon Sep 17 00:00:00 2001 From: msrd0 Date: Mon, 2 Nov 2020 17:11:53 +0100 Subject: Use `syn::Error::to_compile_error` and add trybuild ui test (#374) --- testing/Cargo.toml | 1 + testing/tests/ui.rs | 7 +++++++ testing/tests/ui/incorrect_path.rs | 8 ++++++++ testing/tests/ui/incorrect_path.stderr | 7 +++++++ 4 files changed, 23 insertions(+) create mode 100644 testing/tests/ui.rs create mode 100644 testing/tests/ui/incorrect_path.rs create mode 100644 testing/tests/ui/incorrect_path.stderr (limited to 'testing') diff --git a/testing/Cargo.toml b/testing/Cargo.toml index 64f9095..0fcee8c 100644 --- a/testing/Cargo.toml +++ b/testing/Cargo.toml @@ -15,6 +15,7 @@ serde_json = { version = "1.0", optional = true } [dev-dependencies] criterion = "0.3" +trybuild = "1.0" [[bench]] name = "all" diff --git a/testing/tests/ui.rs b/testing/tests/ui.rs new file mode 100644 index 0000000..17c2248 --- /dev/null +++ b/testing/tests/ui.rs @@ -0,0 +1,7 @@ +use trybuild::TestCases; + +#[cfg_attr(not(windows), test)] +fn ui() { + let t = TestCases::new(); + t.compile_fail("tests/ui/*.rs"); +} diff --git a/testing/tests/ui/incorrect_path.rs b/testing/tests/ui/incorrect_path.rs new file mode 100644 index 0000000..f0c85cf --- /dev/null +++ b/testing/tests/ui/incorrect_path.rs @@ -0,0 +1,8 @@ +use askama::Template; + +#[derive(Template)] +#[template(path = "thisdoesnotexist.html")] +struct MyTemplate; + +fn main() { +} diff --git a/testing/tests/ui/incorrect_path.stderr b/testing/tests/ui/incorrect_path.stderr new file mode 100644 index 0000000..ea97149 --- /dev/null +++ b/testing/tests/ui/incorrect_path.stderr @@ -0,0 +1,7 @@ +error: template "thisdoesnotexist.html" not found in directories ["$WORKSPACE/target/tests/askama_testing/templates"] + --> $DIR/incorrect_path.rs:3:10 + | +3 | #[derive(Template)] + | ^^^^^^^^ + | + = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info) -- cgit