1/*
2 * Copyright (c) 2015, 2021, 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/* Type-specific source code for unit test
25 *
26 * Regenerate the OrderX classes via genOrder.sh whenever this file changes.
27 * We check in the generated source files so that the test tree can be used
28 * independently of the rest of the source tree.
29 */
30package test.java.nio.Buffer;
31
32#warn This file is preprocessed before being compiled
33
34import java.nio.*;
35
36public class Order$Type$ extends Order {
37    private static void ck$Type$Buffer($Type$Buffer buf, ByteOrder expected) {
38        ck(buf.asReadOnlyBuffer().order(), expected);
39        ck(buf.duplicate().order(), expected);
40        ck(buf.slice().order(), expected);
41#if[char]
42        ck(buf.subSequence(buf.position(), buf.remaining()).order(), expected);
43        ck(buf.subSequence(buf.position(), buf.position()).order(), expected);
44#end[char]
45    }
46
47    static void ck$Type$Buffer() {
48        $type$[] array = new $type$[LENGTH];
49        $Type$Buffer buf = $Type$Buffer.wrap(array);
50        ck(buf.order(), nord);
51        ck$Type$Buffer(buf, nord);
52
53        buf = $Type$Buffer.wrap(array, LENGTH/2, LENGTH/2);
54        ck(buf.order(), nord);
55        ck$Type$Buffer(buf, nord);
56
57        buf = $Type$Buffer.allocate(LENGTH);
58        ck(buf.order(), nord);
59        ck$Type$Buffer(buf, nord);
60#if[char]
61        buf = $Type$Buffer.wrap("abcdefghijk");
62        ck(buf.order(), nord);
63        ck$Type$Buffer(buf, nord);
64
65        buf = $Type$Buffer.wrap("abcdefghijk", 0, 5);
66        ck(buf.order(), nord);
67        ck$Type$Buffer(buf, nord);
68
69        buf = $Type$Buffer.wrap(array).subSequence(0, LENGTH);
70        ck(buf.order(), nord);
71        ck$Type$Buffer(buf, nord);
72
73        buf = ByteBuffer.wrap(new byte[LENGTH]).as$Type$Buffer();
74        ck(buf.order(), be);
75        ck$Type$Buffer(buf, be);
76
77        buf = ByteBuffer.wrap(new byte[LENGTH]).order(le).as$Type$Buffer();
78        ck(buf.order(), le);
79        ck$Type$Buffer(buf, le);
80#end[char]
81    }
82}
83