xref: /haiku/src/tests/servers/launch/SettingsParserTest.h (revision 95d93d2ea96e954fc5fe9ac847b19a20e676b147)
1e73c9366SAxel Dörfler /*
2e73c9366SAxel Dörfler  * Copyright 2015, Axel Dörfler, axeld@pinc-software.de.
3e73c9366SAxel Dörfler  * Distributed under the terms of the MIT License.
4e73c9366SAxel Dörfler  */
5e73c9366SAxel Dörfler #ifndef SETTINGS_PARSER_TEST_H
6e73c9366SAxel Dörfler #define SETTINGS_PARSER_TEST_H
7e73c9366SAxel Dörfler 
8e73c9366SAxel Dörfler 
9e73c9366SAxel Dörfler #include <TestCase.h>
10e73c9366SAxel Dörfler #include <TestSuite.h>
11e73c9366SAxel Dörfler 
12e73c9366SAxel Dörfler #include <Message.h>
13e73c9366SAxel Dörfler 
14e73c9366SAxel Dörfler 
15e73c9366SAxel Dörfler class SettingsParserTest : public CppUnit::TestCase {
16e73c9366SAxel Dörfler public:
17e73c9366SAxel Dörfler 								SettingsParserTest();
18e73c9366SAxel Dörfler 	virtual						~SettingsParserTest();
19e73c9366SAxel Dörfler 
20*95d93d2eSAxel Dörfler 			void				TestConditionsEmpty();
21e73c9366SAxel Dörfler 			void				TestConditionsMultiLine();
22e73c9366SAxel Dörfler 			void				TestConditionsFlat();
23e73c9366SAxel Dörfler 			void				TestConditionsFlatWithNot();
24e73c9366SAxel Dörfler 			void				TestConditionsFlatWithArgs();
25e73c9366SAxel Dörfler 			void				TestConditionsFlatWithNotAndArgs();
26e73c9366SAxel Dörfler 			void				TestConditionsMultiLineFlatNot();
27e73c9366SAxel Dörfler 			void				TestConditionsMultiLineFlatNotWithArgs();
28e73c9366SAxel Dörfler 			void				TestConditionsMultiLineNot();
29e73c9366SAxel Dörfler 
30*95d93d2eSAxel Dörfler 			void				TestEventsEmpty();
315a766948SAxel Dörfler 			void				TestEventsMultiLine();
325a766948SAxel Dörfler 			void				TestEventsFlat();
335a766948SAxel Dörfler 			void				TestEventsFlatWithArgs();
345a766948SAxel Dörfler 
355a766948SAxel Dörfler 			void				TestEnvironmentMultiLine();
365a766948SAxel Dörfler 			void				TestEnvironmentFlat();
375a766948SAxel Dörfler 
38004cd670SAxel Dörfler 			void				TestRunFlat();
39004cd670SAxel Dörfler 			void				TestRunMultiLine();
40004cd670SAxel Dörfler 			void				TestRunIfThenElseFlat();
41004cd670SAxel Dörfler 			void				TestRunIfThenElseMultiLine();
42004cd670SAxel Dörfler 
43e73c9366SAxel Dörfler 	static	void				AddTests(BTestSuite& suite);
44e73c9366SAxel Dörfler 
45e73c9366SAxel Dörfler private:
46e73c9366SAxel Dörfler 			status_t			_ParseCondition(const char* text,
47e73c9366SAxel Dörfler 									BMessage& message);
485a766948SAxel Dörfler 			status_t			_ParseEvent(const char* text,
495a766948SAxel Dörfler 									BMessage& message);
505a766948SAxel Dörfler 			status_t			_ParseName(const char* name, const char* text,
515a766948SAxel Dörfler 									BMessage& message);
52004cd670SAxel Dörfler 			int32				_ArrayCount(BMessage& message,
53004cd670SAxel Dörfler 									const char* name);
54e73c9366SAxel Dörfler };
55e73c9366SAxel Dörfler 
56e73c9366SAxel Dörfler 
57e73c9366SAxel Dörfler #endif	// SETTINGS_PARSER_TEST_H
58