diff --git a/framework/contrib/hit/parse.cc b/framework/contrib/hit/parse.cc index fe3260583e99..d6ac2fc43967 100644 --- a/framework/contrib/hit/parse.cc +++ b/framework/contrib/hit/parse.cc @@ -337,6 +337,7 @@ Node::findInner(const std::string & path, const std::string & prefix) else fullpath = prefix + "/" + child->path(); + fullpath = pathNorm(fullpath); if (fullpath == path) return child; else if (path.find(fullpath) == std::string::npos) diff --git a/unit/src/HitTests.C b/unit/src/HitTests.C index fb2e8fc2c252..1f217ea71882 100644 --- a/unit/src/HitTests.C +++ b/unit/src/HitTests.C @@ -252,6 +252,12 @@ TEST(HitTests, ParseFields) "foo", "barbaz", hit::Field::Kind::String}, + {"path-normalize-find #12313", + "[foo][/bar]baz=42[][]", + "foo/bar/baz", + "42", + hit::Field::Kind::Int}, + }; for (size_t i = 0; i < sizeof(cases) / sizeof(ValCase); i++)