Skip to content

Commit a8ff68e

Browse files
committed
---
yaml --- r: 4316 b: refs/heads/master c: c9b16ac h: refs/heads/master v: v3
1 parent 573056b commit a8ff68e

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 1ad68eafd2505e39d76c0082470e37ab8869ed48
2+
refs/heads/master: c9b16ac4c28ab5696d318dc7e414c73e27f9d631

trunk/src/lib/str.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ export bytes_ivec;
5252
export unsafe_from_bytes_ivec;
5353
export is_empty;
5454
export is_not_empty;
55+
export is_whitespace;
5556
export replace;
5657
export char_slice;
5758
export trim_left;
@@ -166,6 +167,18 @@ pred is_empty(s: str) -> bool { for c: u8 in s { ret false; } ret true; }
166167
/// Returns true if the string has length greater than 0
167168
pred is_not_empty(s: str) -> bool { !is_empty(s) }
168169

170+
fn is_whitespace(s: str) -> bool {
171+
let i = 0u;
172+
let len = char_len(s);
173+
while i < len {
174+
if !char::is_whitespace(char_at(s, i)) {
175+
ret false;
176+
}
177+
i += 1u
178+
}
179+
ret true;
180+
}
181+
169182
// Returns the number of bytes (a.k.a. UTF-8 code units) in s.
170183
// Contrast with a function that would return the number of code
171184
// points (char's), combining character sequences, words, etc. See

trunk/src/test/stdtest/str.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,15 @@ fn trim() {
192192
assert str::trim(" hey dude ") == "hey dude";
193193
}
194194

195+
#[test]
196+
fn is_whitespace() {
197+
assert str::is_whitespace("");
198+
assert str::is_whitespace(" ");
199+
assert str::is_whitespace("\u2009"); // Thin space
200+
assert str::is_whitespace(" \n\t ");
201+
assert !str::is_whitespace(" _ ");
202+
}
203+
195204
// Local Variables:
196205
// mode: rust;
197206
// fill-column: 78;

0 commit comments

Comments
 (0)