launch_daemon: Fixed empty on/if parsing.
* An extra empty message was mistakenly created.
This commit is contained in:
@@ -15,7 +15,7 @@ public:
|
||||
const driver_parameter& parameter, const char* name, uint32 type,
|
||||
BMessage& target)
|
||||
{
|
||||
if (parameter.parameter_count != 0)
|
||||
if (parameter.parameter_count != 0 || strcmp(name, Name()) == 0)
|
||||
return B_OK;
|
||||
|
||||
BMessage message;
|
||||
@@ -36,6 +36,8 @@ protected:
|
||||
}
|
||||
return target.AddMessage(condition, &args);
|
||||
}
|
||||
|
||||
virtual const char* Name() = 0;
|
||||
};
|
||||
|
||||
|
||||
@@ -75,6 +77,11 @@ public:
|
||||
message.AddString("args", parameter.values[index]);
|
||||
return target.AddMessage(parameter.name, &message);
|
||||
}
|
||||
|
||||
const char* Name()
|
||||
{
|
||||
return "if";
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -95,6 +102,11 @@ public:
|
||||
message.AddString("args", parameter.values[index]);
|
||||
return target.AddMessage(parameter.name, &message);
|
||||
}
|
||||
|
||||
const char* Name()
|
||||
{
|
||||
return "on";
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -30,6 +30,16 @@ SettingsParserTest::~SettingsParserTest()
|
||||
// #pragma mark - conditions
|
||||
|
||||
|
||||
void
|
||||
SettingsParserTest::TestConditionsEmpty()
|
||||
{
|
||||
BMessage message;
|
||||
CPPUNIT_ASSERT_EQUAL(B_OK, _ParseCondition("if {\n"
|
||||
"}\n", message));
|
||||
CPPUNIT_ASSERT(message.IsEmpty());
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
SettingsParserTest::TestConditionsMultiLine()
|
||||
{
|
||||
@@ -177,13 +187,22 @@ SettingsParserTest::TestConditionsMultiLineNot()
|
||||
BMessage args;
|
||||
CPPUNIT_ASSERT_EQUAL(B_OK, subMessage.FindMessage("safemode", &args));
|
||||
CPPUNIT_ASSERT(args.IsEmpty());
|
||||
|
||||
}
|
||||
|
||||
|
||||
// #pragma mark - events
|
||||
|
||||
|
||||
void
|
||||
SettingsParserTest::TestEventsEmpty()
|
||||
{
|
||||
BMessage message;
|
||||
CPPUNIT_ASSERT_EQUAL(B_OK, _ParseEvent("on {\n"
|
||||
"}\n", message));
|
||||
CPPUNIT_ASSERT(message.IsEmpty());
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
SettingsParserTest::TestEventsMultiLine()
|
||||
{
|
||||
@@ -395,6 +414,9 @@ SettingsParserTest::AddTests(BTestSuite& parent)
|
||||
CppUnit::TestSuite& suite = *new CppUnit::TestSuite("SettingsParserTest");
|
||||
|
||||
// Conditions
|
||||
suite.addTest(new CppUnit::TestCaller<SettingsParserTest>(
|
||||
"SettingsParserTest::TestConditionsEmpty",
|
||||
&SettingsParserTest::TestConditionsEmpty));
|
||||
suite.addTest(new CppUnit::TestCaller<SettingsParserTest>(
|
||||
"SettingsParserTest::TestConditionsMultiLine",
|
||||
&SettingsParserTest::TestConditionsMultiLine));
|
||||
@@ -421,6 +443,9 @@ SettingsParserTest::AddTests(BTestSuite& parent)
|
||||
&SettingsParserTest::TestConditionsMultiLineNot));
|
||||
|
||||
// Events
|
||||
suite.addTest(new CppUnit::TestCaller<SettingsParserTest>(
|
||||
"SettingsParserTest::TestEventsEmpty",
|
||||
&SettingsParserTest::TestEventsEmpty));
|
||||
suite.addTest(new CppUnit::TestCaller<SettingsParserTest>(
|
||||
"SettingsParserTest::TestEventsMultiLine",
|
||||
&SettingsParserTest::TestEventsMultiLine));
|
||||
|
||||
@@ -17,6 +17,7 @@ public:
|
||||
SettingsParserTest();
|
||||
virtual ~SettingsParserTest();
|
||||
|
||||
void TestConditionsEmpty();
|
||||
void TestConditionsMultiLine();
|
||||
void TestConditionsFlat();
|
||||
void TestConditionsFlatWithNot();
|
||||
@@ -26,6 +27,7 @@ public:
|
||||
void TestConditionsMultiLineFlatNotWithArgs();
|
||||
void TestConditionsMultiLineNot();
|
||||
|
||||
void TestEventsEmpty();
|
||||
void TestEventsMultiLine();
|
||||
void TestEventsFlat();
|
||||
void TestEventsFlatWithArgs();
|
||||
|
||||
Reference in New Issue
Block a user