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 }