1*9c6edfabSespie#! /usr/bin/perl
2*9c6edfabSespie# $OpenBSD: check-beautify,v 1.1 2019/07/06 19:39:43 espie Exp $
3*9c6edfabSespie# Written by Marc Espie
4*9c6edfabSespie# Public domain
5*9c6edfabSespieuse strict;
6*9c6edfabSespieuse warnings;
7*9c6edfabSespieuse OpenBSD::UpdateSet;
8*9c6edfabSespieuse OpenBSD::Handle;
9*9c6edfabSespieuse Test::Simple tests => 2;
10*9c6edfabSespie
11*9c6edfabSespiepackage MockRepo;
12*9c6edfabSespiesub installed
13*9c6edfabSespie{
14*9c6edfabSespie	return 'MockInstalled';
15*9c6edfabSespie}
16*9c6edfabSespie
17*9c6edfabSespiepackage MockInstalled;
18*9c6edfabSespiesub find
19*9c6edfabSespie{
20*9c6edfabSespie	return undef;
21*9c6edfabSespie}
22*9c6edfabSespiepackage MockState;
23*9c6edfabSespie
24*9c6edfabSespiesub repo
25*9c6edfabSespie{
26*9c6edfabSespie	return 'MockRepo';
27*9c6edfabSespie}
28*9c6edfabSespie
29*9c6edfabSespiepackage main;
30*9c6edfabSespie
31*9c6edfabSespiemy $state = "MockState";
32*9c6edfabSespie
33*9c6edfabSespiesub create_set
34*9c6edfabSespie{
35*9c6edfabSespie	my ($older, $newer) = @_;
36*9c6edfabSespie	my $u1 = OpenBSD::UpdateSet->new($state);
37*9c6edfabSespie	for my $i (@$newer) {
38*9c6edfabSespie		$u1->add_newer(OpenBSD::Handle->create_new($i));
39*9c6edfabSespie	}
40*9c6edfabSespie	for my $i (@$older) {
41*9c6edfabSespie		$u1->add_older(OpenBSD::Handle->create_old($i, $state));
42*9c6edfabSespie	}
43*9c6edfabSespie	return $u1;
44*9c6edfabSespie
45*9c6edfabSespie}
46*9c6edfabSespie
47*9c6edfabSespiesub check_print
48*9c6edfabSespie{
49*9c6edfabSespie	my ($u, $r) = @_;
50*9c6edfabSespie	if ($u->print eq $r) {
51*9c6edfabSespie		return 1;
52*9c6edfabSespie	} else {
53*9c6edfabSespie		print STDERR $u->print, " vs ", $r, "\n";
54*9c6edfabSespie		return 0;
55*9c6edfabSespie	}
56*9c6edfabSespie}
57*9c6edfabSespie
58*9c6edfabSespiemy $u1 = create_set([qw(cups-2.9 cups-libs-2.9 mupdf-2.5)], [qw(mupdf-2.5 cups-3.1 cups-libs-3.1)]);
59*9c6edfabSespie
60*9c6edfabSespieok(check_print($u1,
61*9c6edfabSespie    'cups-2.9+cups-libs-2.9+mupdf-2.5->cups-3.1+cups-libs-3.1+mupdf-2.5'));
62*9c6edfabSespie
63*9c6edfabSespie$u1->move_kept(OpenBSD::Handle->create_old('mupdf-2.5', $state));
64*9c6edfabSespieok(check_print($u1, '[mupdf-2.5]cups+cups-libs-2.9->3.1'));
65