Skip to content

Commit a28196c

Browse files
committed
Setup neo unit tests
not working yet
1 parent 0e4c9ed commit a28196c

File tree

3 files changed

+61
-1
lines changed

3 files changed

+61
-1
lines changed

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ minecraft = "1.21.3"
1616
parchment = "1.21:2024.07.28"
1717
vineflower = "1.10.1"
1818
spotless = "6.25.0"
19-
neoforge = "21.3.10-beta"
19+
neoforge = "21.3.56"
2020
neoform = "1.21.3-20241023.131943"
2121

2222
[libraries]

neoforge/build.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ neoForge {
2626
sourceSet(sourceSets.main.get())
2727
}
2828
}
29+
30+
unitTest {
31+
enable()
32+
testedMod = mods.named("adventure-platform-neoforge")
33+
}
2934
}
3035

3136
configurations.jarJar {
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/*
2+
* This file is part of adventure-platform-mod, licensed under the MIT License.
3+
*
4+
* Copyright (c) 2023-2024 KyoriPowered
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining a copy
7+
* of this software and associated documentation files (the "Software"), to deal
8+
* in the Software without restriction, including without limitation the rights
9+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
* copies of the Software, and to permit persons to whom the Software is
11+
* furnished to do so, subject to the following conditions:
12+
*
13+
* The above copyright notice and this permission notice shall be included in all
14+
* copies or substantial portions of the Software.
15+
*
16+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+
* SOFTWARE.
23+
*/
24+
package net.kyori.adventure.platform.neoforge;
25+
26+
import net.minecraft.SharedConstants;
27+
import net.minecraft.server.Bootstrap;
28+
import org.junit.jupiter.api.Test;
29+
import org.spongepowered.asm.mixin.MixinEnvironment;
30+
import org.spongepowered.asm.service.MixinService;
31+
32+
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
33+
34+
class MixinAuditTest {
35+
@Test
36+
void testMixinApplication() {
37+
SharedConstants.tryDetectVersion();
38+
Bootstrap.bootStrap();
39+
Bootstrap.validate();
40+
41+
System.out.println(System.identityHashCode(Bootstrap.class));
42+
System.out.println(Bootstrap.class.getClassLoader());
43+
try {
44+
final Class<?> m = MixinService.getService()
45+
.getClassProvider().findClass(Bootstrap.class.getName());
46+
47+
System.out.println(System.identityHashCode(m));
48+
System.out.println(m.getClassLoader());
49+
} catch (ClassNotFoundException e) {
50+
throw new RuntimeException(e);
51+
}
52+
53+
assertDoesNotThrow(() -> MixinEnvironment.getCurrentEnvironment().audit());
54+
}
55+
}

0 commit comments

Comments
 (0)