| Subject: GstObject |
| |
| Areas to test |
| ============= |
| |
| Creation |
| Refcounting |
| Destruction |
| Flags |
| Locking |
| Parentage |
| Path string |
| |
| |
| Tests |
| ===== |
| |
| Creation |
| -------- |
| Create an object |
| Does it return !NULL |
| GST_IS_OBJECT() ? |
| |
| Refcounting |
| ----------- |
| Create new object |
| object->refcount == 1, GTK_OBJECT_FLOATING(object) == TRUE |
| Increment refcount |
| object->refcount == 2 |
| Sink object |
| object->refcount == 1, GTK_OBJECT_FLOATING(object) == FALSE |
| Increment refcount |
| object->refcount == 2 |
| Decrement refcount |
| object->refcount == 1 |
| |
| Destruction |
| ----------- |
| ??? |
| |
| Flags (start with new object) |
| ----- |
| Create new object |
| Verify that all flags are unset |
| Set a flag |
| Verify it's set |
| Unset a flag |
| Verify it's not set |
| |
| Locking (start with new object) |
| ------- |
| Lock an object |
| Try to lock, get false |
| |
| Parentage (start with new object, check refcount == 1) |
| --------- |
| gst_object_set_parent: (start with new parent object) |
| Pass NULL... |
| Pass !NULL, but not Object... |
| Pass NULL parent... |
| Pass !NULL parent, but not Object... |
| Pass valid Object, and parent == object |
| object->refcount == 1 |
| GTK_OBJECT_FLOATING(object) == TRUE |
| object->parent == NULL |
| Pass valid Object |
| object->refcount == 1 |
| GTK_OBJECT_FLOATING(object) == FALSE |
| object->parent == parent |
| The "parent_set" signal should fire with the object and parent as args |
| Pass Object with parent already set |
| object->parent should not equal new parent |
| object->refcount == 1 |
| gst_object_get_parent: |
| Pass NULL... |
| Pass !NULL, not Object... |
| Pass valid object with no parent |
| Get NULL |
| Pass valid object with parent |
| Get parent pointer |
| gst_object_unparent: |
| Pass NULL, with no parent |
| no effect |
| Pass !NULL, not Object, NULL parent |
| pointer not mangled |
| Pass valid object, with no parent |
| object->parent == NULL |
| object->refcount = 1 |
| Pass NULL, with valid parent |
| no effect |
| Pass !NULL, not Object, with valid object as parent |
| pointer not mangled |
| Pass valid object, with valid parent |
| object->parent == NULL |
| object->refcount == 0 |