#include "gromacs/commandline/cmdlinemodulemanager.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/options.h"
-#include "gromacs/utility/file.h"
+#include "gromacs/utility/textwriter.h"
#include "gromacs/onlinehelp/tests/mock_helptopic.h"
#include "testutils/cmdlinetest.h"
};
CommandLine args(cmdline);
initManager(args, "test");
- redirectManagerOutput();
addModule("module", "First module");
addModule("other", "Second module");
addHelpTopic("topic", "Test topic");
int rc = 0;
ASSERT_NO_THROW_GMX(rc = manager().run(args.argc(), args.argv()));
ASSERT_EQ(0, rc);
- checkRedirectedOutputFiles();
+ checkRedirectedOutput();
}
TEST_F(CommandLineHelpModuleTest, PrintsHelpOnTopic)
};
CommandLine args(cmdline);
initManager(args, "test");
- redirectManagerOutput();
addModule("module", "First module");
MockHelpTopic &topic = addHelpTopic("topic", "Test topic");
topic.addSubTopic("sub1", "Subtopic 1", "");
int rc = 0;
ASSERT_NO_THROW_GMX(rc = manager().run(args.argc(), args.argv()));
ASSERT_EQ(0, rc);
- checkRedirectedOutputFiles();
+ checkRedirectedOutput();
}
/*! \brief
"test", "help", "-export", "rst"
};
// TODO: Find a more elegant solution, or get rid of the links.dat altogether.
- gmx::File::writeFileFromString("links.dat", "");
- CommandLine args(cmdline);
+ gmx::TextWriter::writeFileFromString("links.dat", "");
+ CommandLine args(cmdline);
initManager(args, "test");
- redirectManagerOutput();
MockOptionsModule &mod1 = addOptionsModule("module", "First module");
MockOptionsModule &mod2 = addOptionsModule("other", "Second module");
{
gmx::CommandLineModuleGroup group = manager().addModuleGroup("Group 2");
group.addModule("other");
}
+ MockHelpTopic &topic1 = addHelpTopic("topic1", "Test topic");
+ MockHelpTopic &sub1 = topic1.addSubTopic("sub1", "Subtopic 1", "Sub text");
+ MockHelpTopic &sub2 = topic1.addSubTopic("sub2", "Subtopic 2", "Sub text");
+ MockHelpTopic &sub3 = topic1.addSubTopic("other", "Out-of-order subtopic", "Sub text");
+ MockHelpTopic &topic2 = addHelpTopic("topic2", "Another topic");
using ::testing::_;
using ::testing::Invoke;
EXPECT_CALL(mod1, initOptions(_)).WillOnce(Invoke(&initOptionsBasic));
EXPECT_CALL(mod2, initOptions(_));
+ EXPECT_CALL(topic1, writeHelp(_));
+ EXPECT_CALL(sub1, writeHelp(_));
+ EXPECT_CALL(sub2, writeHelp(_));
+ EXPECT_CALL(sub3, writeHelp(_));
+ EXPECT_CALL(topic2, writeHelp(_));
int rc = 0;
ASSERT_NO_THROW_GMX(rc = manager().run(args.argc(), args.argv()));
ASSERT_EQ(0, rc);
- checkRedirectedOutputFiles();
+ checkRedirectedOutput();
std::remove("links.dat");
}