| 60 | pass |
| 61 | |
| 62 | def testStateChange(self): |
| 63 | bin = MyBin("mybin") |
| 64 | self.assertEquals(bin.__gstrefcount__, 1) |
| 65 | self.assertEquals(sys.getrefcount(bin), pygobject_2_13 and 2 or 3) |
| 66 | |
| 67 | self.assertEquals(bin.get_name(), "mybin") |
| 68 | self.assertEquals(bin.__gstrefcount__, 1) |
| 69 | |
| 70 | # test get_state with no timeout |
| 71 | (ret, state, pending) = bin.get_state() |
| 72 | self.failIfEqual(ret, gst.STATE_CHANGE_FAILURE) |
| 73 | self.assertEquals(bin.__gstrefcount__, 1) |
| 74 | |
| 75 | # set to playing |
| 76 | bin.set_state(gst.STATE_PLAYING) |
| 77 | self.failUnless(bin._state_changed) |
| 78 | |
| 79 | # test get_state with no timeout |
| 80 | (ret, state, pending) = bin.get_state() |
| 81 | self.failIfEqual(ret, gst.STATE_CHANGE_FAILURE) |
| 82 | |
| 83 | if ret == gst.STATE_CHANGE_SUCCESS: |
| 84 | self.assertEquals(state, gst.STATE_PLAYING) |
| 85 | self.assertEquals(pending, gst.STATE_VOID_PENDING) |
| 86 | |
| 87 | # test get_state with a timeout |
| 88 | (ret, state, pending) = bin.get_state(1) |
| 89 | self.failIfEqual(ret, gst.STATE_CHANGE_FAILURE) |
| 90 | |
| 91 | if ret == gst.STATE_CHANGE_SUCCESS: |
| 92 | self.assertEquals(state, gst.STATE_PLAYING) |
| 93 | self.assertEquals(pending, gst.STATE_VOID_PENDING) |
| 94 | |
| 95 | (ret, state, pending) = bin.get_state(timeout=gst.SECOND) |
| 96 | |
| 97 | # back to NULL |
| 98 | bin.set_state(gst.STATE_NULL) |
| 99 | |
| 100 | class BinAddRemove(TestCase): |
| 101 | def setUp(self): |