skip.rs 1015 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #![allow(dead_code)]
  2. use indoc::indoc;
  3. use pretty_assertions::assert_eq;
  4. use tsify::Tsify;
  5. #[test]
  6. fn test_skip() {
  7. #[derive(Tsify)]
  8. struct Struct {
  9. a: i32,
  10. #[serde(skip)]
  11. b: i32,
  12. #[serde(skip_serializing)]
  13. c: i32,
  14. #[serde(skip_deserializing)]
  15. d: i32,
  16. }
  17. assert_eq!(
  18. Struct::DECL,
  19. indoc! {"
  20. export interface Struct {
  21. a: number;
  22. }"
  23. }
  24. );
  25. #[derive(Tsify)]
  26. struct Tuple(#[serde(skip)] String, i32);
  27. assert_eq!(Tuple::DECL, "export type Tuple = [number];");
  28. #[derive(Tsify)]
  29. #[tsify(namespace)]
  30. enum Enum {
  31. #[serde(skip)]
  32. A,
  33. #[serde(skip_serializing)]
  34. B,
  35. #[serde(skip_deserializing)]
  36. C,
  37. D,
  38. }
  39. let expected = indoc! {r#"
  40. declare namespace Enum {
  41. export type D = "D";
  42. }
  43. export type Enum = "D";"#
  44. };
  45. assert_eq!(Enum::DECL, expected);
  46. }