@Test
  public void testPathMatchers_glob() {
    assertThatPath("bar").matches("glob:bar");
    assertThatPath("bar").matches("glob:*");
    assertThatPath("/foo").doesNotMatch("glob:*");
    assertThatPath("/foo/bar").doesNotMatch("glob:*");
    assertThatPath("/foo/bar").matches("glob:**");
    assertThatPath("/foo/bar").matches("glob:/**");
    assertThatPath("foo/bar").doesNotMatch("glob:/**");
    assertThatPath("/foo/bar/baz/stuff").matches("glob:/foo/**");
    assertThatPath("/foo/bar/baz/stuff").matches("glob:/**/stuff");
    assertThatPath("/foo").matches("glob:/[a-z]*");
    assertThatPath("/Foo").doesNotMatch("glob:/[a-z]*");
    assertThatPath("/foo/bar/baz/Stuff.java").matches("glob:**/*.java");
    assertThatPath("/foo/bar/baz/Stuff.java").matches("glob:**/*.{java,class}");
    assertThatPath("/foo/bar/baz/Stuff.class").matches("glob:**/*.{java,class}");
    assertThatPath("/foo/bar/baz/Stuff.java").matches("glob:**/*.*");

    try {
      fs.getPathMatcher("glob:**/*.{java,class");
      fail();
    } catch (PatternSyntaxException expected) {
    }
  }
Tests an in-memory file system through the public APIs in {@link Files}, etc. This also acts as
the tests for {@code FileSystemView}, as each public API method is (mostly) implemented by a
method in {@code FileSystemView}.

<p>These tests uses a Unix-like file system, but most of what they test applies to any file
system configuration.

@author Colin Decker
jimfs/src/test/java/com/google/common/jimfs/JimfsUnixLikeFileSystemTest.java