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