test_shebang.rs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #[macro_use]
  2. mod macros;
  3. #[test]
  4. fn test_basic() {
  5. let content = "#!/usr/bin/env rustx\nfn main() {}";
  6. let file = syn::parse_file(content).unwrap();
  7. snapshot!(file, @r###"
  8. File {
  9. shebang: Some("#!/usr/bin/env rustx"),
  10. items: [
  11. Item::Fn {
  12. vis: Inherited,
  13. sig: Signature {
  14. ident: "main",
  15. generics: Generics,
  16. output: Default,
  17. },
  18. block: Block,
  19. },
  20. ],
  21. }
  22. "###);
  23. }
  24. #[test]
  25. fn test_comment() {
  26. let content = "#!//am/i/a/comment\n[allow(dead_code)] fn main() {}";
  27. let file = syn::parse_file(content).unwrap();
  28. snapshot!(file, @r###"
  29. File {
  30. attrs: [
  31. Attribute {
  32. style: Inner,
  33. path: Path {
  34. segments: [
  35. PathSegment {
  36. ident: "allow",
  37. arguments: None,
  38. },
  39. ],
  40. },
  41. tokens: TokenStream(`(dead_code)`),
  42. },
  43. ],
  44. items: [
  45. Item::Fn {
  46. vis: Inherited,
  47. sig: Signature {
  48. ident: "main",
  49. generics: Generics,
  50. output: Default,
  51. },
  52. block: Block,
  53. },
  54. ],
  55. }
  56. "###);
  57. }