Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/query-group-macro/tests/lru.rs')
-rw-r--r--crates/query-group-macro/tests/lru.rs35
1 files changed, 15 insertions, 20 deletions
diff --git a/crates/query-group-macro/tests/lru.rs b/crates/query-group-macro/tests/lru.rs
index f56dd5c2f9..a0817c4013 100644
--- a/crates/query-group-macro/tests/lru.rs
+++ b/crates/query-group-macro/tests/lru.rs
@@ -4,12 +4,13 @@ mod logger_db;
use logger_db::LoggerDb;
use query_group_macro::query_group;
+#[salsa::input(singleton)]
+struct InputString {
+ inner: String,
+}
+
#[query_group]
pub trait LruDB: salsa::Database {
- // // input with no params
- #[salsa::input]
- fn input_string(&self) -> String;
-
#[salsa::lru(16)]
#[salsa::invoke_interned(length_query)]
fn length_query(&self, key: ()) -> usize;
@@ -20,49 +21,43 @@ pub trait LruDB: salsa::Database {
}
fn length_query(db: &dyn LruDB, _key: ()) -> usize {
- db.input_string().len()
+ InputString::get(db).inner(db).len()
}
fn invoked_query(db: &dyn LruDB, _key: ()) -> usize {
- db.input_string().len()
+ InputString::get(db).inner(db).len()
}
#[test]
fn plain_lru() {
- let mut db = LoggerDb::default();
+ let db = LoggerDb::default();
- db.set_input_string(String::from("Hello, world!"));
+ InputString::new(&db, String::from("Hello, world!"));
let len = db.length_query(());
assert_eq!(len, 13);
db.assert_logs(expect![[r#"
[
"salsa_event(WillCheckCancellation)",
- "salsa_event(WillExecute { database_key: create_data_LruDB(Id(0)) })",
- "salsa_event(WillCheckCancellation)",
- "salsa_event(DidValidateMemoizedValue { database_key: create_data_LruDB(Id(0)) })",
- "salsa_event(WillCheckCancellation)",
- "salsa_event(WillExecute { database_key: length_query_shim(Id(800)) })",
+ "salsa_event(WillExecute { database_key: create_data_LruDB(Id(400)) })",
"salsa_event(WillCheckCancellation)",
+ "salsa_event(WillExecute { database_key: length_query_shim(Id(c00)) })",
]"#]]);
}
#[test]
fn invoke_lru() {
- let mut db = LoggerDb::default();
+ let db = LoggerDb::default();
- db.set_input_string(String::from("Hello, world!"));
+ InputString::new(&db, String::from("Hello, world!"));
let len = db.length_query_invoke(());
assert_eq!(len, 13);
db.assert_logs(expect![[r#"
[
"salsa_event(WillCheckCancellation)",
- "salsa_event(WillExecute { database_key: create_data_LruDB(Id(0)) })",
- "salsa_event(WillCheckCancellation)",
- "salsa_event(DidValidateMemoizedValue { database_key: create_data_LruDB(Id(0)) })",
- "salsa_event(WillCheckCancellation)",
- "salsa_event(WillExecute { database_key: length_query_invoke_shim(Id(800)) })",
+ "salsa_event(WillExecute { database_key: create_data_LruDB(Id(400)) })",
"salsa_event(WillCheckCancellation)",
+ "salsa_event(WillExecute { database_key: length_query_invoke_shim(Id(c00)) })",
]"#]]);
}