use file_format::FileFormat;
use puppeteer::{AssetFileLoader, AssetProperties, StaticAssetProperties};
fn main() {
smol::block_on(async {
let resource = AssetFileLoader::new("centauri.woff2")
.add_dir("examples/assets/fonts")
.load()
.await
.unwrap();
assert_eq!(FileFormat::WebOpenFontFormat2, resource.format());
assert_eq!(file_format::Kind::Font, resource.format().kind());
assert_eq!("font/woff2", resource.format().media_type());
assert_eq!(Some("WOFF2"), resource.format().short_name());
assert_eq!("centauri.woff2", &resource.name());
let resource = AssetFileLoader::new("frow.min.css")
.add_dir("examples/assets")
.load()
.await
.unwrap();
assert_eq!(FileFormat::PlainText, resource.format());
assert_eq!(file_format::Kind::Other, resource.format().kind());
assert_eq!("text/plain", resource.format().media_type());
assert_eq!(Some("TXT"), resource.format().short_name());
assert_eq!("frow.min.css", resource.name());
let frowcss = puppeteer::asset!("frow.min", "examples/assets/frow.min.css");
assert_eq!("frow.min", frowcss.name());
assert_eq!("text/plain", frowcss.format().media_type());
let counter = puppeteer::items_counter!(
("frow.min", "assets/frow.min.css"),
("centauri", "assets/fonts/centauri.woff2"),
("warteg", "assets/fonts/warteg.woff2"),
);
assert_eq!(counter, 3usize);
let counter = puppeteer::items_counter!(1, 2, 3);
assert_eq!(counter, 3usize);
let assets = puppeteer::assets!(
("frow.min", "assets/frow.min.css"),
("centauri", "assets/fonts/centauri.woff2"),
("warteg", "assets/fonts/warteg.woff2"),
);
assert_eq!(
"0b3ae879a79a09c1aa75f82b8f4a2482f08842b511b4b075484996e29cd7c3b0",
blake3::hash(assets[0].bytes).to_hex().as_str()
);
assert_eq!(
"b67a70f6e41e9dc758a1ab6b24d30865df90446fb155d6fb905c5789b3f43ce3",
blake3::hash(assets[1].bytes).to_hex().as_str()
);
assert_eq!(
"1ee55e0400b17f43438b4ca12a94fa83984323095fa6093e9e97ca6b13d906e6",
blake3::hash(assets[2].bytes).to_hex().as_str()
);
let assets = puppeteer::assets_from_manifest_dir!(
("frow.min", "examples/assets/frow.min.css"),
("centauri", "examples/assets/fonts/centauri.woff2"),
("warteg", "examples/assets/fonts/warteg.woff2"),
);
assert_eq!(
"0b3ae879a79a09c1aa75f82b8f4a2482f08842b511b4b075484996e29cd7c3b0",
blake3::hash(assets[0].bytes).to_hex().as_str()
);
assert_eq!(
"b67a70f6e41e9dc758a1ab6b24d30865df90446fb155d6fb905c5789b3f43ce3",
blake3::hash(assets[1].bytes).to_hex().as_str()
);
assert_eq!(
"1ee55e0400b17f43438b4ca12a94fa83984323095fa6093e9e97ca6b13d906e6",
blake3::hash(assets[2].bytes).to_hex().as_str()
);
assert_eq!(
"0b3ae879a79a09c1aa75f82b8f4a2482f08842b511b4b075484996e29cd7c3b0",
blake3::hash(puppeteer::static_str!("examples/assets/frow.min.css").as_bytes())
.to_hex()
.as_str()
);
assert_eq!(
1,
puppeteer::load_cow!("examples/assets/frow.min.css",).len()
);
assert_eq!(
1,
puppeteer::load_strs!("examples/assets/frow.min.css",).len()
);
})
}