use include_bytes_plus::include_bytes; use std::fs::read; use core::{mem, slice}; #[test] fn should_include_u8_bytes() { let included = include_bytes!("tests/include.in"); let expected = read("tests/include.in").expect("To read source code"); assert_eq!(mem::size_of_val(&included), expected.len()); assert!(included == expected.as_slice(), "included doesn't match expected file output"); } #[test] fn should_include_u8le_bytes() { let included = include_bytes!("tests/include.in" as u8le); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const u8, expected.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_u8be_bytes() { let included = include_bytes!("tests/include.in" as u8be); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const u8, expected.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u8_single() { let included = include_bytes!("tests/include.in" as [u8; 48]); let expected = read("tests/include.in").expect("To read source code"); assert_eq!(mem::size_of_val(&included), expected.len()); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u8; 48], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u8le_single() { let included = include_bytes!("tests/include.in" as [u8le; 48]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u8; 48], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u8be_single() { let included = include_bytes!("tests/include.in" as [u8be; 48]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u8; 48], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u8_multiple() { let included = include_bytes!("tests/include.in" as [u8; 8]); let expected = read("tests/include.in").expect("To read source code"); assert_eq!(mem::size_of_val(&included), expected.len()); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u8; 8], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u8le_multiple() { let included = include_bytes!("tests/include.in" as [u8le; 8]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u8; 8], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u8be_multiple() { let included = include_bytes!("tests/include.in" as [u8be; 8]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u8; 8], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_u16() { let included = include_bytes!("tests/include.in" as u16); let expected = read("tests/include.in").expect("To read source code"); assert_eq!(mem::size_of_val(&included), expected.len()); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const u16, expected.len() / 2) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_u16le() { let included = include_bytes!("tests/include.in" as u16le); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const u16, expected.len() / 2) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_u16be() { let included = include_bytes!("tests/include.in" as u16be); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts_mut(expected.as_ptr() as *mut u16, expected.len() / 2) }; #[cfg(target_endian = "little")] for integer in expected.iter_mut() { *integer = integer.swap_bytes(); } assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u16_single() { let included = include_bytes!("tests/include.in" as [u16; 24]); let expected = read("tests/include.in").expect("To read source code"); assert_eq!(mem::size_of_val(&included), expected.len()); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u16; 24], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u16le_single() { let included = include_bytes!("tests/include.in" as [u16le; 24]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u16; 24], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u16be_single() { let included = include_bytes!("tests/include.in" as [u16be; 24]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts_mut(expected.as_ptr() as *mut [u16; 24], included.len()) }; #[cfg(target_endian = "little")] for array in expected.iter_mut() { for integer in array.iter_mut() { *integer = integer.swap_bytes(); } } assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u16_multiple() { let included = include_bytes!("tests/include.in" as [u16; 12]); let expected = read("tests/include.in").expect("To read source code"); assert_eq!(mem::size_of_val(&included), expected.len()); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u16; 12], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u16le_multiple() { let included = include_bytes!("tests/include.in" as [u16le; 12]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u16; 12], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u16be_multiple() { let included = include_bytes!("tests/include.in" as [u16be; 12]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts_mut(expected.as_ptr() as *mut [u16; 12], included.len()) }; #[cfg(target_endian = "little")] for array in expected.iter_mut() { for integer in array.iter_mut() { *integer = integer.swap_bytes(); } } assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_u32() { let included = include_bytes!("tests/include.in" as u32); let expected = read("tests/include.in").expect("To read source code"); assert_eq!(mem::size_of_val(&included), expected.len()); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const u32, expected.len() / 4) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_u32le() { let included = include_bytes!("tests/include.in" as u32le); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const u32, expected.len() / 4) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_u32be() { let included = include_bytes!("tests/include.in" as u32be); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts_mut(expected.as_ptr() as *mut u32, expected.len() / 4) }; #[cfg(target_endian = "little")] for integer in expected.iter_mut() { *integer = integer.swap_bytes(); } assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u32_single() { let included = include_bytes!("tests/include.in" as [u32; 12]); let expected = read("tests/include.in").expect("To read source code"); assert_eq!(mem::size_of_val(&included), expected.len()); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u32; 12], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u32le_single() { let included = include_bytes!("tests/include.in" as [u32le; 12]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u32; 12], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u32be_single() { let included = include_bytes!("tests/include.in" as [u32be; 12]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts_mut(expected.as_ptr() as *mut [u32; 12], included.len()) }; #[cfg(target_endian = "little")] for array in expected.iter_mut() { for integer in array.iter_mut() { *integer = integer.swap_bytes(); } } assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u32_multiple() { let included = include_bytes!("tests/include.in" as [u32; 6]); let expected = read("tests/include.in").expect("To read source code"); assert_eq!(mem::size_of_val(&included), expected.len()); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u32; 6], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u32le_multiple() { let included = include_bytes!("tests/include.in" as [u32le; 6]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u32; 6], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u32be_multiple() { let included = include_bytes!("tests/include.in" as [u32be; 6]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts_mut(expected.as_ptr() as *mut [u32; 6], included.len()) }; #[cfg(target_endian = "little")] for array in expected.iter_mut() { for integer in array.iter_mut() { *integer = integer.swap_bytes(); } } assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_u64() { let included = include_bytes!("tests/include.in" as u64); let expected = read("tests/include.in").expect("To read source code"); assert_eq!(mem::size_of_val(&included), expected.len()); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const u64, expected.len() / 8) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_u64le() { let included = include_bytes!("tests/include.in" as u64le); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const u64, expected.len() / 8) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_u64be() { let included = include_bytes!("tests/include.in" as u64be); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts_mut(expected.as_ptr() as *mut u64, expected.len() / 8) }; #[cfg(target_endian = "little")] for integer in expected.iter_mut() { *integer = integer.swap_bytes(); } assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u64_single() { let included = include_bytes!("tests/include.in" as [u64; 6]); let expected = read("tests/include.in").expect("To read source code"); assert_eq!(mem::size_of_val(&included), expected.len()); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u64; 6], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u64le_single() { let included = include_bytes!("tests/include.in" as [u64le; 6]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u64; 6], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u64be_single() { let included = include_bytes!("tests/include.in" as [u64be; 6]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts_mut(expected.as_ptr() as *mut [u64; 6], included.len()) }; #[cfg(target_endian = "little")] for array in expected.iter_mut() { for integer in array.iter_mut() { *integer = integer.swap_bytes(); } } assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u64_multiple() { let included = include_bytes!("tests/include.in" as [u64; 3]); let expected = read("tests/include.in").expect("To read source code"); assert_eq!(mem::size_of_val(&included), expected.len()); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u64; 3], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u64le_multiple() { let included = include_bytes!("tests/include.in" as [u64le; 3]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u64; 3], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u64be_multiple() { let included = include_bytes!("tests/include.in" as [u64be; 3]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts_mut(expected.as_ptr() as *mut [u64; 3], included.len()) }; #[cfg(target_endian = "little")] for array in expected.iter_mut() { for integer in array.iter_mut() { *integer = integer.swap_bytes(); } } assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_u128() { let included = include_bytes!("tests/include.in" as u128); let expected = read("tests/include.in").expect("To read source code"); assert_eq!(mem::size_of_val(&included), expected.len()); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const u128, expected.len() / 16) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_u128le() { let included = include_bytes!("tests/include.in" as u128le); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const u128, expected.len() / 16) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_u128be() { let included = include_bytes!("tests/include.in" as u128be); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts_mut(expected.as_ptr() as *mut u128, expected.len() / 16) }; #[cfg(target_endian = "little")] for integer in expected.iter_mut() { *integer = integer.swap_bytes(); } assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u128_single() { let included = include_bytes!("tests/include.in" as [u128; 3]); let expected = read("tests/include.in").expect("To read source code"); assert_eq!(mem::size_of_val(&included), expected.len()); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u128; 3], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u128le_single() { let included = include_bytes!("tests/include.in" as [u128le; 3]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts(expected.as_ptr() as *const [u128; 3], included.len()) }; assert!(included == expected, "included doesn't match expected file output"); } #[test] fn should_include_array_u128be_single() { let included = include_bytes!("tests/include.in" as [u128be; 3]); let expected = read("tests/include.in").expect("To read source code"); let expected = unsafe { slice::from_raw_parts_mut(expected.as_ptr() as *mut [u128; 3], included.len()) }; #[cfg(target_endian = "little")] for array in expected.iter_mut() { for integer in array.iter_mut() { *integer = integer.swap_bytes(); } } assert!(included == expected, "included doesn't match expected file output"); }