Selkie.git | t/ | 109-distribution-metadata.rakutest


use Test;

plan 2;

my $root = $?FILE.IO.parent.parent;
my %meta = Rakudo::Internals::JSON.from-json(
	$root.add("META6.json").slurp,
);

is %meta<version>, "0.16.0",
	"distribution version is the pending Selkie release";

# 0.6.5 is a hard floor, not a courtesy bump. Everything the earlier
# floors required still holds (NOTCURSES-GET-ERROR, the Windows input
# path's CRT UTF-8 mode and blocking_write() descriptor guard), plus:
#   * 0.6.2's fork makes ESCAPE_CLEAR \e[H\e[2J rather than bare \e[2J —
#     ConPTY's ED(2) erases without homing the cursor while
#     clear_and_home() records it at 0,0, so on an earlier fork every
#     notcurses_refresh sprays its first row wherever the cursor sat.
#   * 0.6.3 pins the r15 fork whose interrogation deadline uses the
#     condvar's actual clock — before it, terminal detection timed out
#     instantly on macOS and Windows and handed back zeroed results
#     (no pixel support, no cell-pixel geometry, degraded blitters).
#   * 0.6.5 normalizes prebuilt stages to one real file per library, so
#     dlopen-by-bare-name and the SONAME dependency can never load two
#     images of libnotcurses-core (the macOS dual-dyld-image segfault
#     on the first pixel blit).
is-deeply %meta<depends>.grep(*.starts-with("Notcurses::Native")).List,
	("Notcurses::Native:ver<0.6.5+>:auth<zef:apogee>",).List,
	"Notcurses::Native has exactly the required Windows-loader dependency floor";