blob: 0579d42b1c8d8b052755afeb8b46944e631f8e51 [file] [log] [blame]
From 35b3b4180e8719be8dce0d68ec476a4315bb4538 Mon Sep 17 00:00:00 2001
From: Michael Dolan <michdolan@gmail.com>
Date: Mon, 29 Apr 2019 15:51:32 -0700
Subject: [PATCH] Fix typo in FormatRegistry::getFormatNameByIndex (RB-1.1)
(#736)
* Fix typo in FormatRegistry::getFormatNameByIndex (#732)
* Fix copy paste error
* FormatByIndex API UnitTest
* Fix invisible character
* Improve unittest
* Out of bounds index fix
* Rename test method
Conflicts:
src/OpenColorIO/transforms/FileTransform.cpp
* Remove dependency on master Platform
---
src/core/FileTransform.cpp | 35 ++++++++++++++++++++++++++++++++++-
1 file changed, 34 insertions(+), 1 deletion(-)
diff --git a/src/core/FileTransform.cpp b/src/core/FileTransform.cpp
index d3e144071..946265b9d 100644
--- a/src/core/FileTransform.cpp
+++ b/src/core/FileTransform.cpp
@@ -334,7 +334,7 @@ OCIO_NAMESPACE_ENTER
}
else if(capability == FORMAT_CAPABILITY_WRITE)
{
- if(index<0 || index>=static_cast<int>(m_readFormatNames.size()))
+ if(index<0 || index>=static_cast<int>(m_writeFormatNames.size()))
{
return "";
}
@@ -671,3 +671,36 @@ OCIO_NAMESPACE_ENTER
}
}
OCIO_NAMESPACE_EXIT
+
+///////////////////////////////////////////////////////////////////////////////
+
+#ifdef OCIO_UNIT_TEST
+
+namespace OCIO = OCIO_NAMESPACE;
+#include "UnitTest.h"
+
+void ValidateFormatByIndex(OCIO::FormatRegistry &reg, int cap)
+{
+ int numFormat = reg.getNumFormats(cap);
+
+ // Check out of bounds access
+ OIIO_CHECK_EQUAL(0, strcmp(reg.getFormatNameByIndex(cap, -1), ""));
+ OIIO_CHECK_EQUAL(0, strcmp(reg.getFormatExtensionByIndex(cap, -1), ""));
+ OIIO_CHECK_EQUAL(0, strcmp(reg.getFormatNameByIndex(cap, numFormat), ""));
+ OIIO_CHECK_EQUAL(0, strcmp(reg.getFormatExtensionByIndex(cap, numFormat), ""));
+
+ // Check valid access
+ for (int i = 0; i < numFormat; ++i) {
+ OIIO_CHECK_NE(0, strcmp(reg.getFormatNameByIndex(cap, i), ""));
+ OIIO_CHECK_NE(0, strcmp(reg.getFormatExtensionByIndex(cap, i), ""));
+ }
+}
+
+OIIO_ADD_TEST(FileTransform, FormatByIndex)
+{
+ OCIO::FormatRegistry & formatRegistry = OCIO::FormatRegistry::GetInstance();
+ ValidateFormatByIndex(formatRegistry, OCIO::FORMAT_CAPABILITY_WRITE);
+ ValidateFormatByIndex(formatRegistry, OCIO::FORMAT_CAPABILITY_READ);
+}
+
+#endif // OCIO_UNIT_TEST