WriteOutputStream.java revision 8729:0242fce0f717
155714Skris/*
255714Skris * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
355714Skris * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
455714Skris *
555714Skris * This code is free software; you can redistribute it and/or modify it
655714Skris * under the terms of the GNU General Public License version 2 only, as
755714Skris * published by the Free Software Foundation.
855714Skris *
955714Skris * This code is distributed in the hope that it will be useful, but WITHOUT
1055714Skris * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1155714Skris * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
1255714Skris * version 2 for more details (a copy is included in the LICENSE file that
1355714Skris * accompanied this code).
1455714Skris *
1555714Skris * You should have received a copy of the GNU General Public License version
1655714Skris * 2 along with this work; if not, write to the Free Software Foundation,
1755714Skris * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
1855714Skris *
1955714Skris * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2055714Skris * or visit www.oracle.com if you need additional information or have any
2155714Skris * questions.
2255714Skris */
2355714Skris
2455714Skris/* @test
2555714Skris   @summary Test RiffWriter(OutputStream) constructor */
2655714Skris
2755714Skrisimport java.io.ByteArrayInputStream;
2855714Skrisimport java.io.ByteArrayOutputStream;
2955714Skrisimport java.io.File;
3055714Skris
3155714Skrisimport javax.sound.sampled.*;
3255714Skris
3355714Skrisimport com.sun.media.sound.*;
3455714Skris
3555714Skrispublic class WriteOutputStream {
3655714Skris
3755714Skris    private static void assertEquals(Object a, Object b) throws Exception
3855714Skris    {
3955714Skris        if(!a.equals(b))
4055714Skris            throw new RuntimeException("assertEquals fails!");
4155714Skris    }
4255714Skris
4355714Skris    public static void main(String[] args) throws Exception {
4455714Skris        RIFFWriter writer = null;
4555714Skris        RIFFReader reader = null;
4655714Skris        File tempfile = File.createTempFile("test",".riff");
4755714Skris        try
4855714Skris        {
4955714Skris            ByteArrayOutputStream baos = new ByteArrayOutputStream();
5055714Skris            writer = new RIFFWriter(baos, "TEST");
5155714Skris            RIFFWriter chunk = writer.writeChunk("TSCH");
5255714Skris            chunk.write((byte)33);
5355714Skris            writer.close();
5455714Skris            writer = null;
5555714Skris            ByteArrayInputStream fis = new ByteArrayInputStream(baos.toByteArray());
5655714Skris            reader = new RIFFReader(fis);
5755714Skris            assertEquals(reader.getFormat(), "RIFF");
5855714Skris            assertEquals(reader.getType(), "TEST");
5955714Skris            RIFFReader readchunk = reader.nextChunk();
6055714Skris            assertEquals(readchunk.getFormat(), "TSCH");
6155714Skris            assertEquals(readchunk.read(), 33);
6255714Skris            fis.close();
6355714Skris            reader = null;
6455714Skris
6555714Skris
6655714Skris        }
6755714Skris        finally
6855714Skris        {
6955714Skris            if(writer != null)
7055714Skris                writer.close();
7155714Skris            if(reader != null)
7255714Skris                reader.close();
7355714Skris
7455714Skris            if(tempfile.exists())
7555714Skris                if(!tempfile.delete())
7655714Skris                    tempfile.deleteOnExit();
7755714Skris        }
7855714Skris    }
7955714Skris}
8055714Skris