mirror of
https://git.proxmox.com/git/rustc
synced 2025-08-17 12:54:57 +00:00
46 lines
1.1 KiB
Rust
46 lines
1.1 KiB
Rust
#![cfg(feature = "wat")]
|
|
|
|
use anyhow::Result;
|
|
use wit_parser::Resolve;
|
|
|
|
/// Ensure that parse_wit_from_path works with directories
|
|
#[test]
|
|
fn parse_wit_dir() -> Result<()> {
|
|
drop(env_logger::try_init());
|
|
|
|
let mut resolver = Resolve::default();
|
|
let (package_id, _) = resolver.push_path("tests/wit/parse-dir/wit")?;
|
|
assert!(resolver
|
|
.select_world(package_id, "foo-world".into())
|
|
.is_ok());
|
|
|
|
Ok(())
|
|
}
|
|
|
|
/// Ensure that parse_wit_from_path works for a single file
|
|
#[test]
|
|
fn parse_wit_file() -> Result<()> {
|
|
drop(env_logger::try_init());
|
|
|
|
let mut resolver = Resolve::default();
|
|
let (package_id, _) = resolver.push_path("tests/wit/parse-dir/wit/deps/bar/bar.wit")?;
|
|
resolver.select_world(package_id, "bar-world".into())?;
|
|
assert!(resolver
|
|
.interfaces
|
|
.iter()
|
|
.any(|(_, iface)| iface.name == Some("bar".into())));
|
|
|
|
Ok(())
|
|
}
|
|
|
|
/// Ensure that parse_with_from_path fails for missing paths
|
|
#[test]
|
|
fn parse_wit_missing_path() -> Result<()> {
|
|
drop(env_logger::try_init());
|
|
|
|
let mut resolver = Resolve::default();
|
|
assert!(resolver.push_path("tests/nonexistent/path").is_err());
|
|
|
|
Ok(())
|
|
}
|