summaryrefslogtreecommitdiff
path: root/tests/core/test-phones-chunk.vala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/core/test-phones-chunk.vala')
-rw-r--r--tests/core/test-phones-chunk.vala23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/core/test-phones-chunk.vala b/tests/core/test-phones-chunk.vala
index 9fb6c65..bea8784 100644
--- a/tests/core/test-phones-chunk.vala
+++ b/tests/core/test-phones-chunk.vala
@@ -19,6 +19,7 @@ void main (string[] args) {
Test.init (ref args);
Test.add_func ("/core/phones-chunk/property-name-chunk", test_property_name);
Test.add_func ("/core/phones-chunk/get-is-empty", test_is_empty);
+ Test.add_func ("/core/phones-chunk/serialize-basic", test_serialize_basic);
Test.run ();
}
@@ -51,3 +52,25 @@ private void test_is_empty () {
assert_true (phone.is_empty);
assert_true (chunk.is_empty);
}
+
+private void test_serialize_basic () {
+ var contact = new Contacts.Contact.empty ();
+ var chunk = (Contacts.PhonesChunk) contact.create_chunk ("phone-numbers", null);
+
+ // If the phones are empty, serialization should give a null result
+ var serialized = chunk.to_gvariant ();
+ assert_null (serialized);
+
+ // If a phone is added, we should have a variant. We don't need to inspect
+ // the variant, we just need to know it properly deserializes
+ var phone = (Contacts.Phone) chunk.get_item (0);
+ phone.raw_number = "+321234567";
+ serialized = chunk.to_gvariant ();
+ assert_nonnull (serialized);
+
+ var contact2 = new Contacts.Contact.empty ();
+ var chunk2 = (Contacts.PhonesChunk) contact2.create_chunk ("phone-numbers", null);
+ chunk2.apply_gvariant (serialized);
+ assert_nonnull (chunk.get_item (0));
+ assert_true (((Contacts.Phone) chunk.get_item (0)).raw_number == "+321234567");
+}