summaryrefslogtreecommitdiff
path: root/test/core
diff options
context:
space:
mode:
Diffstat (limited to 'test/core')
-rw-r--r--test/core/RegistryTest.cpp48
-rw-r--r--test/core/parser/StandaloneParserContext.hpp6
-rw-r--r--test/core/resource/ResourceLocatorTest.cpp53
3 files changed, 34 insertions, 73 deletions
diff --git a/test/core/RegistryTest.cpp b/test/core/RegistryTest.cpp
index 8280188..45e09d3 100644
--- a/test/core/RegistryTest.cpp
+++ b/test/core/RegistryTest.cpp
@@ -18,46 +18,26 @@
#include <gtest/gtest.h>
-#include <core/Registry.hpp>
-
#include <sstream>
-#include <core/common/Logger.hpp>
+#include <core/resource/ResourceLocator.hpp>
+#include <core/Registry.hpp>
namespace ousia {
-class TestResourceLocator : public ResourceLocator {
-public:
- ResourceLocator::Location locate(
- const std::string &path, const std::string &relativeTo,
- const ResourceLocator::Type type) const override
- {
- // trivial test implementation.
- return ResourceLocator::Location(true, *this, type, path);
- }
-
- std::unique_ptr<std::istream> stream(
- const std::string &location) const override
- {
- // trivial test implementation.
- std::unique_ptr<std::stringstream> ss(new std::stringstream());
- (*ss) << "test";
- return std::move(ss);
- }
-};
-
TEST(Registry, locateResource)
{
- TestResourceLocator locator;
- Logger logger;
- Registry instance {logger};
- instance.registerResourceLocator(&locator);
-
- ResourceLocator::Location location =
- instance.locateResource("path", "", ResourceLocator::Type::DOMAIN_DESC);
- ASSERT_TRUE(location.found);
- ASSERT_EQ(ResourceLocator::Type::DOMAIN_DESC, location.type);
- ASSERT_EQ("path", location.location);
+ StaticResourceLocator locator;
+ locator.store("path", "test");
+
+ Registry registry;
+ registry.registerResourceLocator(locator);
+
+ Resource res;
+ ASSERT_TRUE(
+ registry.locateResource(res, "path", ResourceType::DOMAIN_DESC));
+ ASSERT_TRUE(res.isValid());
+ ASSERT_EQ(ResourceType::DOMAIN_DESC, res.getType());
+ ASSERT_EQ("path", res.getLocation());
}
-
}
diff --git a/test/core/parser/StandaloneParserContext.hpp b/test/core/parser/StandaloneParserContext.hpp
index aca056e..347d34f 100644
--- a/test/core/parser/StandaloneParserContext.hpp
+++ b/test/core/parser/StandaloneParserContext.hpp
@@ -37,15 +37,13 @@ public:
ParserContext context;
StandaloneParserContext()
- : registry(logger),
- project(new model::Project(manager)),
+ : project(new model::Project(manager)),
context(scope, registry, logger, manager, project)
{
}
StandaloneParserContext(Logger &externalLogger)
- : registry(externalLogger),
- project(new model::Project(manager)),
+ : project(new model::Project(manager)),
context(scope, registry, externalLogger, manager, project){};
};
}
diff --git a/test/core/resource/ResourceLocatorTest.cpp b/test/core/resource/ResourceLocatorTest.cpp
index ebb164d..d009883 100644
--- a/test/core/resource/ResourceLocatorTest.cpp
+++ b/test/core/resource/ResourceLocatorTest.cpp
@@ -18,48 +18,31 @@
#include <gtest/gtest.h>
-#include <core/ResourceLocator.hpp>
-
-#include <sstream>
+#include <core/resource/ResourceLocator.hpp>
namespace ousia {
-class TestResourceLocator : public ResourceLocator {
-public:
- ResourceLocator::Location locate(
- const std::string &path, const std::string &relativeTo,
- const ResourceLocator::Type type) const override
- {
- // trivial test implementation.
- return ResourceLocator::Location(true, *this, type, path);
- }
-
- std::unique_ptr<std::istream> stream(
- const std::string &location) const override
- {
- // trivial test implementation.
- std::unique_ptr<std::stringstream> ss(new std::stringstream());
- (*ss) << "test";
- return std::move(ss);
- }
-};
-
-TEST(ResourceLocator, locate)
+TEST(StaticResourceLocator, locate)
{
- TestResourceLocator instance;
- ResourceLocator::Location location =
- instance.locate("path", "", ResourceLocator::Type::DOMAIN_DESC);
- ASSERT_TRUE(location.found);
- ASSERT_EQ(ResourceLocator::Type::DOMAIN_DESC, location.type);
- ASSERT_EQ("path", location.location);
+ StaticResourceLocator locator;
+ locator.store("path", "test");
+
+ Resource res;
+ ASSERT_TRUE(locator.locate(res, "path"));
+ ASSERT_TRUE(res.isValid());
+ ASSERT_EQ(ResourceType::UNKNOWN, res.getType());
+ ASSERT_EQ("path", res.getLocation());
}
-TEST(ResourceLocator, stream)
+TEST(StaticResourceLocator, stream)
{
- TestResourceLocator instance;
- ResourceLocator::Location location =
- instance.locate("path", "", ResourceLocator::Type::DOMAIN_DESC);
- std::unique_ptr<std::istream> is = location.stream();
+ StaticResourceLocator locator;
+ locator.store("path", "test");
+
+ Resource res;
+ ASSERT_TRUE(locator.locate(res, "path"));
+
+ auto is = res.stream();
std::string str;
*is >> str;