Home | History | Annotate | Download | only in cpio
      1 /*
      2  * Licensed to the Apache Software Foundation (ASF) under one
      3  * or more contributor license agreements.  See the NOTICE file
      4  * distributed with this work for additional information
      5  * regarding copyright ownership.  The ASF licenses this file
      6  * to you under the Apache License, Version 2.0 (the
      7  * "License"); you may not use this file except in compliance
      8  * with the License.  You may obtain a copy of the License at
      9  *
     10  * http://www.apache.org/licenses/LICENSE-2.0
     11  *
     12  * Unless required by applicable law or agreed to in writing,
     13  * software distributed under the License is distributed on an
     14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     15  * KIND, either express or implied.  See the License for the
     16  * specific language governing permissions and limitations
     17  * under the License.
     18  */
     19 package org.apache.commons.compress.archivers.cpio;
     20 
     21 import org.junit.Test;
     22 
     23 import static org.junit.Assert.assertArrayEquals;
     24 import static org.junit.Assert.assertEquals;
     25 
     26 public class CpioUtilTest {
     27 
     28     @Test
     29     public void oldBinMagic2ByteArrayNotSwapped() {
     30         assertArrayEquals(new byte[] { (byte) 0xc7, 0x71 },
     31                           CpioUtil.long2byteArray(CpioConstants.MAGIC_OLD_BINARY,
     32                                                   2, false));
     33     }
     34 
     35     @Test
     36     public void oldBinMagic2ByteArraySwapped() {
     37         assertArrayEquals(new byte[] { 0x71, (byte) 0xc7,  },
     38                           CpioUtil.long2byteArray(CpioConstants.MAGIC_OLD_BINARY,
     39                                                   2, true));
     40     }
     41 
     42     @Test
     43     public void oldBinMagicFromByteArrayNotSwapped() {
     44         assertEquals(CpioConstants.MAGIC_OLD_BINARY,
     45                      CpioUtil.byteArray2long(new byte[] { (byte) 0xc7, 0x71 },
     46                                              false));
     47     }
     48 
     49     @Test
     50     public void oldBinMagicFromByteArraySwapped() {
     51         assertEquals(CpioConstants.MAGIC_OLD_BINARY,
     52                      CpioUtil.byteArray2long(new byte[] { 0x71, (byte) 0xc7 },
     53                                              true));
     54     }
     55 
     56 
     57     @Test(expected = UnsupportedOperationException.class)
     58     public void testLong2byteArrayWithZeroThrowsUnsupportedOperationException() {
     59 
     60         CpioUtil.long2byteArray(0L, 0, false);
     61 
     62     }
     63 
     64 
     65     @Test(expected = UnsupportedOperationException.class)
     66     public void testLong2byteArrayWithPositiveThrowsUnsupportedOperationException() {
     67 
     68         CpioUtil.long2byteArray(0L, 1021, false);
     69 
     70     }
     71 
     72 
     73     @Test(expected = UnsupportedOperationException.class)
     74     public void testByteArray2longThrowsUnsupportedOperationException() {
     75 
     76         byte[] byteArray = new byte[1];
     77 
     78         CpioUtil.byteArray2long(byteArray, true);
     79 
     80     }
     81 
     82 
     83 }