flightgear/test_suite/formatting.cxx
2022-10-20 20:29:11 +08:00

83 lines
2.0 KiB
C++

/*
* Copyright (C) 2016 Edward d'Auvergne
*
* This file is part of the program FlightGear.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <string>
#include "formatting.hxx"
using namespace std;
// Printout of a section label.
void printSection(CppUnit::OStream &stream, const string &text)
{
// Declarations.
string::size_type width = text.size();
// Format the text.
stream << endl;
stream << text << endl;
stream << string(width, '=') << endl << endl;
}
// Print a summary line.
void printSummaryLine(CppUnit::OStream &stream, const string &name, int passed)
{
// Declarations.
int n;
string dots, state;
// Passed.
if (!passed)
state = "OK";
// Skipped.
else if (passed == -1)
state = "Skipped";
// Failed.
else
state = "Failed";
// Dots.
n = WIDTH_DIVIDER - name.size() - state.size() - 6;
dots = string(n, '.');
// Write out the line.
stream << name;
stream << " " << dots << " ";
stream << "[ " << state << " ]" << endl;
}
// Printout of a title label.
void printTitle(CppUnit::OStream &stream, const string &text)
{
// Declarations.
string::size_type width = text.size() + 4;
// Format the text.
stream << endl << endl;
stream << string(width, '=') << endl;
stream << "= " << text << " =" << endl;
stream << string(width, '=') << endl << endl;
}