]> git.lizzy.rs Git - rust.git/commitdiff
move tests
authorAleksey Kladov <aleksey.kladov@gmail.com>
Sun, 10 Oct 2021 08:39:08 +0000 (11:39 +0300)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Sun, 10 Oct 2021 08:39:08 +0000 (11:39 +0300)
crates/hir_def/src/macro_expansion_tests.rs
crates/hir_def/src/macro_expansion_tests/mbe.rs
crates/mbe/src/syntax_bridge.rs
crates/mbe/src/tests/expand.rs

index 5c0894419c79b1488b4d3eada64a594ced2d353e..66874a674d821841fa6c8dbdcbbe14c82669d66c 100644 (file)
@@ -131,6 +131,7 @@ fn pretty_print_macro_expansion(expn: SyntaxNode) -> String {
             (T![,], _) => " ",
             (T![fn], T!['(']) => "",
             (T![']'], _) if curr_kind.is_keyword() => " ",
+            (T![']'], T![#]) => "\n",
             _ if prev_kind.is_keyword() => " ",
             _ => "",
         };
index 2fe70e9f4fc9b49e0ec0c519ef88aaa75460df0b..d17c9131da752bee9d6c073741ddd09d4abac21c 100644 (file)
@@ -956,3 +956,90 @@ macro_rules! m {
 "##]],
     );
 }
+
+#[test]
+fn test_meta_doc_comments() {
+    cov_mark::check!(test_meta_doc_comments);
+    check(
+        r#"
+macro_rules! m {
+    ($(#[$m:meta])+) => ( $(#[$m])+ fn bar() {} )
+}
+m! {
+    /// Single Line Doc 1
+    /**
+        MultiLines Doc
+    */
+}
+"#,
+        expect![[r##"
+macro_rules! m {
+    ($(#[$m:meta])+) => ( $(#[$m])+ fn bar() {} )
+}
+#[doc = " Single Line Doc 1"]
+#[doc = "\n        MultiLines Doc\n    "] fn bar() {}
+"##]],
+    );
+}
+
+#[test]
+fn test_meta_extended_key_value_attributes() {
+    check(
+        r#"
+macro_rules! m {
+    (#[$m:meta]) => ( #[$m] fn bar() {} )
+}
+m! { #[doc = concat!("The `", "bla", "` lang item.")] }
+"#,
+        expect![[r##"
+macro_rules! m {
+    (#[$m:meta]) => ( #[$m] fn bar() {} )
+}
+#[doc = concat!("The `", "bla", "` lang item.")] fn bar() {}
+"##]],
+    );
+}
+
+#[test]
+fn test_meta_doc_comments_non_latin() {
+    check(
+        r#"
+macro_rules! m {
+    ($(#[$ m:meta])+) => ( $(#[$m])+ fn bar() {} )
+}
+m! {
+    /// 錦瑟無端五十弦,一弦一柱思華年。
+    /**
+        莊生曉夢迷蝴蝶,望帝春心託杜鵑。
+    */
+}
+"#,
+        expect![[r##"
+macro_rules! m {
+    ($(#[$ m:meta])+) => ( $(#[$m])+ fn bar() {} )
+}
+#[doc = " 錦瑟無端五十弦,一弦一柱思華年。"]
+#[doc = "\n        莊生曉夢迷蝴蝶,望帝春心託杜鵑。\n    "] fn bar() {}
+"##]],
+    );
+}
+
+#[test]
+fn test_meta_doc_comments_escaped_characters() {
+    check(
+        r#"
+macro_rules! m {
+    ($(#[$m:meta])+) => ( $(#[$m])+ fn bar() {} )
+}
+m! {
+    /// \ " '
+}
+"#,
+        expect![[r##"
+macro_rules! m {
+    ($(#[$m:meta])+) => ( $(#[$m])+ fn bar() {} )
+}
+#[doc = " \\ \" \'"] fn bar() {}
+"##]],
+    );
+}
index f3c9af1ccb4b693398a6b09fc5b07c68f6446624..6bd57bb568bf577468ce425a5d9d8f18da9bce40 100644 (file)
@@ -307,6 +307,7 @@ fn doc_comment_text(comment: &ast::Comment) -> SmolStr {
 }
 
 fn convert_doc_comment(token: &syntax::SyntaxToken) -> Option<Vec<tt::TokenTree>> {
+    cov_mark::hit!(test_meta_doc_comments);
     let comment = ast::Comment::cast(token.clone())?;
     let doc = comment.kind().doc?;
 
index 7929989442951d129f8c162718146832081dcbfa..2ff85740f5c4b03afb2db18496dc1fb9278a197d 100644 (file)
@@ -101,90 +101,6 @@ fn test_attr_to_token_tree() {
     );
 }
 
-#[test]
-fn test_meta_doc_comments() {
-    parse_macro(
-        r#"
-        macro_rules! foo {
-            ($(#[$ i:meta])+) => (
-                $(#[$ i])+
-                fn bar() {}
-            )
-        }
-"#,
-    ).
-    assert_expand_items(
-        r#"foo! {
-            /// Single Line Doc 1
-            /**
-                MultiLines Doc
-            */
-        }"#,
-        "# [doc = \" Single Line Doc 1\"] # [doc = \"\\n                MultiLines Doc\\n            \"] fn bar () {}",
-    );
-}
-
-#[test]
-fn test_meta_extended_key_value_attributes() {
-    parse_macro(
-        r#"
-macro_rules! foo {
-    (#[$i:meta]) => (
-        #[$ i]
-        fn bar() {}
-    )
-}
-"#,
-    )
-    .assert_expand_items(
-        r#"foo! { #[doc = concat!("The `", "bla", "` lang item.")] }"#,
-        r#"# [doc = concat ! ("The `" , "bla" , "` lang item.")] fn bar () {}"#,
-    );
-}
-
-#[test]
-fn test_meta_doc_comments_non_latin() {
-    parse_macro(
-        r#"
-        macro_rules! foo {
-            ($(#[$ i:meta])+) => (
-                $(#[$ i])+
-                fn bar() {}
-            )
-        }
-"#,
-    ).
-    assert_expand_items(
-        r#"foo! {
-            /// 錦瑟無端五十弦,一弦一柱思華年。
-            /**
-                莊生曉夢迷蝴蝶,望帝春心託杜鵑。
-            */
-        }"#,
-        "# [doc = \" 錦瑟無端五十弦,一弦一柱思華年。\"] # [doc = \"\\n                莊生曉夢迷蝴蝶,望帝春心託杜鵑。\\n            \"] fn bar () {}",
-    );
-}
-
-#[test]
-fn test_meta_doc_comments_escaped_characters() {
-    parse_macro(
-        r#"
-        macro_rules! foo {
-            ($(#[$ i:meta])+) => (
-                $(#[$ i])+
-                fn bar() {}
-            )
-        }
-"#,
-    )
-    .assert_expand_items(
-        r#"foo! {
-            /// \ " '
-        }"#,
-        r#"# [doc = " \\ \" \'"] fn bar () {}"#,
-    );
-}
-
 #[test]
 fn test_tt_block() {
     parse_macro(