MCPcopy Index your code
hub / github.com/ddev/ddev / TestListFilesWithDepth

Function TestListFilesWithDepth

pkg/fileutil/files_test.go:436–519  ·  view source on GitHub ↗

TestListFilesWithDepth tests the ListFilesWithDepth function

(t *testing.T)

Source from the content-addressed store, hash-verified

434
435// TestListFilesWithDepth tests the ListFilesWithDepth function
436func TestListFilesWithDepth(t *testing.T) {
437 tmpDir := t.TempDir()
438
439 // Create test directory structure
440 // tmpDir/
441 // file0.txt (depth 0)
442 // dir1/
443 // file1.txt (depth 1)
444 // dir2/
445 // file2.txt (depth 2)
446 // dir3/
447 // file3.txt (depth 3)
448
449 err := os.WriteFile(filepath.Join(tmpDir, "file0.txt"), []byte("depth 0"), 0644)
450 require.NoError(t, err)
451
452 dir1 := filepath.Join(tmpDir, "dir1")
453 err = os.MkdirAll(dir1, 0755)
454 require.NoError(t, err)
455 err = os.WriteFile(filepath.Join(dir1, "file1.txt"), []byte("depth 1"), 0644)
456 require.NoError(t, err)
457
458 dir2 := filepath.Join(dir1, "dir2")
459 err = os.MkdirAll(dir2, 0755)
460 require.NoError(t, err)
461 err = os.WriteFile(filepath.Join(dir2, "file2.txt"), []byte("depth 2"), 0644)
462 require.NoError(t, err)
463
464 dir3 := filepath.Join(dir2, "dir3")
465 err = os.MkdirAll(dir3, 0755)
466 require.NoError(t, err)
467 err = os.WriteFile(filepath.Join(dir3, "file3.txt"), []byte("depth 3"), 0644)
468 require.NoError(t, err)
469
470 t.Run("maxDepth=0", func(t *testing.T) {
471 files, err := fileutil.ListFilesWithDepth(tmpDir, 0)
472 require.NoError(t, err)
473 require.Len(t, files, 1)
474 require.Contains(t, files, filepath.Join(tmpDir, "file0.txt"))
475 })
476
477 t.Run("maxDepth=1", func(t *testing.T) {
478 files, err := fileutil.ListFilesWithDepth(tmpDir, 1)
479 require.NoError(t, err)
480 require.Len(t, files, 2)
481 require.Contains(t, files, filepath.Join(tmpDir, "file0.txt"))
482 require.Contains(t, files, filepath.Join(dir1, "file1.txt"))
483 })
484
485 t.Run("maxDepth=2", func(t *testing.T) {
486 files, err := fileutil.ListFilesWithDepth(tmpDir, 2)
487 require.NoError(t, err)
488 require.Len(t, files, 3)
489 require.Contains(t, files, filepath.Join(tmpDir, "file0.txt"))
490 require.Contains(t, files, filepath.Join(dir1, "file1.txt"))
491 require.Contains(t, files, filepath.Join(dir2, "file2.txt"))
492 require.NotContains(t, files, filepath.Join(dir3, "file3.txt"))
493 })

Callers

nothing calls this directly

Calls 2

ListFilesWithDepthFunction · 0.92
ErrorMethod · 0.80

Tested by

no test coverage detected