#include "third_party/liburlpattern/parse.h"
#include <string_view>
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/abseil-cpp/absl/strings/str_format.h"
#include "third_party/liburlpattern/pattern.h"
namespace {
absl::StatusOr<std::string> PassThrough(std::string_view input) { … }
}
namespace liburlpattern {
absl::StatusOr<std::string> ToUpper(std::string_view input) { … }
void RunParseTest(std::string_view pattern,
absl::StatusOr<std::vector<Part>> expected,
EncodeCallback callback = PassThrough) { … }
TEST(ParseTest, EmptyPattern) { … }
TEST(ParseTest, EncoderCallback) { … }
TEST(ParseTest, Fixed) { … }
TEST(ParseTest, FixedInGroup) { … }
TEST(ParseTest, FixedAndFixedInGroup) { … }
TEST(ParseTest, FixedInGroupAndFixed) { … }
TEST(ParseTest, FixedInGroupAndFixedInGroup) { … }
TEST(ParseTest, FixedAndEmptyGroup) { … }
TEST(ParseTest, FixedInGroupWithOptionalModifier) { … }
TEST(ParseTest, FixedInGroupWithZeroOrMoreModifier) { … }
TEST(ParseTest, FixedInGroupWithOneOrMoreModifier) { … }
TEST(ParseTest, FixedInEarlyTerminatedGroup) { … }
TEST(ParseTest, FixedInUnbalancedGroup) { … }
TEST(ParseTest, FixedWithModifier) { … }
TEST(ParseTest, Regex) { … }
TEST(ParseTest, RegexInGroup) { … }
TEST(ParseTest, RegexWithPrefixAndSuffixInGroup) { … }
TEST(ParseTest, RegexAndRegexInGroup) { … }
TEST(ParseTest, RegexWithPrefix) { … }
TEST(ParseTest, RegexWithNameAndPrefix) { … }
TEST(ParseTest, RegexWithNameAndPrefixInGroup) { … }
TEST(ParseTest, RegexWithModifier) { … }
TEST(ParseTest, RegexLikeFullWildcard) { … }
TEST(ParseTest, Wildcard) { … }
TEST(ParseTest, WildcardWithModifierStar) { … }
TEST(ParseTest, WildcardWithModifierPlus) { … }
TEST(ParseTest, WildcardWithModifierQuestion) { … }
TEST(ParseTest, WildcardFollowingWildcardWithModifierStart) { … }
TEST(ParseTest, WildcardWithMultipleModifiersPlus) { … }
TEST(ParseTest, WildcardWithMultipleModifiersQuestion) { … }
TEST(ParseTest, WildcardInGroup) { … }
TEST(ParseTest, WildcardWithPrefixAndSuffixInGroup) { … }
TEST(ParseTest, Name) { … }
TEST(ParseTest, NameStartsWithNumber) { … }
TEST(ParseTest, NameInGroup) { … }
TEST(ParseTest, NameAndNameInGroup) { … }
TEST(ParseTest, NameWithPrefixAndSuffixInGroup) { … }
TEST(ParseTest, NameWithPrefix) { … }
TEST(ParseTest, NameWithEscapedPrefix) { … }
TEST(ParseTest, NameWithCustomRegex) { … }
TEST(ParseTest, NameWithModifier) { … }
TEST(ParseTest, NameWithModifierStarAndWildcard) { … }
TEST(ParseTest, NameWithModifierStarAndModifierQuestion) { … }
TEST(ParseTest, NameWithModifierStarAndModifierPlus) { … }
TEST(ParseTest, DuplicateName) { … }
}