Skip to content

Commit

Permalink
tests/rustdoc-json: Rewrite tests no not use #![no_core].
Browse files Browse the repository at this point in the history
  • Loading branch information
aDotInTheVoid committed Nov 7, 2023
1 parent 0875f45 commit 434b69a
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 37 deletions.
14 changes: 6 additions & 8 deletions tests/rustdoc-json/impls/import_from_private.rs
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
// https://github.com/rust-lang/rust/issues/100252

#![feature(no_core)]
#![no_core]

mod bar {
// @set baz = "$.index[*][?(@.inner.struct)].id"
// @set baz = "$.index[*][?(@.name == 'Baz')].id"
pub struct Baz;
// @set impl = "$.index[*][?(@.inner.impl)].id"
// @set impl = "$.index[*][?(@.docs == 'impl')].id"
/// impl
impl Baz {
// @set doit = "$.index[*][?(@.inner.function)].id"
// @set doit = "$.index[*][?(@.name == 'doit')].id"
pub fn doit() {}
}
}
Expand All @@ -18,5 +16,5 @@ pub use bar::Baz;

// @is "$.index[*].inner.module.items[*]" $import
// @is "$.index[*].inner.import.id" $baz
// @is "$.index[*].inner.struct.impls[*]" $impl
// @is "$.index[*].inner.impl.items[*]" $doit
// @has "$.index[*][?(@.name == 'Baz')].inner.struct.impls[*]" $impl
// @is "$.index[*][?(@.docs=='impl')].inner.impl.items[*]" $doit
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
#![feature(no_core)]
#![no_core]

// @count "$.index[*][?(@.inner.impl)]" 1
// @has "$.index[*][?(@.docs=='Here')]"
// @!has "$.index[*][?(@.docs=='Not Here')]"
// @!has "$.index[*][?(@.name == 'HiddenPubStruct')]"
// @has "$.index[*][?(@.name == 'NotHiddenPubStruct')]"
// @has "$.index[*][?(@.name=='PubTrait')]"
Expand All @@ -11,5 +9,7 @@ pub trait PubTrait {}
pub struct HiddenPubStruct;
pub struct NotHiddenPubStruct;

/// Not Here
impl PubTrait for HiddenPubStruct {}
/// Here
impl PubTrait for NotHiddenPubStruct {}
12 changes: 6 additions & 6 deletions tests/rustdoc-json/impls/issue-112852-dangling-trait-impl-id.rs
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
#![feature(no_core)]
#![no_core]

// @count "$.index[*][?(@.inner.impl)]" 1
// @!has "$.index[*][?(@.name == 'HiddenPubStruct')]"
// @has "$.index[*][?(@.name == 'NotHiddenPubStruct')]"
// @has "$.index[*][?(@.name=='PubTrait')]"
pub trait PubTrait {}

#[doc(hidden)]
pub mod hidden {
// @!has "$.index[*][?(@.name == 'HiddenPubStruct')]"
pub struct HiddenPubStruct;

// @!has "$.index[*][?(@.docs == 'Not Here')]"
/// Not Here
impl crate::PubTrait for HiddenPubStruct {}
}

pub mod not_hidden {
// @has "$.index[*][?(@.name == 'NotHiddenPubStruct')]"
pub struct NotHiddenPubStruct;

// @has "$.index[*][?(@.docs == 'Here')]"
/// Here
impl crate::PubTrait for NotHiddenPubStruct {}
}
5 changes: 1 addition & 4 deletions tests/rustdoc-json/impls/local_for_local.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
#![feature(no_core)]
#![no_core]

// @set struct = "$.index[*][?(@.name=='Struct')].id"
pub struct Struct;
// @set trait = "$.index[*][?(@.name=='Trait')].id"
Expand All @@ -9,7 +6,7 @@ pub trait Trait {}
/// impl
impl Trait for Struct {}

// @is "$.index[*][?(@.name=='Struct')].inner.struct.impls[*]" $impl
// @has "$.index[*][?(@.name=='Struct')].inner.struct.impls[*]" $impl
// @is "$.index[*][?(@.name=='Trait')].inner.trait.implementations[*]" $impl
// @is "$.index[*][?(@.docs=='impl')].inner.impl.trait.id" $trait
// @is "$.index[*][?(@.docs=='impl')].inner.impl.for.resolved_path.id" $struct
29 changes: 14 additions & 15 deletions tests/rustdoc-json/traits/implementors.rs
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
#![feature(no_core)]
#![no_core]

// @set wham = "$.index[*][?(@.name=='Wham')].id"
// @count "$.index[*][?(@.name=='Wham')].inner.trait.implementations[*]" 1
// @set gmWham = "$.index[*][?(@.name=='Wham')].inner.trait.implementations[0]"
pub trait Wham {}

// @count "$.index[*][?(@.name=='GeorgeMichael')].inner.struct.impls[*]" 1
// @is "$.index[*][?(@.name=='GeorgeMichael')].inner.struct.impls[0]" $gmWham
// @set gm = "$.index[*][?(@.name=='Wham')].id"

// jsonpath_lib isnt expressive enough (for now) to get the "impl" item, so we
// just check it isn't pointing to the type, but when you port to jsondocck-ng
// check what the impl item is
// @!is "$.index[*][?(@.name=='Wham')].inner.trait.implementations[0]" $gm
pub struct GeorgeMichael {}

/// Wham for George Michael
impl Wham for GeorgeMichael {}

// Find IDs.
// @set wham = "$.index[*][?(@.name=='Wham')].id"
// @set gmWham = "$.index[*][?(@.docs=='Wham for George Michael')].id"
// @set gm = "$.index[*][?(@.name=='GeorgeMichael')].id"

// Both struct and trait point to impl.
// @has "$.index[*][?(@.name=='GeorgeMichael')].inner.struct.impls[*]" $gmWham
// @is "$.index[*][?(@.name=='Wham')].inner.trait.implementations[*]" $gmWham

// Impl points to both struct and trait.
// @is "$.index[*][?(@.docs == 'Wham for George Michael')].inner.impl.trait.id" $wham
// @is "$.index[*][?(@.docs == 'Wham for George Michael')].inner.impl.for.resolved_path.id" $gm

0 comments on commit 434b69a

Please sign in to comment.