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