diff --git a/tests/parse_existing_summary_files.rs b/tests/parse_existing_summary_files.rs deleted file mode 100644 index 418ec31f..00000000 --- a/tests/parse_existing_summary_files.rs +++ /dev/null @@ -1,43 +0,0 @@ -//! Some integration tests to make sure the `SUMMARY.md` parser can deal with -//! some real-life examples. - -use mdbook::book; -use std::fs::File; -use std::io::Read; -use std::path::Path; - -macro_rules! summary_md_test { - ($name:ident, $filename:expr) => { - #[test] - fn $name() { - env_logger::try_init().ok(); - - let filename = Path::new(env!("CARGO_MANIFEST_DIR")) - .join("tests") - .join("summary_md_files") - .join($filename); - - if !filename.exists() { - panic!("{} Doesn't exist", filename.display()); - } - - let mut content = String::new(); - File::open(&filename) - .unwrap() - .read_to_string(&mut content) - .unwrap(); - - if let Err(e) = book::parse_summary(&content) { - eprintln!("Error parsing {}", filename.display()); - eprintln!(); - eprintln!("{:?}", e); - panic!(); - } - } - }; -} - -summary_md_test!(rust_by_example, "rust_by_example.md"); -summary_md_test!(rust_ffi_guide, "rust_ffi_guide.md"); -summary_md_test!(example_book, "example_book.md"); -summary_md_test!(the_book_2nd_edition, "the_book-2nd_edition.md"); diff --git a/tests/summary_md_files/example_book.md b/tests/summary_md_files/example_book.md deleted file mode 100644 index ff3911c7..00000000 --- a/tests/summary_md_files/example_book.md +++ /dev/null @@ -1,20 +0,0 @@ -# Summary - -- [mdBook](README.md) -- [Command Line Tool](cli/cli-tool.md) - - [init](cli/init.md) - - [build](cli/build.md) - - [watch](cli/watch.md) - - [serve](cli/serve.md) - - [test](cli/test.md) -- [Format](format/format.md) - - [SUMMARY.md](format/summary.md) - - [Configuration](format/config.md) - - [Theme](format/theme/theme.md) - - [index.hbs](format/theme/index-hbs.md) - - [Syntax highlighting](format/theme/syntax-highlighting.md) - - [MathJax Support](format/mathjax.md) - - [Rust code specific features](format/rust.md) -- [Rust Library](lib/lib.md) ------------ -[Contributors](misc/contributors.md) diff --git a/tests/summary_md_files/rust_by_example.md b/tests/summary_md_files/rust_by_example.md deleted file mode 100644 index de7e6f6e..00000000 --- a/tests/summary_md_files/rust_by_example.md +++ /dev/null @@ -1,191 +0,0 @@ -# Summary - -[Introduction](index.md) - -- [Hello World](hello.md) - - [Comments](hello/comment.md) - - [Formatted print](hello/print.md) - - [Debug](hello/print/print_debug.md) - - [Display](hello/print/print_display.md) - - [Testcase: List](hello/print/print_display/testcase_list.md) - - [Formatting](hello/print/fmt.md) - -- [Primitives](primitives.md) - - [Literals and operators](primitives/literals.md) - - [Tuples](primitives/tuples.md) - - [Arrays and Slices](primitives/array.md) - -- [Custom Types](custom_types.md) - - [Structures](custom_types/structs.md) - - [Enums](custom_types/enum.md) - - [use](custom_types/enum/enum_use.md) - - [C-like](custom_types/enum/c_like.md) - - [Testcase: linked-list](custom_types/enum/testcase_linked_list.md) - - [constants](custom_types/constants.md) - -- [Variable Bindings](variable_bindings.md) - - [Mutability](variable_bindings/mut.md) - - [Scope and Shadowing](variable_bindings/scope.md) - - [Declare first](variable_bindings/declare.md) - -- [Types](types.md) - - [Casting](types/cast.md) - - [Literals](types/literals.md) - - [Inference](types/inference.md) - - [Aliasing](types/alias.md) - -- [Conversion](conversion.md) - - [From and Into](conversion/from_into.md) - - [To and From String](conversion/string.md) - -- [Expressions](expression.md) - -- [Flow Control](flow_control.md) - - [if/else](flow_control/if_else.md) - - [loop](flow_control/loop.md) - - [Nesting and labels](flow_control/loop/nested.md) - - [Returning from loops](flow_control/loop/return.md) - - [while](flow_control/while.md) - - [for and range](flow_control/for.md) - - [match](flow_control/match.md) - - [Destructuring](flow_control/match/destructuring.md) - - [tuples](flow_control/match/destructuring/destructure_tuple.md) - - [enums](flow_control/match/destructuring/destructure_enum.md) - - [pointers/ref](flow_control/match/destructuring/destructure_pointers.md) - - [structs](flow_control/match/destructuring/destructure_structures.md) - - [Guards](flow_control/match/guard.md) - - [Binding](flow_control/match/binding.md) - - [if let](flow_control/if_let.md) - - [while let](flow_control/while_let.md) - -- [Functions](fn.md) - - [Methods](fn/methods.md) - - [Closures](fn/closures.md) - - [Capturing](fn/closures/capture.md) - - [As input parameters](fn/closures/input_parameters.md) - - [Type anonymity](fn/closures/anonymity.md) - - [Input functions](fn/closures/input_functions.md) - - [As output parameters](fn/closures/output_parameters.md) - - [Examples in `std`](fn/closures/closure_examples.md) - - [Iterator::any](fn/closures/closure_examples/iter_any.md) - - [Iterator::find](fn/closures/closure_examples/iter_find.md) - - [Higher Order Functions](fn/hof.md) - -- [Modules](mod.md) - - [Visibility](mod/visibility.md) - - [Struct visibility](mod/struct_visibility.md) - - [The `use` declaration](mod/use.md) - - [`super` and `self`](mod/super.md) - - [File hierarchy](mod/split.md) - -- [Crates](crates.md) - - [Library](crates/lib.md) - - [`extern crate`](crates/link.md) - -- [Attributes](attribute.md) - - [`dead_code`](attribute/unused.md) - - [Crates](attribute/crate.md) - - [`cfg`](attribute/cfg.md) - - [Custom](attribute/cfg/custom.md) - -- [Generics](generics.md) - - [Functions](generics/gen_fn.md) - - [Implementation](generics/impl.md) - - [Traits](generics/gen_trait.md) - - [Bounds](generics/bounds.md) - - [Testcase: empty bounds](generics/bounds/testcase_empty.md) - - [Multiple bounds](generics/multi_bounds.md) - - [Where clauses](generics/where.md) - - [New Type Idiom](generics/new_types.md) - - [Associated items](generics/assoc_items.md) - - [The Problem](generics/assoc_items/the_problem.md) - - [Associated types](generics/assoc_items/types.md) - - [Phantom type parameters](generics/phantom.md) - - [Testcase: unit clarification](generics/phantom/testcase_units.md) - -- [Scoping rules](scope.md) - - [RAII](scope/raii.md) - - [Ownership and moves](scope/move.md) - - [Mutability](scope/move/mut.md) - - [Borrowing](scope/borrow.md) - - [Mutability](scope/borrow/mut.md) - - [Freezing](scope/borrow/freeze.md) - - [Aliasing](scope/borrow/alias.md) - - [The ref pattern](scope/borrow/ref.md) - - [Lifetimes](scope/lifetime.md) - - [Explicit annotation](scope/lifetime/explicit.md) - - [Functions](scope/lifetime/fn.md) - - [Methods](scope/lifetime/methods.md) - - [Structs](scope/lifetime/struct.md) - - [Bounds](scope/lifetime/lifetime_bounds.md) - - [Coercion](scope/lifetime/lifetime_coercion.md) - - [static](scope/lifetime/static_lifetime.md) - - [elision](scope/lifetime/elision.md) - -- [Traits](trait.md) - - [Derive](trait/derive.md) - - [Operator Overloading](trait/ops.md) - - [Drop](trait/drop.md) - - [Iterators](trait/iter.md) - - [Clone](trait/clone.md) - -- [macro_rules!](macros.md) - - [Syntax](macro/syntax.md) - - [Designators](macros/designators.md) - - [Overload](macros/overload.md) - - [Repeat](macros/repeat.md) - - [DRY (Don't Repeat Yourself)](macros/dry.md) - - [DSL (Domain Specific Languages)](macros/dsl.md) - - [Variadics](macros/variadics.md) - -- [Error handling](error.md) - - [`panic`](error/panic.md) - - [`Option` & `unwrap`](error/option_unwrap.md) - - [Combinators: `map`](error/option_unwrap/map.md) - - [Combinators: `and_then`](error/option_unwrap/and_then.md) - - [`Result`](error/result.md) - - [`map` for `Result`](error/result/result_map.md) - - [aliases for `Result`](error/result/result_alias.md) - - [Early returns](error/result/early_returns.md) - - [Introducing `?`](error/result/enter_question_mark.md) - - [Multiple error types](error/multiple_error_types.md) - - [Pulling `Result`s out of `Option`s](error/multiple_error_types/option_result.md) - - [Defining an error type](error/multiple_error_types/define_error_type.md) - - [`Box`ing errors](error/multiple_error_types/boxing_errors.md) - - [Other uses of `?`](error/multiple_error_types/reenter_question_mark.md) - - [Wrapping errors](error/multiple_error_types/wrap_error.md) - - [Iterating over `Result`s](error/iter_result.md) - -- [Std library types](std.md) - - [Box, stack and heap](std/box.md) - - [Vectors](std/vec.md) - - [Strings](std/str.md) - - [`Option`](std/option.md) - - [`Result`](std/result.md) - - [`?`](std/result/question_mark.md) - - [`panic!`](std/panic.md) - - [HashMap](std/hash.md) - - [Alternate/custom key types](std/hash/alt_key_types.md) - - [HashSet](std/hash/hashset.md) - -- [Std misc](std_misc.md) - - [Threads](std_misc/threads.md) - - [Testcase: map-reduce](std_misc/threads/testcase_mapreduce.md) - - [Channels](std_misc/channels.md) - - [Path](std_misc/path.md) - - [File I/O](std_misc/file.md) - - [`open`](std_misc/file/open.md) - - [`create`](std_misc/file/create.md) - - [Child processes](std_misc/process.md) - - [Pipes](std_misc/process/pipe.md) - - [Wait](std_misc/process/wait.md) - - [Filesystem Operations](std_misc/fs.md) - - [Program arguments](std_misc/arg.md) - - [Argument parsing](std_misc/arg/matching.md) - - [Foreign Function Interface](std_misc/ffi.md) - -- [Meta](meta.md) - - [Documentation](meta/doc.md) - - [Testing](meta/test.md) - -- [Unsafe Operations](unsafe.md) diff --git a/tests/summary_md_files/rust_ffi_guide.md b/tests/summary_md_files/rust_ffi_guide.md deleted file mode 100644 index f64fcab1..00000000 --- a/tests/summary_md_files/rust_ffi_guide.md +++ /dev/null @@ -1,19 +0,0 @@ -# Summary - -- [Overview](./overview.md) -- [Setting Up](./setting_up.md) -- [Core Client Library](./client.md) -- [Constructing a Basic Request](./basic_request.md) -- [Sending the Request](./send_basic.md) -- [Generating a Header File](./cbindgen.md) -- [Better Error Handling](./error_handling.md) -- [Asynchronous Operations](./async.md) -- [More Complex Requests](./complex_request.md) -- [Testing](./testing.md) -- [Dynamic Loading & Plugins](./dynamic_loading.md) - ---- - -- [Break All The Things!!1!](./fun/index.md) - - [Problems](./fun/problems.md) - - [Solutions](./fun/solutions.md) \ No newline at end of file diff --git a/tests/summary_md_files/the_book-2nd_edition.md b/tests/summary_md_files/the_book-2nd_edition.md deleted file mode 100644 index c7f83067..00000000 --- a/tests/summary_md_files/the_book-2nd_edition.md +++ /dev/null @@ -1,130 +0,0 @@ -# The Rust Programming Language - -## Getting started - -- [Introduction](ch01-00-introduction.md) - - [Installation](ch01-01-installation.md) - - [Hello, World!](ch01-02-hello-world.md) - -- [Guessing Game Tutorial](ch02-00-guessing-game-tutorial.md) - -- [Common Programming Concepts](ch03-00-common-programming-concepts.md) - - [Variables and Mutability](ch03-01-variables-and-mutability.md) - - [Data Types](ch03-02-data-types.md) - - [How Functions Work](ch03-03-how-functions-work.md) - - [Comments](ch03-04-comments.md) - - [Control Flow](ch03-05-control-flow.md) - -- [Understanding Ownership](ch04-00-understanding-ownership.md) - - [What is Ownership?](ch04-01-what-is-ownership.md) - - [References & Borrowing](ch04-02-references-and-borrowing.md) - - [Slices](ch04-03-slices.md) - -- [Using Structs to Structure Related Data](ch05-00-structs.md) - - [Defining and Instantiating Structs](ch05-01-defining-structs.md) - - [An Example Program Using Structs](ch05-02-example-structs.md) - - [Method Syntax](ch05-03-method-syntax.md) - -- [Enums and Pattern Matching](ch06-00-enums.md) - - [Defining an Enum](ch06-01-defining-an-enum.md) - - [The `match` Control Flow Operator](ch06-02-match.md) - - [Concise Control Flow with `if let`](ch06-03-if-let.md) - -## Basic Rust Literacy - -- [Modules](ch07-00-modules.md) - - [`mod` and the Filesystem](ch07-01-mod-and-the-filesystem.md) - - [Controlling Visibility with `pub`](ch07-02-controlling-visibility-with-pub.md) - - [Referring to Names in Different Modules](ch07-03-importing-names-with-use.md) - -- [Common Collections](ch08-00-common-collections.md) - - [Vectors](ch08-01-vectors.md) - - [Strings](ch08-02-strings.md) - - [Hash Maps](ch08-03-hash-maps.md) - -- [Error Handling](ch09-00-error-handling.md) - - [Unrecoverable Errors with `panic!`](ch09-01-unrecoverable-errors-with-panic.md) - - [Recoverable Errors with `Result`](ch09-02-recoverable-errors-with-result.md) - - [To `panic!` or Not To `panic!`](ch09-03-to-panic-or-not-to-panic.md) - -- [Generic Types, Traits, and Lifetimes](ch10-00-generics.md) - - [Generic Data Types](ch10-01-syntax.md) - - [Traits: Defining Shared Behavior](ch10-02-traits.md) - - [Validating References with Lifetimes](ch10-03-lifetime-syntax.md) - -- [Testing](ch11-00-testing.md) - - [Writing tests](ch11-01-writing-tests.md) - - [Running tests](ch11-02-running-tests.md) - - [Test Organization](ch11-03-test-organization.md) - -- [An I/O Project: Building a Command Line Program](ch12-00-an-io-project.md) - - [Accepting Command Line Arguments](ch12-01-accepting-command-line-arguments.md) - - [Reading a File](ch12-02-reading-a-file.md) - - [Refactoring to Improve Modularity and Error Handling](ch12-03-improving-error-handling-and-modularity.md) - - [Developing the Library’s Functionality with Test Driven Development](ch12-04-testing-the-librarys-functionality.md) - - [Working with Environment Variables](ch12-05-working-with-environment-variables.md) - - [Writing Error Messages to Standard Error Instead of Standard Output](ch12-06-writing-to-stderr-instead-of-stdout.md) - -## Thinking in Rust - -- [Functional Language Features: Iterators and Closures](ch13-00-functional-features.md) - - [Closures: Anonymous Functions that Can Capture Their Environment](ch13-01-closures.md) - - [Processing a Series of Items with Iterators](ch13-02-iterators.md) - - [Improving Our I/O Project](ch13-03-improving-our-io-project.md) - - [Comparing Performance: Loops vs. Iterators](ch13-04-performance.md) - -- [More about Cargo and Crates.io](ch14-00-more-about-cargo.md) - - [Customizing Builds with Release Profiles](ch14-01-release-profiles.md) - - [Publishing a Crate to Crates.io](ch14-02-publishing-to-crates-io.md) - - [Cargo Workspaces](ch14-03-cargo-workspaces.md) - - [Installing Binaries from Crates.io with `cargo install`](ch14-04-installing-binaries.md) - - [Extending Cargo with Custom Commands](ch14-05-extending-cargo.md) - -- [Smart Pointers](ch15-00-smart-pointers.md) - - [`Box` Points to Data on the Heap and Has a Known Size](ch15-01-box.md) - - [The `Deref` Trait Allows Access to the Data Through a Reference](ch15-02-deref.md) - - [The `Drop` Trait Runs Code on Cleanup](ch15-03-drop.md) - - [`Rc`, the Reference Counted Smart Pointer](ch15-04-rc.md) - - [`RefCell` and the Interior Mutability Pattern](ch15-05-interior-mutability.md) - - [Creating Reference Cycles and Leaking Memory is Safe](ch15-06-reference-cycles.md) - -- [Fearless Concurrency](ch16-00-concurrency.md) - - [Threads](ch16-01-threads.md) - - [Message Passing](ch16-02-message-passing.md) - - [Shared State](ch16-03-shared-state.md) - - [Extensible Concurrency: `Sync` and `Send`](ch16-04-extensible-concurrency-sync-and-send.md) - -- [Is Rust an Object-Oriented Programming Language?](ch17-00-oop.md) - - [What Does Object-Oriented Mean?](ch17-01-what-is-oo.md) - - [Trait Objects for Using Values of Different Types](ch17-02-trait-objects.md) - - [Object-Oriented Design Pattern Implementations](ch17-03-oo-design-patterns.md) - -## Advanced Topics - -- [Patterns Match the Structure of Values](ch18-00-patterns.md) - - [All the Places Patterns May be Used](ch18-01-all-the-places-for-patterns.md) - - [Refutability: Whether a Pattern Might Fail to Match](ch18-02-refutability.md) - - [All the Pattern Syntax](ch18-03-pattern-syntax.md) - -- [Advanced Features](ch19-00-advanced-features.md) - - [Unsafe Rust](ch19-01-unsafe-rust.md) - - [Advanced Lifetimes](ch19-02-advanced-lifetimes.md) - - [Advanced Traits](ch19-03-advanced-traits.md) - - [Advanced Types](ch19-04-advanced-types.md) - - [Advanced Functions & Closures](ch19-05-advanced-functions-and-closures.md) - -- [Final Project: Building a Multithreaded Web Server](ch20-00-final-project-a-web-server.md) - - [A Single Threaded Web Server](ch20-01-single-threaded.md) - - [How Slow Requests Affect Throughput](ch20-02-slow-requests.md) - - [Designing the Thread Pool Interface](ch20-03-designing-the-interface.md) - - [Creating the Thread Pool and Storing Threads](ch20-04-storing-threads.md) - - [Sending Requests to Threads Via Channels](ch20-05-sending-requests-via-channels.md) - - [Graceful Shutdown and Cleanup](ch20-06-graceful-shutdown-and-cleanup.md) - -- [Appendix](appendix-00.md) - - [A - Keywords](appendix-01-keywords.md) - - [B - Operators and Symbols](appendix-02-operators.md) - - [C - Derivable Traits](appendix-03-derivable-traits.md) - - [D - Macros](appendix-04-macros.md) - - [E - Translations](appendix-05-translation.md) - - [F - Newest Features](appendix-06-newest-features.md)