Skip to content

Commit 13e07a4

Browse files
committed
Move the tests in src/libcore/slice/memchr.rs as well.
1 parent 10ab98d commit 13e07a4

File tree

2 files changed

+86
-82
lines changed

2 files changed

+86
-82
lines changed

src/libcore/slice/memchr.rs

Lines changed: 0 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -135,85 +135,3 @@ pub fn memrchr(x: u8, text: &[u8]) -> Option<usize> {
135135
// find the byte before the point the body loop stopped
136136
text[..offset].iter().rposition(|elt| *elt == x)
137137
}
138-
139-
// test fallback implementations on all platforms
140-
#[test]
141-
fn matches_one() {
142-
assert_eq!(Some(0), memchr(b'a', b"a"));
143-
}
144-
145-
#[test]
146-
fn matches_begin() {
147-
assert_eq!(Some(0), memchr(b'a', b"aaaa"));
148-
}
149-
150-
#[test]
151-
fn matches_end() {
152-
assert_eq!(Some(4), memchr(b'z', b"aaaaz"));
153-
}
154-
155-
#[test]
156-
fn matches_nul() {
157-
assert_eq!(Some(4), memchr(b'\x00', b"aaaa\x00"));
158-
}
159-
160-
#[test]
161-
fn matches_past_nul() {
162-
assert_eq!(Some(5), memchr(b'z', b"aaaa\x00z"));
163-
}
164-
165-
#[test]
166-
fn no_match_empty() {
167-
assert_eq!(None, memchr(b'a', b""));
168-
}
169-
170-
#[test]
171-
fn no_match() {
172-
assert_eq!(None, memchr(b'a', b"xyz"));
173-
}
174-
175-
#[test]
176-
fn matches_one_reversed() {
177-
assert_eq!(Some(0), memrchr(b'a', b"a"));
178-
}
179-
180-
#[test]
181-
fn matches_begin_reversed() {
182-
assert_eq!(Some(3), memrchr(b'a', b"aaaa"));
183-
}
184-
185-
#[test]
186-
fn matches_end_reversed() {
187-
assert_eq!(Some(0), memrchr(b'z', b"zaaaa"));
188-
}
189-
190-
#[test]
191-
fn matches_nul_reversed() {
192-
assert_eq!(Some(4), memrchr(b'\x00', b"aaaa\x00"));
193-
}
194-
195-
#[test]
196-
fn matches_past_nul_reversed() {
197-
assert_eq!(Some(0), memrchr(b'z', b"z\x00aaaa"));
198-
}
199-
200-
#[test]
201-
fn no_match_empty_reversed() {
202-
assert_eq!(None, memrchr(b'a', b""));
203-
}
204-
205-
#[test]
206-
fn no_match_reversed() {
207-
assert_eq!(None, memrchr(b'a', b"xyz"));
208-
}
209-
210-
#[test]
211-
fn each_alignment_reversed() {
212-
let mut data = [1u8; 64];
213-
let needle = 2;
214-
let pos = 40;
215-
data[pos] = needle;
216-
for start in 0..16 {
217-
assert_eq!(Some(pos - start), memrchr(needle, &data[start..]));
218-
}
219-
}

src/libcore/tests/slice.rs

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -550,3 +550,89 @@ fn sort_unstable() {
550550
v.sort_unstable();
551551
assert!(v == [0xDEADBEEF]);
552552
}
553+
554+
pub mod memchr {
555+
use core::slice::memchr::{memchr, memrchr};
556+
557+
// test fallback implementations on all platforms
558+
#[test]
559+
fn matches_one() {
560+
assert_eq!(Some(0), memchr(b'a', b"a"));
561+
}
562+
563+
#[test]
564+
fn matches_begin() {
565+
assert_eq!(Some(0), memchr(b'a', b"aaaa"));
566+
}
567+
568+
#[test]
569+
fn matches_end() {
570+
assert_eq!(Some(4), memchr(b'z', b"aaaaz"));
571+
}
572+
573+
#[test]
574+
fn matches_nul() {
575+
assert_eq!(Some(4), memchr(b'\x00', b"aaaa\x00"));
576+
}
577+
578+
#[test]
579+
fn matches_past_nul() {
580+
assert_eq!(Some(5), memchr(b'z', b"aaaa\x00z"));
581+
}
582+
583+
#[test]
584+
fn no_match_empty() {
585+
assert_eq!(None, memchr(b'a', b""));
586+
}
587+
588+
#[test]
589+
fn no_match() {
590+
assert_eq!(None, memchr(b'a', b"xyz"));
591+
}
592+
593+
#[test]
594+
fn matches_one_reversed() {
595+
assert_eq!(Some(0), memrchr(b'a', b"a"));
596+
}
597+
598+
#[test]
599+
fn matches_begin_reversed() {
600+
assert_eq!(Some(3), memrchr(b'a', b"aaaa"));
601+
}
602+
603+
#[test]
604+
fn matches_end_reversed() {
605+
assert_eq!(Some(0), memrchr(b'z', b"zaaaa"));
606+
}
607+
608+
#[test]
609+
fn matches_nul_reversed() {
610+
assert_eq!(Some(4), memrchr(b'\x00', b"aaaa\x00"));
611+
}
612+
613+
#[test]
614+
fn matches_past_nul_reversed() {
615+
assert_eq!(Some(0), memrchr(b'z', b"z\x00aaaa"));
616+
}
617+
618+
#[test]
619+
fn no_match_empty_reversed() {
620+
assert_eq!(None, memrchr(b'a', b""));
621+
}
622+
623+
#[test]
624+
fn no_match_reversed() {
625+
assert_eq!(None, memrchr(b'a', b"xyz"));
626+
}
627+
628+
#[test]
629+
fn each_alignment_reversed() {
630+
let mut data = [1u8; 64];
631+
let needle = 2;
632+
let pos = 40;
633+
data[pos] = needle;
634+
for start in 0..16 {
635+
assert_eq!(Some(pos - start), memrchr(needle, &data[start..]));
636+
}
637+
}
638+
}

0 commit comments

Comments
 (0)