// Copyright 2014-2018 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. #![feature(rustc_private)] extern crate syntax; use std::collections::Bound; #[test] fn test_overlapping() { use clippy_lints::matches::overlapping; use syntax::source_map::DUMMY_SP; let sp = |s, e| clippy_lints::matches::SpannedRange { span: DUMMY_SP, node: (s, e), }; assert_eq!(None, overlapping::(&[])); assert_eq!(None, overlapping(&[sp(1, Bound::Included(4))])); assert_eq!( None, overlapping(&[sp(1, Bound::Included(4)), sp(5, Bound::Included(6))]) ); assert_eq!( None, overlapping(&[ sp(1, Bound::Included(4)), sp(5, Bound::Included(6)), sp(10, Bound::Included(11)) ],) ); assert_eq!( Some((&sp(1, Bound::Included(4)), &sp(3, Bound::Included(6)))), overlapping(&[sp(1, Bound::Included(4)), sp(3, Bound::Included(6))]) ); assert_eq!( Some((&sp(5, Bound::Included(6)), &sp(6, Bound::Included(11)))), overlapping(&[ sp(1, Bound::Included(4)), sp(5, Bound::Included(6)), sp(6, Bound::Included(11)) ],) ); }