Be aware that this branch (tests/unit) is not the main branch (version/7.4.x)!

Branches other than the main one may be experimental. In addition, you should be using stable releases rather than these test builds.

Go to main branch View stable downloads
View last successful build
Branch#StatusChangesFinished
tests/unit#7697Tests passed: 2502, ignored: 107
  • Add schematic I/O tests (Sponge v1/v2/v3, MCEdit) and intern test properties TestBlockRegistry now shares one Property instance per name, type and value list, as the real platforms do (CoreMcTransmogrifier's propertyCache). With that, the TypeApplyingPattern test in PatternParserTest passes, so it is re-enabled: it was a fixture artifact, not a bug. None of the other @Disabled findings depend on per-type Property instances. New tests in extent/clipboard/io: - SpongeSchematicRoundTripTest: write/read round trips for V2 and V3 over negative, degenerate and offset-origin regions, palettes of 1-2000 states, block entities, entities, biomes, size limits (V1 and MCEdit have no writer). - SpongeVarIntTest: sparse palette indices at every varint length edge (127/128, 16383/16384, up to Integer.MAX_VALUE) in hand-built V2/V3 files. - GoldenSchematicTest: tiny stored V1/V2/V3/MCEdit files (generated by a standalone script, not by WorldEdit) that must keep loading. - CorruptSchematicTest: truncation at every byte, garbage, missing/mistyped tags, bad palettes and varints, version mismatches. - SchematicDataFixerTest: when the DataFixer is applied and from which version, using a recording stand-in (real DFU needs Minecraft). - ClipboardFormatsTest: alias/extension registry and format detection. Real bugs found are recorded as @Disabled tests in CorruptSchematicTest: NPE on a palette index missing from the palette, block data length not checked against the dimensions (too short and too long), getDataVersion throwing for a foreign Version, and two ArrayIndexOutOfBounds cases in MCEditSchematicReader. (498c36ea by albert pham)
14 hours ago
tests/unit#7696Tests passed: 2249, ignored: 105
  • Add copy, history and extent tests Cover ForwardExtentCopy, OperationQueue/Operations, ChangeSetExecutor, ArrayListHistory/BlockOptimizedHistory undo/redo round-trips on random edit sequences, BlockArrayClipboard, masking/tracing/null/buffer/delegate extents, MultiStageReorder, ChunkBatchingExtent and EditSession buffering. Two real bugs found, recorded as @Disabled tests: - ChangeSetExtent(Extent, ChangeSet, boolean) ignores its 'enabled' argument - MultiStageReorder keeps earlier writes to a position in a different stage, so the last write does not always win (36439f7a by albert pham)
15 hours ago
tests/unit#7694Tests passed: 1941, ignored: 103
  • Add parser tests and mask/pattern algebra tests Table-driven tests for DefaultBlockParser (including the #3017 bracket and NBT handling), DefaultItemParser, and the mask and pattern parsers, plus algebraic-law tests for MaskIntersection/MaskUnion/Masks.negate, OffsetMask, OffsetsMask, BoundedHeightMask and RandomPattern weights, and quoted-argument cases for CommandArgParser. TestBlockRegistry now returns a minimal BlockMaterial (air vs solid) so existence masks work. Disabled tests record suspected bugs: empty block state list, malformed noise masks escaping as NumberFormatException, TypeApplyingPattern state carry-over, and the empty MaskIntersection result. (c5481ac3 by albert pham)
15 hours ago
tests/unit#7693Tests passed: 1759, ignored: 100
  • Add real-block-state test fixture and re-enable BlockTransformExtentTest Add TestBlockRegistry, TestRegistries and TestWorld plus test-blocks.json (50 blocks with real properties) so core tests no longer run against property-less blocks. BaseWorldEditTest now uses TestRegistries. Re-enable BlockTransformExtentTest on top of BaseWorldEditTest, fix its loop (it transformed the base state each pass), and check rotation and flip round-trips for every state of every fixture block. Add known-state transform tables and BlockState.with/getAllStates/FuzzyBlockState tests. Four real bugs found by the new tests are recorded as @Disabled tests: rail NPE on X/Z rotation, crafter orientation loss on Z rotation, down-facing hopper under vertical flip, door hinge not swapped on mirror. (acbadc6e by albert pham)
15 hours ago
tests/unit#7692Tests passed: 1263, ignored: 97
  • Add tests for visitors, collections, interpolation, noise, Direction and TargetBlock - Visitors are compared against a reference flood fill over random masks (uniqueness, breadth-first order, directions/diagonals, determinism). - Int2BaseBlockMap is checked against a HashMap model; DoubleArrayList against ArrayList. - Direction, TargetBlock ray cases, interpolation and noise invariants. Four tests are @Disabled because they expose production bugs, which are intentionally not fixed here: - LinearInterpolation throws IndexOutOfBounds at t=1.0 (getPosition, arcLength) and with a single node. - KochanekBartelsInterpolation.arcLength skips the last trapezoid sample and underestimates by about 1/8. - ReparametrisingInterpolation.get1stDerivative returns NaN for zero-length curves. (c34693cd by albert pham)
  • Add region contract, cuboid, degenerate-shape and selector tests - RegionContractTest: one parameterised contract (iterator count vs volume, contains vs iterator, bounding box, chunks/chunk cubes, shift, expand/contract, clone, flat-region agreement) over Cuboid, Cylinder, Ellipsoid, ConvexPolyhedral, Polygonal2D, RegionIntersection (incl. walls/faces) and TransformRegion. - CuboidRegionTest: dimensions/overflow, world Y clamping, expand/contract direction, faces/walls, chunks, jqwik properties. - RegionDegenerateShapesTest: undefined/planar hulls, zero/negative height. - RegionSelectorStateTest: select/clear/isDefined/IncompleteRegionException state machine for every RegionSelectorType with a mocked World. - BaseWorldEditTest now stubs the platform's TranslationManager so WorldEditException subclasses can be constructed in tests. Bugs found are reproduced in @Disabled tests (production code untouched): AbstractRegion.getChunks only scans the lowest Y layer; AbstractRegion.getVolume overflows int subtraction; CuboidRegion iterator breaks at Integer.MIN/MAX_VALUE; ConvexPolyhedralRegion leaves a stale lastTriangle after addVertex; fractional radius bounding boxes in Cylinder/Ellipsoid; Cylinder/Ellipsoid contract() direction flipped and radius clamp grows small shapes; negative cylinder height; TransformRegion bounds under rotation; RegionIntersection volume is its bounding box; empty/triangle convex hulls; selector vertex limit off by one and getPrimaryPosition not throwing. (5e7a7e97 by albert pham)
15 hours ago
tests/unit#7690Tests passed: 390, ignored: 2
  • Add unit tests for transforms and vector math jqwik property tests plus example tests for AffineTransform, CombinedTransform, ScaleAndTranslateTransform, Transforms, Vector2, Vector3, BlockVector2 and MathUtils. AffineTransformTest has one @Disabled test: the deprecated 9-element AffineTransform constructor (indexCoeffs) puts the zero holes at indices 3, 6, 9 instead of 3, 7, 11. Production code is unchanged. (a3609f00 by albert pham)
  • Improve Spigot compatibility of fallback code (#3045) (f6e79c61 by Maddy Miller)
    • Improve Spigot compatibility of fallback code
    • Allow the MethodHandle to be final (and do it to asCraftMirror too)
  • Throw early if not on Paper for regen 26.1+ (#3044) Closes #3043 (8bb9d91b by Octavia Togami)
16 hours ago
  • «
  • 1
  • »