use super::*; use crate::{edition, Globals}; #[test] fn interner_tests() { let mut i: Interner = Interner::default(); // first one is zero: assert_eq!(i.intern("dog"), Symbol::new(0)); // re-use gets the same entry: assert_eq!(i.intern("dog"), Symbol::new(0)); // different string gets a different #: assert_eq!(i.intern("cat"), Symbol::new(1)); assert_eq!(i.intern("cat"), Symbol::new(1)); // dog is still at zero assert_eq!(i.intern("dog"), Symbol::new(0)); } #[test] fn without_first_quote_test() { GLOBALS.set(&Globals::new(edition::DEFAULT_EDITION), || { let i = Ident::from_str("'break"); assert_eq!(i.without_first_quote().name, kw::Break); }); }