Home / Class/ PlatformDependent0Test Class — netty Architecture

PlatformDependent0Test Class — netty Architecture

Architecture documentation for the PlatformDependent0Test class in PlatformDependent0Test.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  bfc50fb1_c677_20d5_4d80_2aeb2f0c547e["PlatformDependent0Test"]
  b5acbc7a_8dfc_383b_9bdd_428fdffa61eb["PlatformDependent0Test.java"]
  bfc50fb1_c677_20d5_4d80_2aeb2f0c547e -->|defined in| b5acbc7a_8dfc_383b_9bdd_428fdffa61eb
  48f90ad5_f4ff_2383_54bd_6961b93ceb38["assumeUnsafe()"]
  bfc50fb1_c677_20d5_4d80_2aeb2f0c547e -->|method| 48f90ad5_f4ff_2383_54bd_6961b93ceb38
  f03f03ad_34d8_a0ce_c0e6_41223e0264c3["testNewDirectBufferNegativeMemoryAddress()"]
  bfc50fb1_c677_20d5_4d80_2aeb2f0c547e -->|method| f03f03ad_34d8_a0ce_c0e6_41223e0264c3
  249addde_c99e_58d1_6033_6184eaf99b4e["testNewDirectBufferNonNegativeMemoryAddress()"]
  bfc50fb1_c677_20d5_4d80_2aeb2f0c547e -->|method| 249addde_c99e_58d1_6033_6184eaf99b4e
  8ebbb970_5b00_ca60_b1ab_44abd6e35599["testNewDirectBufferZeroMemoryAddress()"]
  bfc50fb1_c677_20d5_4d80_2aeb2f0c547e -->|method| 8ebbb970_5b00_ca60_b1ab_44abd6e35599
  c2990747_d76c_75ae_cb14_32117452fa22["testNewDirectBufferMemoryAddress()"]
  bfc50fb1_c677_20d5_4d80_2aeb2f0c547e -->|method| c2990747_d76c_75ae_cb14_32117452fa22
  48e9c0f8_660b_45e1_4681_497874670297["testMajorVersionFromJavaSpecificationVersion()"]
  bfc50fb1_c677_20d5_4d80_2aeb2f0c547e -->|method| 48e9c0f8_660b_45e1_4681_497874670297
  8a96991b_dfe3_48bb_ea2c_17a60a1da607["testMajorVersion()"]
  bfc50fb1_c677_20d5_4d80_2aeb2f0c547e -->|method| 8a96991b_dfe3_48bb_ea2c_17a60a1da607

Relationship Graph

Source Code

common/src/test/java/io/netty/util/internal/PlatformDependent0Test.java lines 27–94

public class PlatformDependent0Test {

    @BeforeAll
    public static void assumeUnsafe() {
        assumeTrue(PlatformDependent0.hasUnsafe());
        assumeTrue(PlatformDependent0.hasDirectBufferNoCleanerConstructor());
    }

    @Test
    public void testNewDirectBufferNegativeMemoryAddress() {
        testNewDirectBufferMemoryAddress(-1);
    }

    @Test
    public void testNewDirectBufferNonNegativeMemoryAddress() {
        testNewDirectBufferMemoryAddress(10);
    }

    @Test
    public void testNewDirectBufferZeroMemoryAddress() {
        PlatformDependent0.newDirectBuffer(0, 10);
    }

    private static void testNewDirectBufferMemoryAddress(long address) {
        assumeTrue(PlatformDependent0.hasDirectBufferNoCleanerConstructor());

        int capacity = 10;
        ByteBuffer buffer = PlatformDependent0.newDirectBuffer(address, capacity);
        assertEquals(address, PlatformDependent0.directBufferAddress(buffer));
        assertEquals(capacity, buffer.capacity());
    }

    @Test
    public void testMajorVersionFromJavaSpecificationVersion() {
        final SecurityManager current = System.getSecurityManager();

        try {
            System.setSecurityManager(new SecurityManager() {
                @Override
                public void checkPropertyAccess(String key) {
                    if (key.equals("java.specification.version")) {
                        // deny
                        throw new SecurityException(key);
                    }
                }

                // so we can restore the security manager
                @Override
                public void checkPermission(Permission perm) {
                }
            });

            assertEquals(6, PlatformDependent0.majorVersionFromJavaSpecificationVersion());
        } finally {
            System.setSecurityManager(current);
        }
    }

    @Test
    public void testMajorVersion() {
        assertEquals(6, PlatformDependent0.majorVersion("1.6"));
        assertEquals(7, PlatformDependent0.majorVersion("1.7"));
        assertEquals(8, PlatformDependent0.majorVersion("1.8"));
        assertEquals(8, PlatformDependent0.majorVersion("8"));
        assertEquals(9, PlatformDependent0.majorVersion("1.9")); // early version of JDK 9 before Project Verona
        assertEquals(9, PlatformDependent0.majorVersion("9"));
    }
}

Frequently Asked Questions

What is the PlatformDependent0Test class?
PlatformDependent0Test is a class in the netty codebase, defined in common/src/test/java/io/netty/util/internal/PlatformDependent0Test.java.
Where is PlatformDependent0Test defined?
PlatformDependent0Test is defined in common/src/test/java/io/netty/util/internal/PlatformDependent0Test.java at line 27.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free