2 stable releases

1.0.1 Jan 4, 2025

#696 in Text processing

Download history 249/week @ 2025-01-02 5/week @ 2025-01-09

254 downloads per month

MIT license

28KB
289 lines

lano-stre

lano's string util

test

use super::*;
use std::assert_eq;

#[test]
fn test_humanize() {
    // 测试正常输入
    assert_eq!(humanize("hello-world"), "Hello World");
    assert_eq!(humanize("hello_world"), "Hello World");
    assert_eq!(humanize("helloWorld"), "Hello World");
    assert_eq!(humanize("HelloWorld"), "Hello World");
    assert_eq!(humanize("helloWORLD"), "Hello World");
    // 测试空输入
    assert_eq!(humanize(""), "");
    // 测试只有分隔符
    assert_eq!(humanize("--"), "");
    assert_eq!(humanize("__"), "");
    // 测试连续分隔符
    assert_eq!(humanize("hello--world"), "Hello World");
    assert_eq!(humanize("hello__world"), "Hello World");
    // 测试多个大写字母
    assert_eq!(humanize("helloWORLD Test"), "Hello World Test");
}

#[test]
fn test_slugify() {
    // 测试正常输入
    assert_eq!(slugify("hello-world"), "hello-world");
    assert_eq!(slugify("hello_world"), "hello-world");
    assert_eq!(slugify("helloWorld"), "hello-world");
    assert_eq!(slugify("HelloWorld"), "hello-world");
    assert_eq!(slugify("helloWORLD"), "hello-world");
    // 测试空输入
    assert_eq!(slugify(""), "");
    // 测试只有分隔符
    assert_eq!(slugify("--"), "");
    assert_eq!(slugify("__"), "");
    // 测试连续分隔符
    assert_eq!(slugify("hello--world"), "hello-world");
    assert_eq!(slugify("hello__world"), "hello-world");
    // 测试多个大写字母
    assert_eq!(slugify("helloWORLD Test"), "hello-world-test");
}

#[test]
fn test_camelize() {
    // 测试正常输入
    assert_eq!(camelize("hello-world"), "helloWorld");
    assert_eq!(camelize("hello_world"), "helloWorld");
    assert_eq!(camelize("helloWorld"), "helloWorld");
    assert_eq!(camelize("HelloWorld"), "helloWorld");
    // assert_eq!(camelize("helloWORLD"), "helloWorld");
    // 测试空输入
    assert_eq!(camelize(""), "");
    // 测试只有分隔符
    assert_eq!(camelize("--"), "");
    assert_eq!(camelize("__"), "");
    // 测试连续分隔符
    assert_eq!(camelize("hello--world"), "helloWorld");
    assert_eq!(camelize("hello__world"), "helloWorld");
    // 测试多个大写字母
    assert_eq!(camelize("helloWORLD Test"), "helloWorldTest");
}

#[test]
fn test_underscoped() {
    // 测试正常输入
    assert_eq!(underscoped("hello-world"), "hello_world");
    assert_eq!(underscoped("hello_world"), "hello_world");
    assert_eq!(underscoped("helloWorld"), "hello_world");
    assert_eq!(underscoped("HelloWorld"), "hello_world");
    assert_eq!(underscoped("helloWORLD"), "hello_world");
    // 测试空输入
    assert_eq!(underscoped(""), "");
    // 测试只有分隔符
    assert_eq!(underscoped("--"), "");
    assert_eq!(underscoped("__"), "");
    // 测试连续分隔符
    assert_eq!(underscoped("hello--world"), "hello_world");
    assert_eq!(underscoped("hello__world"), "hello_world");
    // 测试多个大写字母
    assert_eq!(underscoped("helloWORLD Test"), "hello_world_test");
}

#[test]
fn test_classify() {
    // 测试正常输入
    assert_eq!(classify("hello-world"), "HelloWorld");
    assert_eq!(classify("hello_world"), "HelloWorld");
    assert_eq!(classify("helloWorld"), "HelloWorld");
    assert_eq!(classify("HelloWorld"), "HelloWorld");
    assert_eq!(classify("helloWORLD"), "HelloWorld"); //different for zero's stre in ts
                                                      // 测试空输入
    assert_eq!(classify(""), "");
    // 测试只有分隔符
    assert_eq!(classify("--"), "");
    assert_eq!(classify("__"), "");
    // 测试连续分隔符
    assert_eq!(classify("hello--world"), "HelloWorld");
    assert_eq!(classify("hello__world"), "HelloWorld");
    // 测试多个大写字母
    assert_eq!(classify("helloWORLD Test"), "HelloWorldTest"); //different for zero's stre in ts
}

#[test]
fn test_swap_case() {
    // 测试正常输入
    assert_eq!(swap_case("hello"), "HELLO");
    assert_eq!(swap_case("HELLO"), "hello");
    assert_eq!(swap_case("Hello"), "hELLO");
    // 测试空输入
    assert_eq!(swap_case(""), "");
    // 测试混合大小写
    assert_eq!(swap_case("HeLlO"), "hElLo");
}

#[test]
fn test_capitalize() {
    // 测试正常输入
    assert_eq!(capitalize("hello"), "Hello");
    assert_eq!(capitalize("HELLO"), "HELLO");
    assert_eq!(capitalize("Hello"), "Hello");
    // 测试空输入
    assert_eq!(capitalize(""), "");
    // 测试多个单词
    assert_eq!(capitalize("hello world"), "Hello world");
}

#[test]
fn test_sentence() {
    // 测试正常输入
    assert_eq!(sentence("hello"), "Hello");
    assert_eq!(sentence("HELLO"), "Hello");
    assert_eq!(sentence("Hello"), "Hello");
    // 测试空输入
    assert_eq!(sentence(""), "");
    // 测试多个单词
    assert_eq!(sentence("hello world"), "Hello world");
    assert_eq!(sentence("HELLO WORLD"), "Hello world");
}

#[test]
fn test_titleize() {
    // 测试正常输入
    assert_eq!(titleize("hello"), "Hello");
    assert_eq!(titleize("HELLO"), "Hello");
    assert_eq!(titleize("Hello"), "Hello");
    assert_eq!(titleize("hello world"), "Hello World");
    assert_eq!(titleize("HELLO WORLD"), "Hello World");
    // 测试空输入
    assert_eq!(titleize(""), "");
    // 测试多个分隔ators
    assert_eq!(titleize("hello--world"), "Hello World");
    assert_eq!(titleize("hello__world"), "Hello World");
}

#[test]
fn test_pad_start() {
    // 测试正常输入
    assert_eq!(pad_start("hello", 10, '0'), "00000hello");
    assert_eq!(pad_start("hello", 5, '0'), "hello");
    // 测试空输入
    assert_eq!(pad_start("", 5, '0'), "00000");
}

#[test]
fn test_pad_end() {
    // 测试正常输入
    assert_eq!(pad_end("hello", 10, '0'), "hello00000");
    assert_eq!(pad_end("hello", 5, '0'), "hello");
    // 测试空输入
    assert_eq!(pad_end("", 5, '0'), "00000");
}

author

ymc-github ymc.github@gamil.com

license

MIT

Dependencies

~2–3MB
~53K SLoC