summaryrefslogtreecommitdiff
path: root/test/yaml-parser.cpp
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-07-30 16:09:50 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-08-01 19:39:12 +0300
commit90906ba7fb95490abefa9bcbea812b4e2ff8dbdc (patch)
treeb98ed89b5d4b03ed75fdd4634d78028cc7005e06 /test/yaml-parser.cpp
parent69ae75b0cc211f82665b3e92fb3de64a9852b403 (diff)
test: yaml-parser: Test YamlObject::get(const T &defaultValue)
When the YamlObject::get() function override that returns a std::optional got introduced, all tests were moved to it, leaving no tests for the override that takes a default value. Reintroduce those tests. Reported-by: Florian Sylvestre <fsylvestre@baylibre.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'test/yaml-parser.cpp')
-rw-r--r--test/yaml-parser.cpp33
1 files changed, 22 insertions, 11 deletions
diff --git a/test/yaml-parser.cpp b/test/yaml-parser.cpp
index 9fd27866..93ba88b8 100644
--- a/test/yaml-parser.cpp
+++ b/test/yaml-parser.cpp
@@ -160,7 +160,8 @@ protected:
return TestFail;
}
- if (strObj.get<string>().value_or("") != "libcamera") {
+ if (strObj.get<string>().value_or("") != "libcamera" ||
+ strObj.get<string>("") != "libcamera") {
cerr << "String object parse as wrong content" << std::endl;
return TestFail;
}
@@ -198,17 +199,20 @@ protected:
return TestFail;
}
- if (int32Obj.get<int32_t>().value_or(0) != -100) {
+ if (int32Obj.get<int32_t>().value_or(0) != -100 ||
+ int32Obj.get<int32_t>(0) != -100) {
cerr << "Integer object parse as wrong value" << std::endl;
return TestFail;
}
- if (int32Obj.get<string>().value_or("") != "-100") {
+ if (int32Obj.get<string>().value_or("") != "-100" ||
+ int32Obj.get<string>("") != "-100") {
cerr << "Integer object fail to parse as string" << std::endl;
return TestFail;
}
- if (int32Obj.get<double>().value_or(0.0) != -100.0) {
+ if (int32Obj.get<double>().value_or(0.0) != -100.0 ||
+ int32Obj.get<double>(0.0) != -100.0) {
cerr << "Integer object fail to parse as double" << std::endl;
return TestFail;
}
@@ -236,22 +240,26 @@ protected:
return TestFail;
}
- if (uint32Obj.get<int32_t>().value_or(0) != 100) {
+ if (uint32Obj.get<int32_t>().value_or(0) != 100 ||
+ uint32Obj.get<int32_t>(0) != 100) {
cerr << "Unsigned integer object fail to parse as integer" << std::endl;
return TestFail;
}
- if (uint32Obj.get<string>().value_or("") != "100") {
+ if (uint32Obj.get<string>().value_or("") != "100" ||
+ uint32Obj.get<string>("") != "100") {
cerr << "Unsigned integer object fail to parse as string" << std::endl;
return TestFail;
}
- if (uint32Obj.get<double>().value_or(0.0) != 100.0) {
+ if (uint32Obj.get<double>().value_or(0.0) != 100.0 ||
+ uint32Obj.get<double>(0.0) != 100.0) {
cerr << "Unsigned integer object fail to parse as double" << std::endl;
return TestFail;
}
- if (uint32Obj.get<uint32_t>().value_or(0) != 100) {
+ if (uint32Obj.get<uint32_t>().value_or(0) != 100 ||
+ uint32Obj.get<uint32_t>(0) != 100) {
cerr << "Unsigned integer object parsed as wrong value" << std::endl;
return TestFail;
}
@@ -274,12 +282,14 @@ protected:
return TestFail;
}
- if (doubleObj.get<string>().value_or("") != "3.14159") {
+ if (doubleObj.get<string>().value_or("") != "3.14159" ||
+ doubleObj.get<string>("") != "3.14159") {
cerr << "Double object fail to parse as string" << std::endl;
return TestFail;
}
- if (doubleObj.get<double>().value_or(0.0) != 3.14159) {
+ if (doubleObj.get<double>().value_or(0.0) != 3.14159 ||
+ doubleObj.get<double>(0.0) != 3.14159) {
cerr << "Double object parse as wrong value" << std::endl;
return TestFail;
}
@@ -332,7 +342,8 @@ protected:
return TestFail;
}
- if (sizeObj.get<Size>().value_or(Size(0, 0)) != Size(1920, 1080)) {
+ if (sizeObj.get<Size>().value_or(Size(0, 0)) != Size(1920, 1080) ||
+ sizeObj.get<Size>(Size(0, 0)) != Size(1920, 1080)) {
cerr << "Size object parse as wrong value" << std::endl;
return TestFail;
}