concat_bytes.rs 1010 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. //! Test that the [`libthreema_macros::concat_fixed_bytes`] works as expected.
  2. #![expect(unused_crate_dependencies, reason = "False positive")]
  3. #![expect(clippy::min_ident_chars, reason = "Test variable names")]
  4. #![expect(clippy::tests_outside_test_module, reason = "trybuild tests work that way")]
  5. use libthreema_macros::concat_fixed_bytes;
  6. #[test]
  7. fn correct() {
  8. let a = [1_u8; 4];
  9. let b = [2_u8; 3];
  10. let c = [3_u8; 3];
  11. {
  12. let result: [u8; 0] = concat_fixed_bytes!();
  13. assert_eq!(result, [] as [u8; 0]);
  14. }
  15. {
  16. let result: [u8; 4] = concat_fixed_bytes!(a);
  17. assert_eq!(result, [1, 1, 1, 1]);
  18. }
  19. {
  20. let result: [u8; 7] = concat_fixed_bytes!(a, b);
  21. assert_eq!(result, [1, 1, 1, 1, 2, 2, 2]);
  22. }
  23. {
  24. let result: [u8; 10] = concat_fixed_bytes!(a, b, c);
  25. assert_eq!(result, [1, 1, 1, 1, 2, 2, 2, 3, 3, 3]);
  26. }
  27. }
  28. #[test]
  29. fn compile_failures() {
  30. trybuild::TestCases::new().compile_fail("tests/fail/*.rs");
  31. }