summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-08-30 17:19:25 +0200
committerLaurenz <laurmaedje@gmail.com>2023-08-30 17:19:25 +0200
commita6f347fbb7e9d21792afe2ec8f9900ceb400ce2b (patch)
treec768925e2bd06a5c5809b6b74b4908688ceb483c
parentdacab7869fafb4963b2d9739fd982aa531ce2578 (diff)
Add test for ends-with fix
-rw-r--r--crates/typst/src/eval/str.rs10
-rw-r--r--tests/typ/compiler/string.typ3
2 files changed, 6 insertions, 7 deletions
diff --git a/crates/typst/src/eval/str.rs b/crates/typst/src/eval/str.rs
index 140f7146..636b9640 100644
--- a/crates/typst/src/eval/str.rs
+++ b/crates/typst/src/eval/str.rs
@@ -123,14 +123,10 @@ impl Str {
}
// There might still be a match overlapping this one, so
- // restart at the next code point
- if let Some(c) = &self[mat.start()..].chars().next() {
- start_byte = mat.start() + c.len_utf8();
- } else {
- break;
- }
+ // restart at the next code point.
+ let Some(c) = self[mat.start()..].chars().next() else { break };
+ start_byte = mat.start() + c.len_utf8();
}
-
false
}
}
diff --git a/tests/typ/compiler/string.typ b/tests/typ/compiler/string.typ
index b0708979..ed1296a7 100644
--- a/tests/typ/compiler/string.typ
+++ b/tests/typ/compiler/string.typ
@@ -81,6 +81,9 @@
#test("Typst".ends-with(regex("\d*")), true)
#test("Typst".ends-with(regex("\d+")), false)
#test("Typ12".ends-with(regex("\d+")), true)
+#test("typst13".ends-with(regex("1[0-9]")), true)
+#test("typst113".ends-with(regex("1[0-9]")), true)
+#test("typst23".ends-with(regex("1[0-9]")), false)
---
// Test the `find` and `position` methods.