static Stream<Arguments> parametersForTestBasicPattern() {
        return Stream.of(
            Arguments.of("single star becomes all-but-slash star", "gl*b", "gl[^/]*b"),
            Arguments.of("double star becomes dot star", "gl**b", "gl.*b"),
            Arguments.of("escaped star is unchanged", "gl\\*b", "gl\\*b"),
            Arguments.of("question mark becomes all-but-shlash", "gl?b", "gl[^/]b"),
            Arguments.of("escaped question mark is unchanged", "gl\\?b", "gl\\?b"),
            Arguments.of("character classes dont need conversion", "gl[-o]b", "gl[-o]b"),
            Arguments.of("escaped classes are unchanged", "gl\\[-o\\]b", "gl\\[-o\\]b"),
            Arguments.of("negation in character classes", "gl[!a-n!p-z]b", "gl[^a-n!p-z]b"),
            Arguments.of("nested negation in character classes", "gl[[!a-n]!p-z]b", "gl[[^a-n]!p-z]b"),
            Arguments.of("escape carat if it is the first char in a character class", "gl[^o]b", "gl[\\^o]b"),
            Arguments.of("metachars are escaped", "gl?*.()+|^$@%b", "gl[^/][^/]*\\.\\(\\)\\+\\|\\^\\$\\@\\%b"),
            Arguments.of("metachars in character classes dont need escaping", "gl[?*.()+|^$@%]b", "gl[?*.()+|^$@%]b"),
            Arguments.of("escaped backslash is unchanged", "gl\\\\b", "gl\\\\b"),
            Arguments.of("slash-Q and slash-E are escaped", "\\Qglob\\E", "\\\\Qglob\\\\E"),
            Arguments.of("braces are turned into groups", "{glob,regex}", "(glob|regex)"),
            Arguments.of("escaped braces are unchanged", "\\{glob\\}", "\\{glob\\}"),
            Arguments.of("commas dont need escaping", "{glob\\,regex},", "(glob,regex),")
        );
    }
Test for conversion logic from globs to regular expressions. Adapted from: https://stackoverflow.com/a/17369948
jsonschema-maven-plugin/src/test/java/com/github/victools/jsonschema/plugin/maven/GlobHandlerTest.java