summaryrefslogtreecommitdiffstats
path: root/tests/rustdoc-js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/rustdoc-js')
-rw-r--r--tests/rustdoc-js/generics-trait.js27
-rw-r--r--tests/rustdoc-js/slice-array.js65
-rw-r--r--tests/rustdoc-js/slice-array.rs16
3 files changed, 108 insertions, 0 deletions
diff --git a/tests/rustdoc-js/generics-trait.js b/tests/rustdoc-js/generics-trait.js
index 787662243..0e8475160 100644
--- a/tests/rustdoc-js/generics-trait.js
+++ b/tests/rustdoc-js/generics-trait.js
@@ -1,9 +1,21 @@
+// exact-check
+
const QUERY = [
'Result<SomeTrait>',
+ 'Result<SomeTraiz>',
+ 'OtherThingxxxxxxxx',
+ 'OtherThingxxxxxxxy',
+];
+
+const CORRECTIONS = [
+ null,
+ null,
+ null,
'OtherThingxxxxxxxx',
];
const EXPECTED = [
+ // Result<SomeTrait>
{
'in_args': [
{ 'path': 'generics_trait', 'name': 'beta' },
@@ -12,6 +24,21 @@ const EXPECTED = [
{ 'path': 'generics_trait', 'name': 'bet' },
],
},
+ // Result<SomeTraiz>
+ {
+ 'in_args': [],
+ 'returned': [],
+ },
+ // OtherThingxxxxxxxx
+ {
+ 'in_args': [
+ { 'path': 'generics_trait', 'name': 'alpha' },
+ ],
+ 'returned': [
+ { 'path': 'generics_trait', 'name': 'alef' },
+ ],
+ },
+ // OtherThingxxxxxxxy
{
'in_args': [
{ 'path': 'generics_trait', 'name': 'alpha' },
diff --git a/tests/rustdoc-js/slice-array.js b/tests/rustdoc-js/slice-array.js
new file mode 100644
index 000000000..8c21e06dc
--- /dev/null
+++ b/tests/rustdoc-js/slice-array.js
@@ -0,0 +1,65 @@
+// exact-check
+
+const QUERY = [
+ 'R<primitive:slice<P>>',
+ 'primitive:slice<R<P>>',
+ 'R<primitive:slice<Q>>',
+ 'primitive:slice<R<Q>>',
+ 'R<primitive:array<Q>>',
+ 'primitive:array<R<Q>>',
+ 'primitive:array<TraitCat>',
+ 'primitive:array<TraitDog>',
+];
+
+const EXPECTED = [
+ {
+ // R<primitive:slice<P>>
+ 'returned': [],
+ 'in_args': [
+ { 'path': 'slice_array', 'name': 'alpha' },
+ ],
+ },
+ {
+ // primitive:slice<R<P>>
+ 'returned': [
+ { 'path': 'slice_array', 'name': 'alef' },
+ ],
+ 'in_args': [],
+ },
+ {
+ // R<primitive:slice<Q>>
+ 'returned': [],
+ 'in_args': [],
+ },
+ {
+ // primitive:slice<R<Q>>
+ 'returned': [],
+ 'in_args': [],
+ },
+ {
+ // R<primitive:array<Q>>
+ 'returned': [
+ { 'path': 'slice_array', 'name': 'bet' },
+ ],
+ 'in_args': [],
+ },
+ {
+ // primitive:array<R<Q>>
+ 'returned': [],
+ 'in_args': [
+ { 'path': 'slice_array', 'name': 'beta' },
+ ],
+ },
+ {
+ // primitive::array<TraitCat>
+ 'in_args': [
+ { 'path': 'slice_array', 'name': 'gamma' },
+ ],
+ },
+ {
+ // primitive::array<TraitDog>
+ 'in_args': [
+ { 'path': 'slice_array', 'name': 'gamma' },
+ ],
+ },
+];
diff --git a/tests/rustdoc-js/slice-array.rs b/tests/rustdoc-js/slice-array.rs
new file mode 100644
index 000000000..2523b21cf
--- /dev/null
+++ b/tests/rustdoc-js/slice-array.rs
@@ -0,0 +1,16 @@
+pub struct P;
+pub struct Q;
+pub struct R<T>(T);
+
+// returns test
+pub fn alef() -> &'static [R<P>] { loop {} }
+pub fn bet() -> R<[Q; 32]> { loop {} }
+
+// in_args test
+pub fn alpha(_x: R<&'static [P]>) { loop {} }
+pub fn beta(_x: [R<Q>; 32]) { loop {} }
+
+pub trait TraitCat {}
+pub trait TraitDog {}
+
+pub fn gamma<T: TraitCat + TraitDog>(t: [T; 32]) {}