From 1b6a04ca5504955c571d1c97504fb45ea0befee4 Mon Sep 17 00:00:00 2001
From: Valentin Popov <valentin@popov.link>
Date: Mon, 8 Jan 2024 01:21:28 +0400
Subject: Initial vendor packages

Signed-off-by: Valentin Popov <valentin@popov.link>
---
 vendor/textwrap/tests/indent.rs          | 88 ++++++++++++++++++++++++++++++++
 vendor/textwrap/tests/version-numbers.rs | 22 ++++++++
 2 files changed, 110 insertions(+)
 create mode 100644 vendor/textwrap/tests/indent.rs
 create mode 100644 vendor/textwrap/tests/version-numbers.rs

(limited to 'vendor/textwrap/tests')

diff --git a/vendor/textwrap/tests/indent.rs b/vendor/textwrap/tests/indent.rs
new file mode 100644
index 0000000..9dd5ad2
--- /dev/null
+++ b/vendor/textwrap/tests/indent.rs
@@ -0,0 +1,88 @@
+/// tests cases ported over from python standard library
+use textwrap::{dedent, indent};
+
+const ROUNDTRIP_CASES: [&str; 3] = [
+    // basic test case
+    "Hi.\nThis is a test.\nTesting.",
+    // include a blank line
+    "Hi.\nThis is a test.\n\nTesting.",
+    // include leading and trailing blank lines
+    "\nHi.\nThis is a test.\nTesting.\n",
+];
+
+const WINDOWS_CASES: [&str; 2] = [
+    // use windows line endings
+    "Hi.\r\nThis is a test.\r\nTesting.",
+    // pathological case
+    "Hi.\r\nThis is a test.\n\r\nTesting.\r\n\n",
+];
+
+#[test]
+fn test_indent_nomargin_default() {
+    // indent should do nothing if 'prefix' is empty.
+    for text in ROUNDTRIP_CASES.iter() {
+        assert_eq!(&indent(text, ""), text);
+    }
+    for text in WINDOWS_CASES.iter() {
+        assert_eq!(&indent(text, ""), text);
+    }
+}
+
+#[test]
+fn test_roundtrip_spaces() {
+    // A whitespace prefix should roundtrip with dedent
+    for text in ROUNDTRIP_CASES.iter() {
+        assert_eq!(&dedent(&indent(text, "    ")), text);
+    }
+}
+
+#[test]
+fn test_roundtrip_tabs() {
+    // A whitespace prefix should roundtrip with dedent
+    for text in ROUNDTRIP_CASES.iter() {
+        assert_eq!(&dedent(&indent(text, "\t\t")), text);
+    }
+}
+
+#[test]
+fn test_roundtrip_mixed() {
+    // A whitespace prefix should roundtrip with dedent
+    for text in ROUNDTRIP_CASES.iter() {
+        assert_eq!(&dedent(&indent(text, " \t  \t ")), text);
+    }
+}
+
+#[test]
+fn test_indent_default() {
+    // Test default indenting of lines that are not whitespace only
+    let prefix = "  ";
+    let expected = [
+        // Basic test case
+        "  Hi.\n  This is a test.\n  Testing.",
+        // Include a blank line
+        "  Hi.\n  This is a test.\n\n  Testing.",
+        // Include leading and trailing blank lines
+        "\n  Hi.\n  This is a test.\n  Testing.\n",
+    ];
+    for (text, expect) in ROUNDTRIP_CASES.iter().zip(expected.iter()) {
+        assert_eq!(&indent(text, prefix), expect)
+    }
+    let expected = [
+        // Use Windows line endings
+        "  Hi.\r\n  This is a test.\r\n  Testing.",
+        // Pathological case
+        "  Hi.\r\n  This is a test.\n\r\n  Testing.\r\n\n",
+    ];
+    for (text, expect) in WINDOWS_CASES.iter().zip(expected.iter()) {
+        assert_eq!(&indent(text, prefix), expect)
+    }
+}
+
+#[test]
+fn indented_text_should_have_the_same_number_of_lines_as_the_original_text() {
+    let texts = ["foo\nbar", "foo\nbar\n", "foo\nbar\nbaz"];
+    for original in texts.iter() {
+        let indented = indent(original, "");
+        assert_eq!(&indented, original);
+    }
+}
diff --git a/vendor/textwrap/tests/version-numbers.rs b/vendor/textwrap/tests/version-numbers.rs
new file mode 100644
index 0000000..3f429b1
--- /dev/null
+++ b/vendor/textwrap/tests/version-numbers.rs
@@ -0,0 +1,22 @@
+#[test]
+fn test_readme_deps() {
+    version_sync::assert_markdown_deps_updated!("README.md");
+}
+
+#[test]
+fn test_changelog() {
+    version_sync::assert_contains_regex!(
+        "CHANGELOG.md",
+        r"^## Version {version} \(20\d\d-\d\d-\d\d\)"
+    );
+}
+
+#[test]
+fn test_html_root_url() {
+    version_sync::assert_html_root_url_updated!("src/lib.rs");
+}
+
+#[test]
+fn test_dependency_graph() {
+    version_sync::assert_contains_regex!("src/lib.rs", "master/images/textwrap-{version}.svg");
+}
-- 
cgit v1.2.3