about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume.gomez@huawei.com>2023-10-07 14:37:47 +0200
committerGuillaume Gomez <guillaume.gomez@huawei.com>2023-10-07 14:37:47 +0200
commitb0badc17cdc8d2f75061d2e4674a8adcfa8983d5 (patch)
treed93a1ff8beb8292c10ab17a59e64ad5f073618e7
parentde70a77be235f839dede3c06fdb70c5528f540e6 (diff)
downloadrust-b0badc17cdc8d2f75061d2e4674a8adcfa8983d5.tar.gz
rust-b0badc17cdc8d2f75061d2e4674a8adcfa8983d5.zip
Add cross-crate C-like variant test
-rw-r--r--tests/rustdoc/auxiliary/enum-variant.rs24
-rw-r--r--tests/rustdoc/enum-variant-value.rs36
2 files changed, 60 insertions, 0 deletions
diff --git a/tests/rustdoc/auxiliary/enum-variant.rs b/tests/rustdoc/auxiliary/enum-variant.rs
new file mode 100644
index 00000000000..90c71b86329
--- /dev/null
+++ b/tests/rustdoc/auxiliary/enum-variant.rs
@@ -0,0 +1,24 @@
+#![crate_name = "bar"]
+
+pub enum E {
+    A = 12,
+    B,
+    C = 1245,
+}
+
+pub enum F {
+    A,
+    B,
+}
+
+#[repr(u32)]
+pub enum G {
+    A = 12,
+    B,
+    C(u32),
+}
+
+pub enum H {
+    A,
+    C(u32),
+}
diff --git a/tests/rustdoc/enum-variant-value.rs b/tests/rustdoc/enum-variant-value.rs
index 7fd8a72f613..f08907cf94f 100644
--- a/tests/rustdoc/enum-variant-value.rs
+++ b/tests/rustdoc/enum-variant-value.rs
@@ -1,8 +1,12 @@
 // This test ensures that the variant value is displayed with underscores but without
 // a type name at the end.
 
+// aux-build:enum-variant.rs
+
 #![crate_name = "foo"]
 
+extern crate bar;
+
 // 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.
 
@@ -60,3 +64,35 @@ pub enum D {
     A,
     C(u32),
 }
+
+// @has 'foo/enum.E.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 use bar::E;
+
+// @has 'foo/enum.F.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 use bar::F;
+
+// @has 'foo/enum.G.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)'
+pub use bar::G;
+
+// @has 'foo/enum.H.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 use bar::H;