More functions
[audio-opusfile.git] / t / Audio-Opusfile.t
CommitLineData
a3f1cbda
MG
1#!/usr/bin/perl
2use strict;
3use warnings;
4
5fbea9a2 5use Test::More tests => 12;
a3f1cbda
MG
6BEGIN { use_ok('Audio::Opusfile') };
7
8my $fail = 0;
9foreach my $constname (qw(
10 OPUS_CHANNEL_COUNT_MAX OP_ABSOLUTE_GAIN OP_DEC_FORMAT_FLOAT
11 OP_DEC_FORMAT_SHORT OP_DEC_USE_DEFAULT OP_EBADHEADER OP_EBADLINK
12 OP_EBADPACKET OP_EBADTIMESTAMP OP_EFAULT OP_EIMPL OP_EINVAL OP_ENOSEEK
13 OP_ENOTAUDIO OP_ENOTFORMAT OP_EOF OP_EREAD OP_EVERSION OP_FALSE
14 OP_GET_SERVER_INFO_REQUEST OP_HEADER_GAIN OP_HOLE
15 OP_HTTP_PROXY_HOST_REQUEST OP_HTTP_PROXY_PASS_REQUEST
16 OP_HTTP_PROXY_PORT_REQUEST OP_HTTP_PROXY_USER_REQUEST OP_PIC_FORMAT_GIF
17 OP_PIC_FORMAT_JPEG OP_PIC_FORMAT_PNG OP_PIC_FORMAT_UNKNOWN
18 OP_PIC_FORMAT_URL OP_SSL_SKIP_CERTIFICATE_CHECK_REQUEST OP_TRACK_GAIN)) {
19 next if (eval "my \$a = $constname; 1");
20 if ($@ =~ /^Your vendor has not defined Audio::Opusfile macro $constname/) {
21 print "# pass: $@";
22 } else {
23 print "# fail: $@";
24 $fail = 1;
25 }
26
27}
28
29ok( $fail == 0 , 'Constants' );
30
31my $of = Audio::Opusfile->new_from_file('empty.opus');
5fbea9a2
MG
32ok $of->seekable, 'seekable';
33is $of->link_count, 1, 'link_count';
34is $of->serialno(0), 1745145935, 'serialno, arg=0';
35is $of->serialno(200), 1745145935, 'serialno, arg=200';
36is $of->serialno, 1745145935, 'serialno, no arg';
a3f1cbda
MG
37my $tags = $of->tags;
38is $tags->query_count('TITLE'), 1, 'query_count';
39is $tags->query('TITLE'), 'Cellule', 'query';
40is_deeply [$tags->query_all('TITLE')], ['Cellule'], 'query_all';
5fbea9a2
MG
41
42open my $fh, '<', 'empty.opus';
43read $fh, my $buf, 100;
44ok Audio::Opusfile::test($buf), 'test';
45
46seek $fh, 0, 0;
47read $fh, $buf, 20000;
48$of = Audio::Opusfile->new_from_memory($buf);
49is $of->tags->query('TITLE'), 'Cellule', 'new_from_memory + query';
This page took 0.012355 seconds and 4 git commands to generate.