2
@file cache/component/history.cpp
3
@author Peter Rockai <me@mornfall.net>
6
#include <apt-front/cache/component/history.h>
7
#include <apt-front/cache/component/state.h>
9
using namespace aptFront::cache;
10
using namespace aptFront::cache::component;
12
#ifdef COMPILE_TESTSUITE
13
#include "test-utils.h"
17
struct cache_component_history_shar {
19
cache_component_history_shar() {
21
c.open( Cache::OpenDefault | Cache::OpenReadOnly );
22
c.addComponent( new History<State>() );
26
TESTGRP( cache_component_history );
31
History<State> &s = c.component<History<State> >();
32
entity::Package p = c.packages().packageByName( "exim4" );
33
while (!p.canInstall()) {
38
ensure( p.markedInstall() );
39
ensure( !s.canRedo() );
40
ensure( s.canUndo() );
42
ensure( !s.canUndo() );
43
ensure( !p.markedInstall() );
44
ensure( s.canRedo() );
46
ensure( !s.canRedo() );
47
ensure( p.markedInstall() );
51
ensure( p.markedInstall() );
52
ensure( !s.canRedo() );
53
ensure( s.canUndo() );
55
ensure( !p.markedInstall() );
56
ensure( s.canRedo() );
57
ensure( !s.canUndo() );
63
History<State> &s = c.component<History<State> >();
64
entity::Package p = c.packages().packageByName( "exim4" );
65
while (!p.canInstall()) {
70
ensure( p.markedInstall() );
71
ensure( !s.canRedo() );
72
ensure( s.canUndo() );
74
ensure( !s.canUndo() );
75
ensure( !p.markedInstall() );
76
ensure( s.canRedo() );
78
ensure( !s.canUndo() );
79
ensure( !s.canRedo() );
85
History<State> &s = c.component<History<State> >();
86
entity::Package p = c.packages().packageByName( "exim4" );
87
while (!p.canInstall()) {
92
ensure( p.markedInstall() );
93
ensure( !s.canRedo() );
94
ensure( s.canUndo() );
96
ensure( !s.canUndo() );
97
ensure( !p.markedInstall() );
98
ensure( s.canRedo() );
101
ensure( !s.canUndo() );
102
ensure( !s.canRedo() );
105
template<> template<>
108
History<State> &s = c.component<History<State> >();
109
entity::Package p = c.packages().packageByName( "exim4" );
110
while (!p.canInstall()) {
113
s.setAutoCheckpoint( true );
115
ensure( p.markedInstall() );
116
ensure( !s.canRedo() );
117
ensure( s.canUndo() );
119
ensure( !s.canUndo() );
120
ensure( !p.markedInstall() );
121
ensure( s.canRedo() );
124
ensure( !s.canUndo() );
125
ensure( !s.canRedo() );
126
p = c.packages().packageByName( "exim4" );
127
while (!p.canInstall()) {
131
ensure( s.canUndo() );
132
ensure( !s.canRedo() );
134
ensure( s.canUndo() );
135
ensure( !s.canRedo() );
137
ensure( s.canUndo() );
138
ensure( s.canRedo() );
140
ensure( !s.canUndo() );
142
ensure( s.canUndo() );
143
ensure( s.canRedo() );