()
| 31 | |
| 32 | #[test] |
| 33 | fn test_view_operations() { |
| 34 | let dir = tempdir().unwrap(); |
| 35 | let db_path = dir.path().join("pristine"); |
| 36 | let pristine = Pristine::open(&db_path).unwrap(); |
| 37 | |
| 38 | let mut txn = pristine.write_txn().unwrap(); |
| 39 | |
| 40 | // Create a view |
| 41 | let mut view = txn.open_or_create_view("main").unwrap(); |
| 42 | assert_eq!(view.name, "main"); |
| 43 | assert_eq!(view.change_count, 0); |
| 44 | |
| 45 | // Add a change |
| 46 | let hash = Hash::of(b"change 1"); |
| 47 | let change_id = txn.register_change(&hash).unwrap(); |
| 48 | let seq = txn.put_change(&mut view, change_id, &hash).unwrap(); |
| 49 | assert_eq!(seq, 0); |
| 50 | assert_eq!(view.change_count, 1); |
| 51 | |
| 52 | // Update view state |
| 53 | txn.update_view(&view).unwrap(); |
| 54 | |
| 55 | // List views |
| 56 | let views = txn.list_views().unwrap(); |
| 57 | assert_eq!(views, vec!["main"]); |
| 58 | |
| 59 | txn.commit().unwrap(); |
| 60 | |
| 61 | // Read back |
| 62 | let txn = pristine.read_txn().unwrap(); |
| 63 | let view = txn.get_view("main").unwrap().unwrap(); |
| 64 | assert_eq!(view.change_count, 1); |
| 65 | } |
| 66 | |
| 67 | #[test] |
| 68 | fn test_register_tag() { |
nothing calls this directly
no test coverage detected