about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2020-08-19 22:44:58 +0200
committerGuillaume Gomez <guillaume1.gomez@gmail.com>2020-08-20 17:42:17 +0200
commit6fb7e02a3688efa5f3eec4835ef9b5de50eb3c3c (patch)
tree9071416cad0dc24d36ec50ac6de5829d23bcc9e2
parent3307ba8212a440e0f13a5dfdae57f2a24acdc025 (diff)
downloadrust-6fb7e02a3688efa5f3eec4835ef9b5de50eb3c3c.tar.gz
rust-6fb7e02a3688efa5f3eec4835ef9b5de50eb3c3c.zip
Update rustdoc coverage UI test
-rw-r--r--src/librustdoc/passes/calculate_doc_coverage.rs16
-rw-r--r--src/test/rustdoc-ui/coverage/json.rs40
-rw-r--r--src/test/rustdoc-ui/coverage/json.stdout2
3 files changed, 51 insertions, 7 deletions
diff --git a/src/librustdoc/passes/calculate_doc_coverage.rs b/src/librustdoc/passes/calculate_doc_coverage.rs
index 1d79fc3f191..08502c5b817 100644
--- a/src/librustdoc/passes/calculate_doc_coverage.rs
+++ b/src/librustdoc/passes/calculate_doc_coverage.rs
@@ -249,7 +249,12 @@ impl fold::DocFolder for CoverageCalculator {
                 );
                 if should_have_doc_examples {
                     find_testable_code(
-                        &i.attrs.doc_strings.iter().map(|d| d.as_str()).collect::<Vec<_>>().join("\n"),
+                        &i.attrs
+                            .doc_strings
+                            .iter()
+                            .map(|d| d.as_str())
+                            .collect::<Vec<_>>()
+                            .join("\n"),
                         &mut tests,
                         ErrorCodes::No,
                         false,
@@ -259,10 +264,11 @@ impl fold::DocFolder for CoverageCalculator {
 
                 let has_doc_example = tests.found_tests != 0;
                 debug!("counting {:?} {:?} in {}", i.type_(), i.name, i.source.filename);
-                self.items
-                    .entry(i.source.filename.clone())
-                    .or_default()
-                    .count_item(has_docs, has_doc_example, should_have_doc_examples);
+                self.items.entry(i.source.filename.clone()).or_default().count_item(
+                    has_docs,
+                    has_doc_example,
+                    should_have_doc_examples,
+                );
             }
         }
 
diff --git a/src/test/rustdoc-ui/coverage/json.rs b/src/test/rustdoc-ui/coverage/json.rs
index 2bd6a312ab5..a591cd5dba4 100644
--- a/src/test/rustdoc-ui/coverage/json.rs
+++ b/src/test/rustdoc-ui/coverage/json.rs
@@ -12,16 +12,54 @@ pub mod foo {
 pub struct X;
 
 /// Bar
+///
+/// ```
+/// let x = 12;
+/// ```
 pub mod bar {
     /// bar
     pub struct Bar;
     /// X
-    pub enum X { Y }
+    pub enum X {
+        /// ```
+        /// let x = "should be ignored!";
+        /// ```
+        Y
+    }
 }
 
 /// yolo
+///
+/// ```text
+/// should not be counted as a code example!
+/// ```
 pub enum Yolo { X }
 
+impl Yolo {
+    /// ```
+    /// let x = "should be ignored!";
+    /// ```
+    pub const Const: u32 = 0;
+}
+
 pub struct Xo<T: Clone> {
+    /// ```
+    /// let x = "should be ignored!";
+    /// ```
     x: T,
 }
+
+/// ```
+/// let x = "should be ignored!";
+/// ```
+pub static StaticFoo: u32 = 0;
+
+/// ```
+/// let x = "should be ignored!";
+/// ```
+pub const ConstFoo: u32 = 0;
+
+/// ```
+/// let x = "should be ignored!";
+/// ```
+pub type TypeFoo = u32;
diff --git a/src/test/rustdoc-ui/coverage/json.stdout b/src/test/rustdoc-ui/coverage/json.stdout
index 7b5b083e158..992f2751c86 100644
--- a/src/test/rustdoc-ui/coverage/json.stdout
+++ b/src/test/rustdoc-ui/coverage/json.stdout
@@ -1 +1 @@
-{"$DIR/json.rs":{"total":13,"with_docs":7,"with_examples":0}}
+{"$DIR/json.rs":{"total":17,"with_docs":12,"total_examples":10,"with_examples":1}}