tests.h 3.9 KB
Newer Older
1
2
#include <string>

3
4
namespace YAML { class Emitter; }

5
namespace Test {
6
	void RunAll();
7
	
8
	bool RunParserTests();
9
	bool RunEmitterTests();
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

	namespace Parser {
		// scalar tests
		void SimpleScalar(std::string& inputScalar, std::string& desiredOutput);
		void MultiLineScalar(std::string& inputScalar, std::string& desiredOutput);
		void LiteralScalar(std::string& inputScalar, std::string& desiredOutput);
		void FoldedScalar(std::string& inputScalar, std::string& desiredOutput);
		void ChompedFoldedScalar(std::string& inputScalar, std::string& desiredOutput);
		void ChompedLiteralScalar(std::string& inputScalar, std::string& desiredOutput);
		void FoldedScalarWithIndent(std::string& inputScalar, std::string& desiredOutput);
		void ColonScalar(std::string& inputScalar, std::string& desiredOutput);
		void QuotedScalar(std::string& inputScalar, std::string& desiredOutput);
		void CommaScalar(std::string& inputScalar, std::string& desiredOutput);
		void DashScalar(std::string& inputScalar, std::string& desiredOutput);
		void URLScalar(std::string& inputScalar, std::string& desiredOutput);

		// misc tests
		bool SimpleSeq();
		bool SimpleMap();
		bool FlowSeq();
		bool FlowMap();
	}
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
	
	namespace Emitter {
		// correct emitting
		void SimpleScalar(YAML::Emitter& out, std::string& desiredOutput);
		void SimpleSeq(YAML::Emitter& out, std::string& desiredOutput);
		void SimpleFlowSeq(YAML::Emitter& ouptut, std::string& desiredOutput);
		void EmptyFlowSeq(YAML::Emitter& out, std::string& desiredOutput);
		void NestedBlockSeq(YAML::Emitter& out, std::string& desiredOutput);
		void NestedFlowSeq(YAML::Emitter& out, std::string& desiredOutput);
		void SimpleMap(YAML::Emitter& out, std::string& desiredOutput);
		void SimpleFlowMap(YAML::Emitter& out, std::string& desiredOutput);
		void MapAndList(YAML::Emitter& out, std::string& desiredOutput);
		void ListAndMap(YAML::Emitter& out, std::string& desiredOutput);
		void NestedBlockMap(YAML::Emitter& out, std::string& desiredOutput);
		void NestedFlowMap(YAML::Emitter& out, std::string& desiredOutput);
		void MapListMix(YAML::Emitter& out, std::string& desiredOutput);
		void SimpleLongKey(YAML::Emitter& out, std::string& desiredOutput);
		void SingleLongKey(YAML::Emitter& out, std::string& desiredOutput);
		void ComplexLongKey(YAML::Emitter& out, std::string& desiredOutput);
		void AutoLongKey(YAML::Emitter& out, std::string& desiredOutput);
		void ScalarFormat(YAML::Emitter& out, std::string& desiredOutput);
		void AutoLongKeyScalar(YAML::Emitter& out, std::string& desiredOutput);
		void LongKeyFlowMap(YAML::Emitter& out, std::string& desiredOutput);
		void BlockMapAsKey(YAML::Emitter& out, std::string& desiredOutput);
		void AliasAndAnchor(YAML::Emitter& out, std::string& desiredOutput);
		void ComplexDoc(YAML::Emitter& out, std::string& desiredOutput);
		void STLContainers(YAML::Emitter& out, std::string& desiredOutput);
		void SimpleComment(YAML::Emitter& out, std::string& desiredOutput);
		void MultiLineComment(YAML::Emitter& out, std::string& desiredOutput);
		void ComplexComments(YAML::Emitter& out, std::string& desiredOutput);
		void Indentation(YAML::Emitter& out, std::string& desiredOutput);
		void SimpleGlobalSettings(YAML::Emitter& out, std::string& desiredOutput);
		void ComplexGlobalSettings(YAML::Emitter& out, std::string& desiredOutput);

		// incorrect emitting
		void ExtraEndSeq(YAML::Emitter& out, std::string& desiredError);
		void ExtraEndMap(YAML::Emitter& out, std::string& desiredError);
		void BadSingleQuoted(YAML::Emitter& out, std::string& desiredError);
		void InvalidAnchor(YAML::Emitter& out, std::string& desiredError);
		void InvalidAlias(YAML::Emitter& out, std::string& desiredError);
		void MissingKey(YAML::Emitter& out, std::string& desiredError);
		void MissingValue(YAML::Emitter& out, std::string& desiredError);
		void UnexpectedKey(YAML::Emitter& out, std::string& desiredError);
		void UnexpectedValue(YAML::Emitter& out, std::string& desiredError);
	}
77
}