We use the HTML ID of a member element to get its name. If there are
multiple members with the same type and name (e. g. from a Deref
implementation), the ID has a suffix to make it unique. Previosuly, we
just interpreted this suffix as part of the name. With this patch, we
strip the suffix and only use the actual name.
This patch refactors the test suite:
- Instead of always generating the documentation with the available
rustdoc version, we now store generated documentation for all
supported rustdoc versions in the test/html directory.
- Instead of using one snapshot per test case, we now use one snapshot
per test case and rustdoc version.
This patch adds the --width option to select a fixed output width and
the --max-width to set a maximum output width if the width is
dynamically set using the terminal size.
This patch adds an integration test suite using the insta crate for
snapshot testing. The test suite is tested for all supported Rust
versions and should always succeed for the MSRV (currently 1.40.0) and
the current stable Rust version.
However there are some minor changes in the configuration format between
Rust versions, so tests that don’t work on all supported Rust versions
are marked with the ignore attribute. But even the ignored tests should
work on the stable Rust release.