1627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert/*
2627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * Copyright (C) 2010 The Android Open Source Project
3627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert *
4627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License");
5627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * you may not use this file except in compliance with the License.
6627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * You may obtain a copy of the License at
7627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert *
8627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert *      http://www.apache.org/licenses/LICENSE-2.0
9627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert *
10627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * Unless required by applicable law or agreed to in writing, software
11627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * distributed under the License is distributed on an "AS IS" BASIS,
12627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * See the License for the specific language governing permissions and
14627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * limitations under the License.
15627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert */
16627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert
17627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringertpackage android.graphics;
18627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert
19627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringertimport android.os.ParcelFileDescriptor;
20627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringertimport android.test.suitebuilder.annotation.SmallTest;
21627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert
22627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringertimport java.io.ByteArrayOutputStream;
23627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringertimport java.io.FileDescriptor;
24627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert
25627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringertimport junit.framework.TestCase;
26627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert
27627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert
28627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringertpublic class BitmapFactoryTest extends TestCase {
29627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert
30627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert    // tests that we can decode bitmaps from MemoryFiles
31627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert    @SmallTest
32627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert    public void testBitmapParcelFileDescriptor() throws Exception {
33627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert        Bitmap bitmap1 = Bitmap.createBitmap(
34627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert                new int[] { Color.BLUE }, 1, 1, Bitmap.Config.RGB_565);
35627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert        ByteArrayOutputStream out = new ByteArrayOutputStream();
36627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert        bitmap1.compress(Bitmap.CompressFormat.PNG, 100, out);
37627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert        ParcelFileDescriptor pfd = ParcelFileDescriptor.fromData(out.toByteArray(), null);
38627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert        FileDescriptor fd = pfd.getFileDescriptor();
39627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert        assertNotNull("Got null FileDescriptor", fd);
40627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert        assertTrue("Got invalid FileDescriptor", fd.valid());
41627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert        Bitmap bitmap = BitmapFactory.decodeFileDescriptor(fd);
42627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert        assertNotNull("BitmapFactory returned null", bitmap);
43627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert        assertEquals("Bitmap width", 1, bitmap.getWidth());
44627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert        assertEquals("Bitmap height", 1, bitmap.getHeight());
45627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert    }
46627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert
47627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert}
48