about summary refs log tree commit diff
path: root/tests/rustdoc/enum-variant-value.rs
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume.gomez@huawei.com>2023-10-07 00:25:34 +0200
committerGuillaume Gomez <guillaume.gomez@huawei.com>2023-10-07 14:17:17 +0200
commit1994d0b4a42b9b2d6e0c821f57d37a184f4df44a (patch)
treef17a3009cbe82ba367ed91191abc1d5709eeeb96 /tests/rustdoc/enum-variant-value.rs
parent9e15f363be1f62cf81d4efb55d95a542663fe6da (diff)
downloadrust-1994d0b4a42b9b2d6e0c821f57d37a184f4df44a.tar.gz
rust-1994d0b4a42b9b2d6e0c821f57d37a184f4df44a.zip
Update enum-variant-value test
Diffstat (limited to 'tests/rustdoc/enum-variant-value.rs')
-rw-r--r--tests/rustdoc/enum-variant-value.rs51
1 files changed, 49 insertions, 2 deletions
diff --git a/tests/rustdoc/enum-variant-value.rs b/tests/rustdoc/enum-variant-value.rs
index 09956b8c866..7fd8a72f613 100644
--- a/tests/rustdoc/enum-variant-value.rs
+++ b/tests/rustdoc/enum-variant-value.rs
@@ -3,13 +3,60 @@
 
 #![crate_name = "foo"]
 
-// @has 'foo/enum.B.html'
+// In this case, since all variants are C-like variants and at least one of them
+// has its value set, we display values for all of them.
+
+// @has 'foo/enum.A.html'
 // @has - '//*[@class="rust item-decl"]/code' 'A = 12,'
+// @has - '//*[@class="rust item-decl"]/code' 'B = 13,'
 // @has - '//*[@class="rust item-decl"]/code' 'C = 1_245,'
 // @matches - '//*[@id="variant.A"]/h3' '^A = 12$'
+// @matches - '//*[@id="variant.B"]/h3' '^B = 13$'
 // @matches - '//*[@id="variant.C"]/h3' '^C = 1_245$'
-pub enum B {
+pub enum A {
     A = 12,
     B,
     C = 1245,
 }
+
+// In this case, all variants are C-like variants but none of them has its value set.
+// Therefore we don't display values.
+
+// @has 'foo/enum.B.html'
+// @has - '//*[@class="rust item-decl"]/code' 'A,'
+// @has - '//*[@class="rust item-decl"]/code' 'B,'
+// @matches - '//*[@id="variant.A"]/h3' '^A$'
+// @matches - '//*[@id="variant.B"]/h3' '^B$'
+pub enum B {
+    A,
+    B,
+}
+
+// In this case, not all variants are C-like variants so we don't display values.
+
+// @has 'foo/enum.C.html'
+// @has - '//*[@class="rust item-decl"]/code' 'A = 12,'
+// @has - '//*[@class="rust item-decl"]/code' 'B,'
+// @has - '//*[@class="rust item-decl"]/code' 'C(u32),'
+// @matches - '//*[@id="variant.A"]/h3' '^A = 12$'
+// @matches - '//*[@id="variant.B"]/h3' '^B$'
+// @has - '//*[@id="variant.C"]/h3' 'C(u32)'
+#[repr(u32)]
+pub enum C {
+    A = 12,
+    B,
+    C(u32),
+}
+
+// In this case, not all variants are C-like variants and no C-like variant has its
+// value set, so we don't display values.
+
+// @has 'foo/enum.D.html'
+// @has - '//*[@class="rust item-decl"]/code' 'A,'
+// @has - '//*[@class="rust item-decl"]/code' 'C(u32),'
+// @matches - '//*[@id="variant.A"]/h3' '^A$'
+// @has - '//*[@id="variant.C"]/h3' 'C(u32)'
+pub enum D {
+    A,
+    C(u32),
+}