diff options
| author | blake2-ppc <blake2-ppc> | 2013-08-18 13:57:34 +0200 |
|---|---|---|
| committer | blake2-ppc <blake2-ppc> | 2013-08-19 11:19:59 +0200 |
| commit | 548bdbaa29e0855a87ac5eec073d83babb72d8f2 (patch) | |
| tree | 7db2ad1ad0c6215df0b26b501f5befca28bb8c90 /src | |
| parent | 680eb71564ebba5e76ce1e1a8287b30042332cc5 (diff) | |
| download | rust-548bdbaa29e0855a87ac5eec073d83babb72d8f2.tar.gz rust-548bdbaa29e0855a87ac5eec073d83babb72d8f2.zip | |
std::str: Bench test for char iterators
Diffstat (limited to 'src')
| -rw-r--r-- | src/libstd/str.rs | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/libstd/str.rs b/src/libstd/str.rs index a759b8cbd62..3d793bc8e77 100644 --- a/src/libstd/str.rs +++ b/src/libstd/str.rs @@ -3267,6 +3267,62 @@ mod tests { mod bench { use extra::test::BenchHarness; use super::*; + use prelude::*; + + #[bench] + fn char_iterator(bh: &mut BenchHarness) { + let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb"; + let len = s.char_len(); + + do bh.iter { + assert_eq!(s.iter().len(), len); + } + } + + #[bench] + fn char_iterator_ascii(bh: &mut BenchHarness) { + let s = "Mary had a little lamb, Little lamb + Mary had a little lamb, Little lamb + Mary had a little lamb, Little lamb + Mary had a little lamb, Little lamb + Mary had a little lamb, Little lamb + Mary had a little lamb, Little lamb"; + let len = s.char_len(); + + do bh.iter { + assert_eq!(s.iter().len(), len); + } + } + + #[bench] + fn char_iterator_rev(bh: &mut BenchHarness) { + let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb"; + let len = s.char_len(); + + do bh.iter { + assert_eq!(s.rev_iter().len(), len); + } + } + + #[bench] + fn char_offset_iterator(bh: &mut BenchHarness) { + let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb"; + let len = s.char_len(); + + do bh.iter { + assert_eq!(s.char_offset_iter().len(), len); + } + } + + #[bench] + fn char_offset_iterator_rev(bh: &mut BenchHarness) { + let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb"; + let len = s.char_len(); + + do bh.iter { + assert_eq!(s.char_offset_rev_iter().len(), len); + } + } #[bench] fn is_utf8_100_ascii(bh: &mut BenchHarness) { |
