コード例 #1
0
  @Test
  public void doesNotVisitADirectoryUntilAChildDirIsVisited() {
    final FileCopyDetails dir = file("dir");
    final FileCopyDetails subdir = file("dir/sub");
    final FileCopyDetails file = file("dir/sub/file");

    allowGetIncludeEmptyDirs();

    context.checking(
        new Expectations() {
          {
            one(delegate).visitSpec(spec);
          }
        });

    visitor.visitSpec(spec);
    visitor.visitDir(dir);
    visitor.visitDir(subdir);

    context.checking(
        new Expectations() {
          {
            one(delegate).visitDir(dir);
            one(delegate).visitDir(subdir);
            one(delegate).visitFile(file);
          }
        });

    visitor.visitFile(file);
  }
コード例 #2
0
  @Test
  public void doesNotVisitAnEmptyDirectoryIfCorrespondingOptionIsOff() {
    FileCopyDetails dir = file("dir");

    context.checking(
        new Expectations() {
          {
            one(spec).getIncludeEmptyDirs();
            will(returnValue(false));
            one(delegate).visitSpec(spec);
            one(delegate).endVisit();
          }
        });

    visitor.visitSpec(spec);
    visitor.visitDir(dir);
    visitor.endVisit();
  }
コード例 #3
0
  @Test
  public void visitsFileAncestorsWhichHaveNotBeenVisited() {
    final FileCopyDetails details = file("a/b/c");

    allowGetIncludeEmptyDirs();

    context.checking(
        new Expectations() {
          {
            one(delegate).visitSpec(spec);
            one(delegate).visitDir(with(hasPath("a")));
            one(delegate).visitDir(with(hasPath("a/b")));
            one(delegate).visitFile(details);
          }
        });

    visitor.visitSpec(spec);
    visitor.visitFile(details);
  }
コード例 #4
0
  @Test
  public void doesNotVisitADirectoryWhichHasBeenVisitedBefore() {
    final FileCopyDetails details = file("dir");
    final FileCopyDetails file = file("dir/file");

    allowGetIncludeEmptyDirs();

    context.checking(
        new Expectations() {
          {
            one(delegate).visitSpec(spec);
            one(delegate).visitDir(details);
            one(delegate).visitFile(file);
          }
        });

    visitor.visitSpec(spec);
    visitor.visitDir(details);
    visitor.visitFile(file);
    visitor.visitDir(details);
  }
コード例 #5
0
  @Test
  public void visitSpecDelegatesToVisitor() {
    allowGetIncludeEmptyDirs();

    context.checking(
        new Expectations() {
          {
            one(delegate).visitSpec(spec);
          }
        });

    visitor.visitSpec(spec);
  }
コード例 #6
0
  @Test
  public void visitsDirectoryAncestorsWhichHaveNotBeenVisited() {
    final FileCopyDetails dir1 = file("a/b/c");
    final FileCopyDetails file1 = file("a/b/c/file");

    allowGetIncludeEmptyDirs();

    context.checking(
        new Expectations() {
          {
            one(delegate).visitSpec(spec);
            one(delegate).visitDir(with(hasPath("a")));
            one(delegate).visitDir(with(hasPath("a/b")));
            one(delegate).visitDir(dir1);
            one(delegate).visitFile(file1);
          }
        });

    visitor.visitSpec(spec);
    visitor.visitDir(dir1);
    visitor.visitFile(file1);

    final FileCopyDetails dir2 = file("a/b/d/e");
    final FileCopyDetails file2 = file("a/b/d/e/file");

    context.checking(
        new Expectations() {
          {
            one(delegate).visitSpec(spec);
            one(delegate).visitDir(with(hasPath("a/b/d")));
            one(delegate).visitDir(dir2);
            one(delegate).visitFile(file2);
          }
        });

    visitor.visitSpec(spec);
    visitor.visitDir(dir2);
    visitor.visitFile(file2);
  }