mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-14 02:49:40 +00:00
26 lines
743 B
Rust
26 lines
743 B
Rust
use super::*;
|
|
|
|
use crate::{edition, SessionGlobals};
|
|
|
|
#[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() {
|
|
SESSION_GLOBALS.set(&SessionGlobals::new(edition::DEFAULT_EDITION), || {
|
|
let i = Ident::from_str("'break");
|
|
assert_eq!(i.without_first_quote().name, kw::Break);
|
|
});
|
|
}
|