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