1 /* 2 * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /** 25 * JDK-8015958: DataView constructor is not defined 26 * 27 * @test 28 * @run 29 */ 30 31 // set/get endianess checks 32 33 var buffer = new ArrayBuffer(4); 34 var dv = new DataView(buffer); 35 36 // write (default) big endian, read big/little endian 37 dv.setUint16(0, 0xABCD); 38 Assert.assertEquals(dv.getUint16(0), 0xABCD); 39 Assert.assertEquals(dv.getUint16(0, false), 0xABCD); 40 Assert.assertEquals(dv.getUint16(0, true), 0xCDAB); 41 42 // write little endian, read big/little endian 43 dv.setUint16(0, 0xABCD, true); 44 Assert.assertEquals(dv.getUint16(0), 0xCDAB); 45 Assert.assertEquals(dv.getUint16(0, false), 0xCDAB); 46 Assert.assertEquals(dv.getUint16(0, true), 0xABCD); 47 48 // write explicit big endian, read big/little endian 49 dv.setUint16(0, 0xABCD, false); 50 Assert.assertEquals(dv.getUint16(0), 0xABCD); 51 Assert.assertEquals(dv.getUint16(0, false), 0xABCD); 52 Assert.assertEquals(dv.getUint16(0, true), 0xCDAB); 53 54 // write (default) big endian, read big/little endian 55 dv.setUint32(0, 0xABCDEF89); 56 Assert.assertEquals(dv.getUint32(0), 0xABCDEF89); 57 Assert.assertEquals(dv.getUint32(0, false), 0xABCDEF89); 58 Assert.assertEquals(dv.getUint32(0, true), 0x89EFCDAB); 59 60 // write little endian, read big/little endian 61 dv.setUint32(0, 0xABCDEF89, true); 62 Assert.assertEquals(dv.getUint32(0), 0x89EFCDAB); 63 Assert.assertEquals(dv.getUint32(0, false), 0x89EFCDAB); 64 Assert.assertEquals(dv.getUint32(0, true), 0xABCDEF89); 65 66 // write explicit big endian, read big/little endian 67 dv.setUint32(0, 0xABCDEF89, false); 68 Assert.assertEquals(dv.getUint32(0), 0xABCDEF89); 69 Assert.assertEquals(dv.getUint32(0, false), 0xABCDEF89); 70 Assert.assertEquals(dv.getUint32(0, true), 0x89EFCDAB);