From 4ea149905b460e086809d7a34dfcbdca312bee3d Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Tue, 26 Apr 2022 13:58:43 +0200 Subject: [PATCH] Update rustdoc search test to check `!` --- src/test/rustdoc-js-std/parser-errors.js | 20 +++++ src/test/rustdoc-js-std/parser-ident.js | 93 ++++++++++++++++++++++ src/test/rustdoc-js-std/parser-returned.js | 23 +++++- 3 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 src/test/rustdoc-js-std/parser-ident.js diff --git a/src/test/rustdoc-js-std/parser-errors.js b/src/test/rustdoc-js-std/parser-errors.js index 779ab867c12b..dc42031e05f2 100644 --- a/src/test/rustdoc-js-std/parser-errors.js +++ b/src/test/rustdoc-js-std/parser-errors.js @@ -35,6 +35,8 @@ const QUERY = [ "a,:", " a<> :", "mod : :", + "a!a", + "a!!", ]; const PARSED = [ @@ -362,4 +364,22 @@ const PARSED = [ userQuery: "mod : :", error: 'Unexpected `:`', }, + { + elems: [], + foundElems: 0, + original: "a!a", + returned: [], + typeFilter: -1, + userQuery: "a!a", + error: '`!` can only be at the end of an ident', + }, + { + elems: [], + foundElems: 0, + original: "a!!", + returned: [], + typeFilter: -1, + userQuery: "a!!", + error: 'Cannot have more than one `!` in an ident', + }, ]; diff --git a/src/test/rustdoc-js-std/parser-ident.js b/src/test/rustdoc-js-std/parser-ident.js new file mode 100644 index 000000000000..4b5ab01ac761 --- /dev/null +++ b/src/test/rustdoc-js-std/parser-ident.js @@ -0,0 +1,93 @@ +const QUERY = [ + "R", + "!", + "a!", + "a!::b", + "a!::b!", +]; + +const PARSED = [ + { + elems: [{ + name: "r", + fullPath: ["r"], + pathWithoutLast: [], + pathLast: "r", + generics: [ + { + name: "!", + fullPath: ["!"], + pathWithoutLast: [], + pathLast: "!", + generics: [], + }, + ], + }], + foundElems: 1, + original: "R", + returned: [], + typeFilter: -1, + userQuery: "r", + error: null, + }, + { + elems: [{ + name: "!", + fullPath: ["!"], + pathWithoutLast: [], + pathLast: "!", + generics: [], + }], + foundElems: 1, + original: "!", + returned: [], + typeFilter: -1, + userQuery: "!", + error: null, + }, + { + elems: [{ + name: "a!", + fullPath: ["a!"], + pathWithoutLast: [], + pathLast: "a!", + generics: [], + }], + foundElems: 1, + original: "a!", + returned: [], + typeFilter: -1, + userQuery: "a!", + error: null, + }, + { + elems: [{ + name: "a!::b", + fullPath: ["a!", "b"], + pathWithoutLast: ["a!"], + pathLast: "b", + generics: [], + }], + foundElems: 1, + original: "a!::b", + returned: [], + typeFilter: -1, + userQuery: "a!::b", + error: null, + }, + { + elems: [{ + name: "a!::b!", + fullPath: ["a!", "b!"], + pathWithoutLast: ["a!"], + pathLast: "b!", + generics: [], + }], + foundElems: 1, + original: "a!::b!", + returned: [], + typeFilter: -1, + userQuery: "a!::b!", + error: null, + }, +]; diff --git a/src/test/rustdoc-js-std/parser-returned.js b/src/test/rustdoc-js-std/parser-returned.js index b45466aa940a..6fce17dcabdd 100644 --- a/src/test/rustdoc-js-std/parser-returned.js +++ b/src/test/rustdoc-js-std/parser-returned.js @@ -1,4 +1,10 @@ -const QUERY = ['-> F

', '-> P', '->,a', 'aaaaa->a']; +const QUERY = [ + "-> F

", + "-> P", + "->,a", + "aaaaa->a", + "-> !", +]; const PARSED = [ { @@ -75,4 +81,19 @@ const PARSED = [ userQuery: "aaaaa->a", error: null, }, + { + elems: [], + foundElems: 1, + original: "-> !", + returned: [{ + name: "!", + fullPath: ["!"], + pathWithoutLast: [], + pathLast: "!", + generics: [], + }], + typeFilter: -1, + userQuery: "-> !", + error: null, + }, ];