github.com/josephvusich/fdf@v0.0.0-20230522095411-9326dd32e33f/clone_test.go (about)

     1  // +build !no_clone
     2  
     3  package main
     4  
     5  import (
     6  	"fmt"
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func TestScanner_Clone(t *testing.T) {
    13  	assert := require.New(t)
    14  	setupTest(assert, func(l *testLayout, validate func(*testLayout)) {
    15  		scanner := newScanner()
    16  		scanner.options.clone = true
    17  		scanner.options.Recursive = true
    18  		scanner.options.MatchMode = matchContent
    19  
    20  		assert.NoError(scanner.Scan())
    21  		fmt.Println(scanner.totals.PrettyFormat(scanner.options.Verb()))
    22  		assert.Equal(uint64(22), scanner.totals.Files.count)
    23  		assert.Equal(uint64(73), scanner.totals.Files.size)
    24  		assert.Equal(uint64(7), scanner.totals.Unique.count)
    25  		assert.Equal(uint64(33), scanner.totals.Unique.size)
    26  		assert.Equal(uint64(0), scanner.totals.Links.count)
    27  		assert.Equal(uint64(0), scanner.totals.Links.size)
    28  		assert.Equal(uint64(15), scanner.totals.Cloned.count)
    29  		assert.Equal(uint64(40), scanner.totals.Cloned.size)
    30  		assert.Equal(uint64(0), scanner.totals.Dupes.count)
    31  		assert.Equal(uint64(0), scanner.totals.Dupes.size)
    32  		assert.Equal(uint64(15), scanner.totals.Processed.count)
    33  		assert.Equal(uint64(40), scanner.totals.Processed.size)
    34  		assert.Equal(uint64(0), scanner.totals.Skipped.count)
    35  		assert.Equal(uint64(0), scanner.totals.Skipped.size)
    36  		assert.Equal(uint64(0), scanner.totals.Errors.count)
    37  		assert.Equal(uint64(0), scanner.totals.Errors.size)
    38  		validate(l)
    39  	})
    40  }