branch: externals/ebdb
commit c0910a181069f27dd2e4730c934824d500156fb2
Author: Eric Abrahamsen <[email protected]>
Commit: Eric Abrahamsen <[email protected]>
Add test for multiple databases plus read only
* ebdb-test.el (ebdb-load-record-multiple-databases-error): Editing a
record should raise an error if one of its databases is read only.
---
ebdb-test.el | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/ebdb-test.el b/ebdb-test.el
index cbedfad..2743302 100644
--- a/ebdb-test.el
+++ b/ebdb-test.el
@@ -115,6 +115,21 @@
(should (= 1 (length ebdb-record-tracker)))
(should (equal rec (ebdb-gethash (ebdb-record-uuid rec) 'uuid))))))))
+(ert-deftest ebdb-load-record-multiple-databases-error ()
+ "Test that record can't be edited when one of its databases is
+ read-only."
+ (ebdb-test-with-records
+ (ebdb-test-with-database (db1 ebdb-test-database-1)
+ (ebdb-test-with-database (db2 ebdb-test-database-2)
+ (let ((rec (make-instance 'ebdb-record-person)))
+ (ebdb-db-add-record db1 rec)
+ (ebdb-db-add-record db2 rec)
+ (setf (slot-value db1 'read-only) t)
+ (should-error
+ (ebdb-record-insert-field
+ rec (ebdb-parse 'ebdb-field-mail "[email protected]"))
+ :type 'ebdb-readonly-db))))))
+
;; Test adding, deleting and changing fields.
(ert-deftest ebdb-add-delete-record-field ()
@@ -435,7 +450,7 @@
(should (equal (ebdb-vcard-escape "Marry\\n uncle!")
"Marry\\n uncle!"))
- (should (equal (ebdb-vcard-escape "Mine
+ (should (equal (ebdb-vcard-escape "Mine
uncle")
"Mine \\nuncle"))
@@ -443,7 +458,7 @@ uncle")
"Marry, nuncle!"))
(should (equal (ebdb-vcard-unescape "Marry \\nuncle")
- "Marry
+ "Marry
uncle"))
(should (equal (ebdb-vcard-unescape