File: test_buffer.py

package info (click to toggle)
gst-python 0.8.1-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 2,056 kB
  • ctags: 306
  • sloc: sh: 8,485; python: 1,257; xml: 393; ansic: 271; makefile: 239
file content (84 lines) | stat: -rw-r--r-- 2,565 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import sys
from common import gst, unittest

class BufferTest(unittest.TestCase):
    def testBufferBuffer(self):
        buf = gst.Buffer('test')
        assert str(buffer(buf)) == 'test'

    def testBufferStr(self):
        buffer = gst.Buffer('test')
        assert str(buffer) == 'test'
        
    def testBufferBadConstructor(self):
        self.assertRaises(TypeError, gst.Buffer, 'test', 0)
        
    def testBufferStrNull(self):
        test_string = 't\0e\0s\0t\0'
        buffer = gst.Buffer(test_string)
        assert str(buffer) == test_string

    def testBufferSize(self):
        test_string = 'a little string'
        buffer = gst.Buffer(test_string)
        assert len(buffer) == len(test_string)
        #assert hasattr(buffer, 'size')
        #assert buffer.size == len(buffer)
        
    def testBufferMaxSize(self):
        buffer = gst.Buffer(buffer_size=16)
        assert hasattr(buffer, 'maxsize')
        assert buffer.maxsize == 16

    def testBufferCreateSub(self):
        s = ''
        for i in range(64):
            s += '%02d' % i
            
        buffer = gst.Buffer(s)
        assert len(buffer) == 128

        sub = buffer.create_sub(16, 16)
        assert sub.maxsize == 16
        assert sub.offset == -1, sub.offset

    def testBufferMerge(self):
        buffer1 = gst.Buffer('foo')
        buffer2 = gst.Buffer('bar')

        merged_buffer = buffer1.merge(buffer2)
        assert str(merged_buffer) == 'foobar'
        
    def testBufferJoin(self):
        buffer1 = gst.Buffer('foo')
        buffer2 = gst.Buffer('bar')

        joined_buffer = buffer1.merge(buffer2)
        assert str(joined_buffer) == 'foobar'
        
    def testBufferSpan(self):
        buffer1 = gst.Buffer('foo')
        buffer2 = gst.Buffer('bar')

        spaned_buffer = buffer1.span(0L, buffer2, 6L)
        assert str(spaned_buffer) == 'foobar'

    def testBufferFlagIsSet(self):
        buffer = gst.Buffer()
        # Off by default
        assert not buffer.flag_is_set(gst.BUFFER_READONLY)

        # Try switching on and off
        buffer.flag_set(gst.BUFFER_READONLY)
        assert buffer.flag_is_set(gst.BUFFER_READONLY)
        buffer.flag_unset(gst.BUFFER_READONLY)
        assert not buffer.flag_is_set(gst.BUFFER_READONLY)

        # Try switching on and off
        buffer.flag_set(gst.BUFFER_IN_CAPS)
        assert buffer.flag_is_set(gst.BUFFER_IN_CAPS)
        buffer.flag_unset(gst.BUFFER_IN_CAPS)
        assert not buffer.flag_is_set(gst.BUFFER_IN_CAPS)

if __name__ == "__main__":
    unittest.main()