Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/java/nio/Buffer/Order.java
41149 views
1
/*
2
* Copyright (c) 2001, 2016, 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
/* @test
25
* @bug 8065570
26
* @summary Unit test for X-Buffer.order methods
27
*/
28
29
import java.nio.*;
30
31
32
public class Order {
33
34
static final ByteOrder be = ByteOrder.BIG_ENDIAN;
35
static final ByteOrder le = ByteOrder.LITTLE_ENDIAN;
36
static final ByteOrder nord = ByteOrder.nativeOrder();
37
38
protected static final int LENGTH = 16;
39
40
static void ck(ByteOrder ord, ByteOrder expected) {
41
if (ord != expected)
42
throw new RuntimeException("Got " + ord + ", expected " + expected);
43
}
44
45
private static void ckViews(ByteBuffer bb) {
46
ck(bb.asCharBuffer().order(), bb.order());
47
ck(bb.asShortBuffer().order(), bb.order());
48
ck(bb.asIntBuffer().order(), bb.order());
49
ck(bb.asLongBuffer().order(), bb.order());
50
ck(bb.asFloatBuffer().order(), bb.order());
51
ck(bb.asDoubleBuffer().order(), bb.order());
52
}
53
54
private static void ckCopyViews(ByteBuffer bb) {
55
ck(bb.asReadOnlyBuffer().order(), be);
56
ck(bb.duplicate().order(), be);
57
ck(bb.slice().order(), be);
58
}
59
60
private static void ckByteBuffer(ByteBuffer bb) {
61
ckViews(bb);
62
ckCopyViews(bb);
63
bb.order(be);
64
ckViews(bb);
65
ckCopyViews(bb);
66
bb.order(le);
67
ckViews(bb);
68
ckCopyViews(bb);
69
}
70
71
public static void main(String args[]) throws Exception {
72
73
ck(ByteBuffer.wrap(new byte[LENGTH], LENGTH/2, LENGTH/2).order(), be);
74
ck(ByteBuffer.wrap(new byte[LENGTH]).order(), be);
75
ck(ByteBuffer.wrap(new byte[LENGTH], LENGTH/2, LENGTH/2).order(be).order(), be);
76
ck(ByteBuffer.wrap(new byte[LENGTH]).order(be).order(), be);
77
ck(ByteBuffer.wrap(new byte[LENGTH], LENGTH/2, LENGTH/2).order(le).order(), le);
78
ck(ByteBuffer.wrap(new byte[LENGTH]).order(le).order(), le);
79
ck(ByteBuffer.allocate(LENGTH).order(), be);
80
ck(ByteBuffer.allocateDirect(LENGTH).order(), be);
81
ck(ByteBuffer.allocate(LENGTH).order(be).order(), be);
82
ck(ByteBuffer.allocate(LENGTH).order(le).order(), le);
83
ck(ByteBuffer.allocateDirect(LENGTH).order(be).order(), be);
84
ck(ByteBuffer.allocateDirect(LENGTH).order(le).order(), le);
85
86
ckByteBuffer(ByteBuffer.allocate(LENGTH));
87
ckByteBuffer(ByteBuffer.allocateDirect(LENGTH));
88
89
OrderChar.ckCharBuffer();
90
OrderShort.ckShortBuffer();
91
OrderInt.ckIntBuffer();
92
OrderLong.ckLongBuffer();
93
OrderFloat.ckFloatBuffer();
94
OrderDouble.ckDoubleBuffer();
95
}
96
}
97
98