Put tests in tests folder

This commit is contained in:
mcarton 2015-12-23 17:48:30 +01:00
parent d01987a40b
commit 0fa8481ba3
2 changed files with 24 additions and 18 deletions

View File

@ -254,9 +254,9 @@ fn all_ranges(cx: &LateContext, arms: &[Arm]) -> Vec<SpannedRange<ConstVal>> {
}
#[derive(Debug, Eq, PartialEq)]
struct SpannedRange<T> {
span: Span,
node: (T, T),
pub struct SpannedRange<T> {
pub span: Span,
pub node: (T, T),
}
#[derive(Debug)]
@ -339,7 +339,7 @@ fn match_template(cx: &LateContext,
}
}
fn overlapping<T>(ranges: &[SpannedRange<T>]) -> Option<(&SpannedRange<T>, &SpannedRange<T>)>
pub fn overlapping<T>(ranges: &[SpannedRange<T>]) -> Option<(&SpannedRange<T>, &SpannedRange<T>)>
where T: Copy + Ord {
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
enum Kind<'a, T: 'a> {
@ -392,17 +392,3 @@ fn overlapping<T>(ranges: &[SpannedRange<T>]) -> Option<(&SpannedRange<T>, &Span
None
}
#[test]
fn test_overlapping() {
use syntax::codemap::DUMMY_SP;
let sp = |s, e| SpannedRange { span: DUMMY_SP, node: (s, e) };
assert_eq!(None, overlapping::<u8>(&[]));
assert_eq!(None, overlapping(&[sp(1, 4)]));
assert_eq!(None, overlapping(&[sp(1, 4), sp(5, 6)]));
assert_eq!(None, overlapping(&[sp(1, 4), sp(5, 6), sp(10, 11)]));
assert_eq!(Some((&sp(1, 4), &sp(3, 6))), overlapping(&[sp(1, 4), sp(3, 6)]));
assert_eq!(Some((&sp(5, 6), &sp(6, 11))), overlapping(&[sp(1, 4), sp(5, 6), sp(6, 11)]));
}

20
tests/matches.rs Normal file
View File

@ -0,0 +1,20 @@
#![allow(plugin_as_library)]
#![feature(rustc_private)]
extern crate clippy;
extern crate syntax;
#[test]
fn test_overlapping() {
use clippy::matches::overlapping;
use syntax::codemap::DUMMY_SP;
let sp = |s, e| clippy::matches::SpannedRange { span: DUMMY_SP, node: (s, e) };
assert_eq!(None, overlapping::<u8>(&[]));
assert_eq!(None, overlapping(&[sp(1, 4)]));
assert_eq!(None, overlapping(&[sp(1, 4), sp(5, 6)]));
assert_eq!(None, overlapping(&[sp(1, 4), sp(5, 6), sp(10, 11)]));
assert_eq!(Some((&sp(1, 4), &sp(3, 6))), overlapping(&[sp(1, 4), sp(3, 6)]));
assert_eq!(Some((&sp(5, 6), &sp(6, 11))), overlapping(&[sp(1, 4), sp(5, 6), sp(6, 11)]));
}