mirror of
https://framagit.org/veretcle/oolatoocs.git
synced 2025-07-20 12:31:18 +02:00
fix: count 26 chars per url each time
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -1806,7 +1806,7 @@ checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "oolatoocs"
|
name = "oolatoocs"
|
||||||
version = "4.2.0"
|
version = "4.2.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"atrium-api",
|
"atrium-api",
|
||||||
"bsky-sdk",
|
"bsky-sdk",
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "oolatoocs"
|
name = "oolatoocs"
|
||||||
version = "4.2.0"
|
version = "4.2.1"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
14
src/utils.rs
14
src/utils.rs
@@ -38,7 +38,13 @@ fn twitter_count(content: &str) -> usize {
|
|||||||
|
|
||||||
for word in split_content {
|
for word in split_content {
|
||||||
if word.starts_with("http://") || word.starts_with("https://") {
|
if word.starts_with("http://") || word.starts_with("https://") {
|
||||||
count += 23;
|
// It’s not that simple. Bsky adapts itself to the URL.
|
||||||
|
// https://github.com -> 10 chars
|
||||||
|
// https://github.com/ -> 10 chars
|
||||||
|
// https://github.com/NVNTLabs -> 19 chars
|
||||||
|
// https://github.com/NVNTLabs/ -> 20 chars
|
||||||
|
// so taking the maximum here to simplify things
|
||||||
|
count += 26;
|
||||||
} else {
|
} else {
|
||||||
count += word.chars().count();
|
count += word.chars().count();
|
||||||
}
|
}
|
||||||
@@ -100,11 +106,11 @@ mod tests {
|
|||||||
|
|
||||||
let content = "Shoot out to https://y.ml/ !";
|
let content = "Shoot out to https://y.ml/ !";
|
||||||
|
|
||||||
assert_eq!(twitter_count(content), 38);
|
assert_eq!(twitter_count(content), 41);
|
||||||
|
|
||||||
let content = "this is the link https://www.google.com/tamerelol/youpi/tonperemdr/tarace.html if you like! What if I shit a final";
|
let content = "this is the link https://www.google.com/tamerelol/youpi/tonperemdr/tarace.html if you like! What if I shit a final";
|
||||||
|
|
||||||
assert_eq!(twitter_count(content), 76);
|
assert_eq!(twitter_count(content), 79);
|
||||||
|
|
||||||
let content = "multi ple space";
|
let content = "multi ple space";
|
||||||
|
|
||||||
@@ -112,7 +118,7 @@ mod tests {
|
|||||||
|
|
||||||
let content = "This link is LEEEEET\n\nhttps://www.factornews.com/actualites/ca-sent-le-sapin-pour-free-radical-design-49985.html";
|
let content = "This link is LEEEEET\n\nhttps://www.factornews.com/actualites/ca-sent-le-sapin-pour-free-radical-design-49985.html";
|
||||||
|
|
||||||
assert_eq!(twitter_count(content), 45);
|
assert_eq!(twitter_count(content), 48);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
Reference in New Issue
Block a user