From da829d8d9de73f196b17ab5e8b4a4c07863e30c9 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Mon, 28 Mar 2022 16:14:00 +0200 Subject: Improve the BNF description a bit and fix some issues --- src/test/rustdoc-js-std/parser-errors.js | 88 +++++++++++++++++++++++++------- 1 file changed, 69 insertions(+), 19 deletions(-) (limited to 'src/test/rustdoc-js-std/parser-errors.js') diff --git a/src/test/rustdoc-js-std/parser-errors.js b/src/test/rustdoc-js-std/parser-errors.js index 42d69ed3fe0..bd024a932a1 100644 --- a/src/test/rustdoc-js-std/parser-errors.js +++ b/src/test/rustdoc-js-std/parser-errors.js @@ -1,15 +1,14 @@ const QUERY = [ '

', '->

', - '<"P">', + 'a<"P">', '"P" "P"', 'P "P"', '"p" p', '"const": p', - "<:a>", - "<::a>", + "a<:a>", + "a<::a>", "((a))", - "->,a", "(p -> p", "::a::b", "a::::b", @@ -22,6 +21,12 @@ const QUERY = [ "a>bb", "ab'", "a->", + '"p" ', + '"p" a', + "a,<", + "aaaaa<>b", + "fn:aaaaa<>b", + "->a<>b", ]; const PARSED = [ @@ -46,10 +51,10 @@ const PARSED = [ { elems: [], foundElems: 0, - original: "<\"P\">", + original: "a<\"P\">", returned: [], typeFilter: -1, - userQuery: "<\"p\">", + userQuery: "a<\"p\">", error: "`\"` cannot be used in generics", }, { @@ -91,19 +96,19 @@ const PARSED = [ { elems: [], foundElems: 0, - original: "<:a>", + original: "a<:a>", returned: [], typeFilter: -1, - userQuery: "<:a>", + userQuery: "a<:a>", error: "Unexpected `:` after `<`", }, { elems: [], foundElems: 0, - original: "<::a>", + original: "a<::a>", returned: [], typeFilter: -1, - userQuery: "<::a>", + userQuery: "a<::a>", error: "Unexpected `::`: paths cannot start with `::`", }, { @@ -115,15 +120,6 @@ const PARSED = [ userQuery: "((a))", error: "Unexpected `(`", }, - { - elems: [], - foundElems: 0, - original: "->,a", - returned: [], - typeFilter: -1, - userQuery: "->,a", - error: "Unexpected `,` after `->`", - }, { elems: [], foundElems: 0, @@ -232,4 +228,58 @@ const PARSED = [ userQuery: "a->", error: "Expected at least one item after `->`", }, + { + elems: [], + foundElems: 0, + original: '"p" ', + returned: [], + typeFilter: -1, + userQuery: '"p" ', + error: "Found generics without a path", + }, + { + elems: [], + foundElems: 0, + original: '"p" a', + returned: [], + typeFilter: -1, + userQuery: '"p" a', + error: "You cannot have more than one element if you use quotes", + }, + { + elems: [], + foundElems: 0, + original: 'a,<', + returned: [], + typeFilter: -1, + userQuery: 'a,<', + error: 'Found generics without a path', + }, + { + elems: [], + foundElems: 0, + original: 'aaaaa<>b', + returned: [], + typeFilter: -1, + userQuery: 'aaaaa<>b', + error: 'Expected `,`, ` `, `:` or `->`, found `b`', + }, + { + elems: [], + foundElems: 0, + original: 'fn:aaaaa<>b', + returned: [], + typeFilter: -1, + userQuery: 'fn:aaaaa<>b', + error: 'Expected `,`, ` ` or `->`, found `b`', + }, + { + elems: [], + foundElems: 0, + original: '->a<>b', + returned: [], + typeFilter: -1, + userQuery: '->a<>b', + error: 'Expected `,` or ` `, found `b`', + }, ]; -- cgit 1.4.1-3-g733a5