2 * Copyright (C) 2011 Tomáš Hubík <hubik.tomas@gmail.com>
4 * This file is part of the Deska, a tool for central administration of a grid site
5 * http://projects.flaska.net/projects/show/deska
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or the version 3 of the License.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; see the file COPYING. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA.
25 #include "MockCliEvent.h"
26 #include "FuzzyDeskaValue.h"
29 bool testChangesetsEqual(const Deska::Db::PendingChangeset
&a
, const Deska::Db::PendingChangeset
&b
)
31 return a
.revision
== b
.revision
&& a
.author
== b
.author
&&
32 a
.parentRevision
== b
.parentRevision
&& a
.message
== b
.message
&&
33 a
.attachStatus
== b
.attachStatus
&& a
.activeConnectionInfo
== b
.activeConnectionInfo
;
38 bool testRevisionsEqual(const Deska::Db::RevisionMetadata
&a
, const Deska::Db::RevisionMetadata
&b
)
40 return a
.revision
== b
.revision
&& a
.author
== b
.author
&& a
.timestamp
== b
.timestamp
&&
41 a
.commitMessage
== b
.commitMessage
;
44 bool fuzzyTestValueAttrEqual(const Deska::Cli::AttributeDefinition
&a
, const Deska::Cli::AttributeDefinition
&b
)
46 if (a
.attribute
!= b
.attribute
)
48 if ((a
.value
&& !b
.value
) || (!a
.value
&& b
.value
))
50 if (!a
.value
&& !b
.value
)
52 BOOST_ASSERT(a
.value
&& b
.value
);
54 boost::apply_visitor(FuzzyTestCompareDeskaValue(), *(a
.value
), *(b
.value
));
55 // The visitor asserts if it's different
59 bool fuzzyTestValueAttrOrigEqual(const std::pair
<Deska::Cli::AttributeDefinition
, Deska::Db::Identifier
> &a
,
60 const std::pair
<Deska::Cli::AttributeDefinition
, Deska::Db::Identifier
> &b
)
62 return (a
.second
== b
.second
) && fuzzyTestValueAttrEqual(a
.first
, b
.first
);
66 MockCliEvent
MockCliEvent::reportError(const std::string
&errorMessage
)
68 MockCliEvent
res(EVENT_REPORT_ERROR
);
69 res
.str1
= errorMessage
;
75 MockCliEvent
MockCliEvent::printMessage(const std::string
&message
)
77 MockCliEvent
res(EVENT_PRINT_MESSAGE
);
84 MockCliEvent
MockCliEvent::displayInPager(const std::string
&message
)
86 MockCliEvent
res(EVENT_DISPALY_IN_PAGER
);
93 MockCliEvent
MockCliEvent::editFile(const std::string
&fileName
)
95 MockCliEvent
res(EVENT_EDIT_FILE
);
102 MockCliEvent
MockCliEvent::confirmDeletion(const Deska::Cli::ObjectDefinition
&object
)
104 MockCliEvent
res(EVENT_CONFIRM_DELETION
);
111 MockCliEvent
MockCliEvent::returnConfirmDeletion(bool confirm
)
113 MockCliEvent
res(RETURN_CONFIRM_DELETION
);
114 res
.boolean
= confirm
;
120 MockCliEvent
MockCliEvent::confirmDeletionNested(const std::vector
<Deska::Cli::ObjectDefinition
> &nestedObjects
)
122 MockCliEvent
res(EVENT_CONFIRM_DELETION_NESTED
);
123 res
.objects
= nestedObjects
;
129 MockCliEvent
MockCliEvent::returnConfirmDeletionNested(bool confirm
)
131 MockCliEvent
res(RETURN_CONFIRM_DELETION_NESTED
);
132 res
.boolean
= confirm
;
138 MockCliEvent
MockCliEvent::confirmDeletionConnected(const std::vector
<Deska::Cli::ObjectDefinition
> &connectedObjects
)
140 MockCliEvent
res(EVENT_CONFIRM_DELETION_CONNECTED
);
141 res
.objects
= connectedObjects
;
147 MockCliEvent
MockCliEvent::returnConfirmDeletionConnected(bool confirm
)
149 MockCliEvent
res(RETURN_CONFIRM_DELETION_CONNECTED
);
150 res
.boolean
= confirm
;
155 MockCliEvent
MockCliEvent::confirmRenameConnected(const std::vector
<Deska::Cli::ObjectDefinition
> &connectedObjects
)
157 MockCliEvent
res(EVENT_CONFIRM_RENAME_CONNECTED
);
158 res
.objects
= connectedObjects
;
164 MockCliEvent
MockCliEvent::returnConfirmRenameConnected(bool confirm
)
166 MockCliEvent
res(RETURN_CONFIRM_RENAME_CONNECTED
);
167 res
.boolean
= confirm
;
173 MockCliEvent
MockCliEvent::confirmCreation(const Deska::Cli::ObjectDefinition
&object
)
175 MockCliEvent
res(EVENT_CONFIRM_CREATION
);
182 MockCliEvent
MockCliEvent::returnConfirmCreation(bool confirm
)
184 MockCliEvent
res(RETURN_CONFIRM_CREATION
);
185 res
.boolean
= confirm
;
191 MockCliEvent
MockCliEvent::confirmCreationConnection(const Deska::Cli::ObjectDefinition
&object
)
193 MockCliEvent
res(EVENT_CONFIRM_CREATION_CONNECTION_1
);
200 MockCliEvent
MockCliEvent::returnConfirmCreationConnection1(bool confirm
)
202 MockCliEvent
res(RETURN_CONFIRM_CREATION_CONNECTION_1
);
203 res
.boolean
= confirm
;
209 MockCliEvent
MockCliEvent::confirmCreationConnection(const Deska::Cli::ObjectDefinition
&object
, const std::vector
<Deska::Cli::ObjectDefinition
> &connectedObjects
)
211 MockCliEvent
res(EVENT_CONFIRM_CREATION_CONNECTION_2
);
212 res
.objects
= connectedObjects
;
219 MockCliEvent
MockCliEvent::returnConfirmCreationConnection2(bool confirm
)
221 MockCliEvent
res(RETURN_CONFIRM_CREATION_CONNECTION_2
);
222 res
.boolean
= confirm
;
228 MockCliEvent
MockCliEvent::confirmRestoration(const Deska::Cli::ObjectDefinition
&object
)
230 MockCliEvent
res(EVENT_CONFIRM_RESTORATION
);
237 MockCliEvent
MockCliEvent::returnConfirmRestoration(bool confirm
)
239 MockCliEvent
res(RETURN_CONFIRM_RESTORATION
);
240 res
.boolean
= confirm
;
246 MockCliEvent
MockCliEvent::askForConfirmation(const std::string
&message
)
248 MockCliEvent
res(EVENT_ASK_FOR_CONFIRMATION
);
255 MockCliEvent
MockCliEvent::returnAskForConfirmation(bool confirmed
)
257 MockCliEvent
res(RETURN_ASK_FOR_CONFIRMATION
);
258 res
.boolean
= confirmed
;
264 MockCliEvent
MockCliEvent::askForCommitMessage()
266 return MockCliEvent(EVENT_ASK_FOR_COMMIT_MESSAGE
);
271 MockCliEvent
MockCliEvent::returnAskForCommitMessage(const std::string
&message
)
273 MockCliEvent
res(RETURN_ASK_FOR_COMMIT_MESSAGE
);
280 MockCliEvent
MockCliEvent::askForDetachMessage()
282 return MockCliEvent(EVENT_ASK_FOR_DETACH_MESSAGE
);
287 MockCliEvent
MockCliEvent::returnAskForDetachMessage(const std::string
&message
)
289 MockCliEvent
res(RETURN_ASK_FOR_DETACH_MESSAGE
);
296 MockCliEvent
MockCliEvent::printHelp(const std::map
<std::string
, std::string
> &cliCommands
,
297 const std::map
<std::string
, std::string
> &parserKeywords
)
299 MockCliEvent
res(EVENT_PRINT_HELP
);
300 res
.map1
= cliCommands
;
301 res
.map2
= parserKeywords
;
307 MockCliEvent
MockCliEvent::printHelpCommand(const std::string
&cmdName
, const std::string
&cmdDscr
)
309 MockCliEvent
res(EVENT_PRINT_HELP_COMMAND
);
317 MockCliEvent
MockCliEvent::printHelpKeyword(const std::string
&keywordName
, const std::string
&keywordDscr
)
319 MockCliEvent
res(EVENT_PRINT_HELP_KEYWORD
);
320 res
.str1
= keywordName
;
321 res
.str2
= keywordDscr
;
327 MockCliEvent
MockCliEvent::printHelpKind(const std::string
&kindName
,
328 const std::vector
<std::pair
<std::string
, std::string
> > &kindAttrs
,
329 const std::vector
<std::string
> &nestedKinds
,
330 const std::vector
<std::pair
<std::string
, std::string
> > &containedKinds
,
331 const std::vector
<std::pair
<std::string
, std::string
> > &containableKinds
)
333 MockCliEvent
res(EVENT_PRINT_HELP_KIND
);
335 res
.vectpair1
= kindAttrs
;
336 res
.vectpair2
= containedKinds
;
337 res
.vectpair3
= containableKinds
;
338 res
.vect
= nestedKinds
;
344 MockCliEvent
MockCliEvent::printHelpShowKinds(const std::vector
<std::string
> &kinds
)
346 MockCliEvent
res(EVENT_PRINT_HELP_SHOW_KINDS
);
353 MockCliEvent
MockCliEvent::chooseChangeset(const std::vector
<Deska::Db::PendingChangeset
> &pendingChangesets
)
355 MockCliEvent
res(EVENT_CHOOSE_CHANGESET
);
356 res
.changesets
= pendingChangesets
;
362 MockCliEvent
MockCliEvent::returnChooseChangeset(int changeset
)
364 MockCliEvent
res(RETURN_CHOOSE_CHANGESET
);
365 res
.integer
= changeset
;
371 MockCliEvent
MockCliEvent::readLine(const std::string
&prompt
)
373 MockCliEvent
res(EVENT_READ_LINE
);
380 MockCliEvent
MockCliEvent::returnReadLine(const std::pair
<std::string
, bool> &line
)
382 MockCliEvent
res(RETURN_READ_LINE
);
389 MockCliEvent
MockCliEvent::printAttributes(const std::vector
<Deska::Cli::AttributeDefinition
> &attributes
, int indentLevel
,
392 MockCliEvent
res(EVENT_PRINT_ATTRIBUTES
);
393 res
.attrs
= attributes
;
394 res
.integer
= indentLevel
;
400 MockCliEvent
MockCliEvent::printAttribute(const Deska::Cli::AttributeDefinition
&attribute
, int indentLevel
,
403 MockCliEvent
res(EVENT_PRINT_ATTRIBUTE
);
404 res
.attr
= attribute
;
405 res
.integer
= indentLevel
;
411 MockCliEvent
MockCliEvent::printAttributesWithOrigin(
412 const std::vector
<std::pair
<Deska::Cli::AttributeDefinition
, Deska::Db::Identifier
> > &attributes
,
413 int indentLevel
, std::ostream
&out
)
415 MockCliEvent
res(EVENT_PRINT_ATTRIBUTES_WITH_ORIGIN
);
416 res
.attrsorig
= attributes
;
417 res
.integer
= indentLevel
;
423 MockCliEvent
MockCliEvent::printAttributeWithOrigin(const Deska::Cli::AttributeDefinition
&attribute
,
424 const Deska::Db::Identifier
&origin
, int indentLevel
,
427 MockCliEvent
res(EVENT_PRINT_ATTRIBUTE_WITH_ORIGIN
);
429 res
.attr
= attribute
;
430 res
.integer
= indentLevel
;
436 MockCliEvent
MockCliEvent::printObjects(const std::vector
<Deska::Cli::ObjectDefinition
> &objects
, int indentLevel
,
437 bool fullName
, std::ostream
&out
)
439 MockCliEvent
res(EVENT_PRINT_OBJECTS
);
440 res
.objects
= objects
;
441 res
.integer
= indentLevel
;
447 MockCliEvent
MockCliEvent::printObject(const Deska::Cli::ObjectDefinition
&object
, int indentLevel
, bool fullName
,
450 MockCliEvent
res(EVENT_PRINT_OBJECT
);
452 res
.integer
= indentLevel
;
458 MockCliEvent
MockCliEvent::printEnd(int indentLevel
, std::ostream
&out
)
460 MockCliEvent
res(EVENT_PRINT_END
);
461 res
.integer
= indentLevel
;
467 MockCliEvent
MockCliEvent::printRevisions(const std::vector
<Deska::Db::RevisionMetadata
> &allRevisions
)
469 MockCliEvent
res(EVENT_PRINT_REVISIONS
);
470 res
.revisions
= allRevisions
;
476 MockCliEvent
MockCliEvent::printDiff(const std::vector
<Deska::Db::ObjectModificationResult
> &objectsModifiactions
)
478 MockCliEvent
res(EVENT_PRINT_DIFF
);
479 res
.diff
= objectsModifiactions
;
485 MockCliEvent
MockCliEvent::addCommandCompletion(const std::string
&completion
)
487 MockCliEvent
res(EVENT_ADD_COMMAND_COMPLETION
);
488 res
.str1
= completion
;
494 MockCliEvent
MockCliEvent::invalid()
496 return MockCliEvent(EVENT_INVALID
);
501 bool MockCliEvent::inputEvent(const MockCliEvent
&m
) const
503 return ((m
.eventKind
== RETURN_CONFIRM_DELETION
) || (m
.eventKind
== RETURN_CONFIRM_DELETION_NESTED
)||
504 (m
.eventKind
== RETURN_CONFIRM_DELETION_CONNECTED
) || (m
.eventKind
== RETURN_CONFIRM_RENAME_CONNECTED
) ||
505 (m
.eventKind
== RETURN_CONFIRM_CREATION
) || (m
.eventKind
== RETURN_CONFIRM_CREATION_CONNECTION_1
) ||
506 (m
.eventKind
== RETURN_CONFIRM_CREATION_CONNECTION_2
) || (m
.eventKind
== RETURN_CONFIRM_RESTORATION
) ||
507 (m
.eventKind
== RETURN_ASK_FOR_COMMIT_MESSAGE
) || (m
.eventKind
== RETURN_ASK_FOR_DETACH_MESSAGE
) ||
508 (m
.eventKind
== RETURN_CHOOSE_CHANGESET
) || (m
.eventKind
== RETURN_READ_LINE
));
513 bool MockCliEvent::outputEvent(const MockCliEvent
&m
) const
515 return !(inputEvent(m
));
520 bool MockCliEvent::myReturn(const MockCliEvent
&other
) const
522 // Note that we're comparing EVENT_* against a matching RETURN_*
524 case EVENT_CONFIRM_DELETION
:
525 return other
.eventKind
== RETURN_CONFIRM_DELETION
;
526 case EVENT_CONFIRM_DELETION_NESTED
:
527 return other
.eventKind
== RETURN_CONFIRM_DELETION_NESTED
;
528 case EVENT_CONFIRM_DELETION_CONNECTED
:
529 return other
.eventKind
== RETURN_CONFIRM_DELETION_CONNECTED
;
530 case EVENT_CONFIRM_RENAME_CONNECTED
:
531 return other
.eventKind
== RETURN_CONFIRM_RENAME_CONNECTED
;
532 case EVENT_CONFIRM_CREATION
:
533 return other
.eventKind
== RETURN_CONFIRM_CREATION
;
534 case EVENT_CONFIRM_CREATION_CONNECTION_1
:
535 return other
.eventKind
== RETURN_CONFIRM_CREATION_CONNECTION_1
;
536 case EVENT_CONFIRM_CREATION_CONNECTION_2
:
537 return other
.eventKind
== RETURN_CONFIRM_CREATION_CONNECTION_2
;
538 case EVENT_CONFIRM_RESTORATION
:
539 return other
.eventKind
== RETURN_CONFIRM_RESTORATION
;
540 case EVENT_ASK_FOR_CONFIRMATION
:
541 return other
.eventKind
== RETURN_ASK_FOR_CONFIRMATION
;
542 case EVENT_ASK_FOR_COMMIT_MESSAGE
:
543 return other
.eventKind
== RETURN_ASK_FOR_COMMIT_MESSAGE
;
544 case EVENT_ASK_FOR_DETACH_MESSAGE
:
545 return other
.eventKind
== RETURN_ASK_FOR_DETACH_MESSAGE
;
546 case EVENT_CHOOSE_CHANGESET
:
547 return other
.eventKind
== RETURN_CHOOSE_CHANGESET
;
548 case EVENT_READ_LINE
:
549 return other
.eventKind
== RETURN_READ_LINE
;
557 bool MockCliEvent::operator==(const MockCliEvent
&other
) const
559 return eventKind
== other
.eventKind
&& str1
== other
.str1
&& str2
== other
.str2
&& integer
== other
.integer
&&
560 boolean
== other
.boolean
&& object
== other
.object
&& attr
== other
.attr
&& ident
== other
.ident
&&
561 strbool
== other
.strbool
&&
562 std::equal(map1
.begin(), map1
.end(), other
.map1
.begin()) &&
563 std::equal(map2
.begin(), map2
.end(), other
.map2
.begin()) &&
564 std::equal(vectpair1
.begin(), vectpair1
.end(), other
.vectpair1
.begin()) &&
565 std::equal(vectpair2
.begin(), vectpair2
.end(), other
.vectpair2
.begin()) &&
566 std::equal(vectpair3
.begin(), vectpair3
.end(), other
.vectpair3
.begin()) &&
567 std::equal(vect
.begin(), vect
.end(), other
.vect
.begin()) &&
568 std::equal(changesets
.begin(), changesets
.end(), other
.changesets
.begin(), testChangesetsEqual
) &&
569 std::equal(revisions
.begin(), revisions
.end(), other
.revisions
.begin(), testRevisionsEqual
) &&
570 std::equal(diff
.begin(), diff
.end(), other
.diff
.begin()) &&
571 std::equal(attrs
.begin(), attrs
.end(), other
.attrs
.begin(), fuzzyTestValueAttrEqual
) &&
572 std::equal(attrsorig
.begin(), attrsorig
.end(), other
.attrsorig
.begin(), fuzzyTestValueAttrOrigEqual
) &&
573 std::equal(objects
.begin(), objects
.end(), other
.objects
.begin());
578 MockCliEvent::MockCliEvent(Event e
): eventKind(e
), integer(int()), boolean(bool())
584 std::ostream
& operator<<(std::ostream
&out
, const std::map
<std::string
, std::string
> &m
)
587 for (std::map
<std::string
, std::string
>::const_iterator it
= m
.begin(); it
!= m
.end(); ++it
) {
590 out
<< "\"" << it
->first
<< "\":\"" << it
->second
<< "\"";
598 std::ostream
& operator<<(std::ostream
&out
, const std::vector
<std::pair
<std::string
, std::string
> > &v
)
601 for (std::vector
<std::pair
<std::string
, std::string
> >::const_iterator it
= v
.begin(); it
!= v
.end(); ++it
) {
604 out
<< "\"" << it
->first
<< "\":\"" << it
->second
<< "\"";
612 std::ostream
& operator<<(std::ostream
&out
, const std::vector
<std::string
> &v
)
615 for (std::vector
<std::string
>::const_iterator it
= v
.begin(); it
!= v
.end(); ++it
) {
618 out
<< "\"" << *it
<< "\"";
626 std::ostream
& operator<<(std::ostream
&out
,
627 const std::vector
<std::pair
<Deska::Cli::AttributeDefinition
, Deska::Db::Identifier
> > &v
)
630 for (std::vector
<std::pair
<Deska::Cli::AttributeDefinition
, Deska::Db::Identifier
> >::const_iterator it
= v
.begin();
631 it
!= v
.end(); ++it
) {
634 if (it
->second
.empty())
637 out
<< it
->first
<< "->" << it
->second
;
645 template <typename T
>
646 std::ostream
& operator<<(std::ostream
&out
, const std::vector
<T
> &v
)
649 for (typename
std::vector
<T
>::const_iterator it
= v
.begin(); it
!= v
.end(); ++it
) {
660 std::ostream
& operator<<(std::ostream
&out
, const MockCliEvent
&m
)
662 switch (m
.eventKind
) {
663 case MockCliEvent::EVENT_REPORT_ERROR
:
664 out
<< "reportError( \"" << m
.str1
<< "\" )";
666 case MockCliEvent::EVENT_PRINT_MESSAGE
:
667 out
<< "printMessage( \"" << m
.str1
<< "\" )";
669 case MockCliEvent::EVENT_DISPALY_IN_PAGER
:
670 out
<< "displayInPager( \"" << m
.str1
<< "\" )";
672 case MockCliEvent::EVENT_EDIT_FILE
:
673 out
<< "editFile( \"" << m
.str1
<< "\" )";
675 case MockCliEvent::EVENT_CONFIRM_DELETION
:
676 out
<< "confirmDeletion( " << *(m
.object
) << " )";
678 case MockCliEvent::RETURN_CONFIRM_DELETION
:
679 out
<< "returnConfirmDeletion( " << m
.boolean
<< " )";
681 case MockCliEvent::EVENT_CONFIRM_DELETION_NESTED
:
682 out
<< "confirmDeletionNested( " << m
.objects
<< " )";
684 case MockCliEvent::RETURN_CONFIRM_DELETION_NESTED
:
685 out
<< "returnconfirmDeletionNested( " << m
.boolean
<< " )";
687 case MockCliEvent::EVENT_CONFIRM_DELETION_CONNECTED
:
688 out
<< "confirmDeletionConnected( " << m
.objects
<< " )";
690 case MockCliEvent::RETURN_CONFIRM_DELETION_CONNECTED
:
691 out
<< "returnconfirmDeletionConnected( " << m
.boolean
<< " )";
693 case MockCliEvent::EVENT_CONFIRM_RENAME_CONNECTED
:
694 out
<< "confirmRenameConnected( " << m
.objects
<< " )";
696 case MockCliEvent::RETURN_CONFIRM_RENAME_CONNECTED
:
697 out
<< "returnconfirmRenameConnected( " << m
.boolean
<< " )";
699 case MockCliEvent::EVENT_CONFIRM_CREATION
:
700 out
<< "confirmCreation( " << *(m
.object
) << " )";
702 case MockCliEvent::RETURN_CONFIRM_CREATION
:
703 out
<< "returnConfirmCreation( " << m
.boolean
<< " )";
705 case MockCliEvent::EVENT_CONFIRM_CREATION_CONNECTION_1
:
706 out
<< "confirmCreationConnection( " << *(m
.object
) << " )";
708 case MockCliEvent::RETURN_CONFIRM_CREATION_CONNECTION_1
:
709 out
<< "returnConfirmCreation( " << m
.boolean
<< " )";
711 case MockCliEvent::EVENT_CONFIRM_CREATION_CONNECTION_2
:
712 out
<< "confirmCreationConnection( " << *(m
.object
) << ", " << m
.objects
<< " )";
714 case MockCliEvent::RETURN_CONFIRM_CREATION_CONNECTION_2
:
715 out
<< "returnConfirmCreation( " << m
.boolean
<< " )";
717 case MockCliEvent::EVENT_CONFIRM_RESTORATION
:
718 out
<< "confirmRestoration( " << *(m
.object
) << " )";
720 case MockCliEvent::RETURN_CONFIRM_RESTORATION
:
721 out
<< "returnConfirmRestoration( " << m
.boolean
<< " )";
723 case MockCliEvent::EVENT_ASK_FOR_CONFIRMATION
:
724 out
<< "askForConfirmation( \"" << m
.str1
<< "\" )";
726 case MockCliEvent::RETURN_ASK_FOR_CONFIRMATION
:
727 out
<< "returnAskForConfirmation( " << m
.boolean
<< " )";
729 case MockCliEvent::EVENT_ASK_FOR_COMMIT_MESSAGE
:
730 out
<< "askForCommitMessage()";
732 case MockCliEvent::RETURN_ASK_FOR_COMMIT_MESSAGE
:
733 out
<< "returnAskForCommitMessage( \"" << m
.str1
<< "\" )";
735 case MockCliEvent::EVENT_ASK_FOR_DETACH_MESSAGE
:
736 out
<< "askForDetachMessage()";
738 case MockCliEvent::RETURN_ASK_FOR_DETACH_MESSAGE
:
739 out
<< "returnAskForDetachMessage( \"" << m
.str1
<< "\" )";
741 case MockCliEvent::EVENT_PRINT_HELP
:
742 out
<< "printHelp( " << m
.map1
<< ", " << m
.map2
<< " )";
744 case MockCliEvent::EVENT_PRINT_HELP_COMMAND
:
745 out
<< "printHelpCommand( \"" << m
.str1
<< "\", \"" << m
.str2
<< "\" )";
747 case MockCliEvent::EVENT_PRINT_HELP_KEYWORD
:
748 out
<< "printHelpKeyword( \"" << m
.str1
<< "\", \"" << m
.str2
<< "\" )";
750 case MockCliEvent::EVENT_PRINT_HELP_KIND
:
751 out
<< "printHelpKind( \"" << m
.str1
<< "\", " << m
.vectpair1
<< ", " << m
.vect
<< ", " << m
.vectpair2
<< ", " << m
.vectpair3
<< " )";
753 case MockCliEvent::EVENT_PRINT_HELP_SHOW_KINDS
:
754 out
<< "printHelpShowKinds( " << m
.vect
<< " )";
756 case MockCliEvent::EVENT_CHOOSE_CHANGESET
:
757 out
<< "chooseChangeset( " << m
.changesets
<< " )";
759 case MockCliEvent::RETURN_CHOOSE_CHANGESET
:
760 out
<< "returnChooseChangeset( " << m
.integer
<< " )";
762 case MockCliEvent::EVENT_READ_LINE
:
763 out
<< "readLine( \"" << m
.str1
<< "\" )";
765 case MockCliEvent::RETURN_READ_LINE
:
766 out
<< "returnReadLine( \"" << m
.strbool
.first
<< "\", " << m
.strbool
.second
<< " )";
768 case MockCliEvent::EVENT_PRINT_ATTRIBUTES
:
769 out
<< "printAttributes( " << m
.attrs
<< ", " << m
.integer
<< " )";
771 case MockCliEvent::EVENT_PRINT_ATTRIBUTE
:
772 out
<< "printAttribute( " << *(m
.attr
) << ", " << m
.integer
<< " )";
774 case MockCliEvent::EVENT_PRINT_ATTRIBUTES_WITH_ORIGIN
:
775 out
<< "printAttributesWithOrigin( " << m
.attrsorig
<< ", " << m
.integer
<< " )";
777 case MockCliEvent::EVENT_PRINT_ATTRIBUTE_WITH_ORIGIN
:
778 out
<< "printAttributeWithOrigin( " << *(m
.attr
) << ", " << m
.ident
<< ", " << m
.integer
<< " )";
780 case MockCliEvent::EVENT_PRINT_OBJECTS
:
781 out
<< "printObjects( " << m
.objects
<< ", " << m
.integer
<< " )";
783 case MockCliEvent::EVENT_PRINT_OBJECT
:
784 out
<< "printObject( " << *(m
.object
) << ", " << m
.integer
<< " )";
786 case MockCliEvent::EVENT_PRINT_END
:
787 out
<< "printEnd( " << m
.integer
<< " )";
789 case MockCliEvent::EVENT_PRINT_REVISIONS
:
790 out
<< "printRevisions( " << m
.revisions
<< " )";
792 case MockCliEvent::EVENT_PRINT_DIFF
:
793 out
<< "printDiff( " << m
.diff
<< " )";
795 case MockCliEvent::EVENT_ADD_COMMAND_COMPLETION
:
796 out
<< "addCommandCompletion( \"" << m
.str1
<< "\" )";
798 case MockCliEvent::EVENT_INVALID
: