70 lines
1.8 KiB
C
70 lines
1.8 KiB
C
|
/*
|
||
|
* Created by Phil on 25/2/2012.
|
||
|
* Copyright 2012 Two Blue Cubes Ltd. All rights reserved.
|
||
|
*
|
||
|
* Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||
|
* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||
|
*/
|
||
|
#ifndef TWOBLUECUBES_CATCH_CONSOLE_COLOUR_HPP_INCLUDED
|
||
|
#define TWOBLUECUBES_CATCH_CONSOLE_COLOUR_HPP_INCLUDED
|
||
|
|
||
|
#include "catch_common.h"
|
||
|
|
||
|
namespace Catch {
|
||
|
|
||
|
struct Colour {
|
||
|
enum Code {
|
||
|
None = 0,
|
||
|
|
||
|
White,
|
||
|
Red,
|
||
|
Green,
|
||
|
Blue,
|
||
|
Cyan,
|
||
|
Yellow,
|
||
|
Grey,
|
||
|
|
||
|
Bright = 0x10,
|
||
|
|
||
|
BrightRed = Bright | Red,
|
||
|
BrightGreen = Bright | Green,
|
||
|
LightGrey = Bright | Grey,
|
||
|
BrightWhite = Bright | White,
|
||
|
BrightYellow = Bright | Yellow,
|
||
|
|
||
|
// By intention
|
||
|
FileName = LightGrey,
|
||
|
Warning = BrightYellow,
|
||
|
ResultError = BrightRed,
|
||
|
ResultSuccess = BrightGreen,
|
||
|
ResultExpectedFailure = Warning,
|
||
|
|
||
|
Error = BrightRed,
|
||
|
Success = Green,
|
||
|
|
||
|
OriginalExpression = Cyan,
|
||
|
ReconstructedExpression = BrightYellow,
|
||
|
|
||
|
SecondaryText = LightGrey,
|
||
|
Headers = White
|
||
|
};
|
||
|
|
||
|
// Use constructed object for RAII guard
|
||
|
Colour( Code _colourCode );
|
||
|
Colour( Colour&& other ) noexcept;
|
||
|
Colour& operator=( Colour&& other ) noexcept;
|
||
|
~Colour();
|
||
|
|
||
|
// Use static method for one-shot changes
|
||
|
static void use( Code _colourCode );
|
||
|
|
||
|
private:
|
||
|
bool m_moved = false;
|
||
|
};
|
||
|
|
||
|
std::ostream& operator << ( std::ostream& os, Colour const& );
|
||
|
|
||
|
} // end namespace Catch
|
||
|
|
||
|
#endif // TWOBLUECUBES_CATCH_CONSOLE_COLOUR_HPP_INCLUDED
|