github.com/masterhung0112/hk_server/v5@v5.0.0-20220302090640-ec71aef15e1c/services/docextractor/plain_test.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package docextractor 5 6 import ( 7 "bytes" 8 "strings" 9 "testing" 10 11 "github.com/stretchr/testify/require" 12 ) 13 14 func TestPlainEmptyFile(t *testing.T) { 15 extractor := plainExtractor{} 16 extractedText, err := extractor.Extract("test.txt", bytes.NewReader([]byte{})) 17 require.NoError(t, err) 18 require.Equal(t, "", extractedText) 19 } 20 21 func TestPlainTextSmallFile(t *testing.T) { 22 extractor := plainExtractor{} 23 content := strings.Repeat("test \n", 5) 24 extractedText, err := extractor.Extract("test.txt", bytes.NewReader([]byte(content))) 25 require.NoError(t, err) 26 require.Equal(t, content, extractedText) 27 } 28 29 func TestPlainBigFile(t *testing.T) { 30 extractor := plainExtractor{} 31 content := strings.Repeat("test \n", 1000) 32 extractedText, err := extractor.Extract("test.txt", bytes.NewReader([]byte(content))) 33 require.NoError(t, err) 34 require.Equal(t, content, extractedText) 35 } 36 37 func TestSmallBinaryFile(t *testing.T) { 38 extractor := plainExtractor{} 39 notUTF8Char := byte(0x7) 40 content := bytes.Repeat([]byte{notUTF8Char}, 1000) 41 extractedText, err := extractor.Extract("test.bin", bytes.NewReader(content)) 42 require.NoError(t, err) 43 require.Equal(t, "", extractedText) 44 } 45 46 func TestBigBinaryFile(t *testing.T) { 47 extractor := plainExtractor{} 48 notUTF8Char := byte(0x7) 49 content := bytes.Repeat([]byte{notUTF8Char}, 10000) 50 extractedText, err := extractor.Extract("test.bin", bytes.NewReader(content)) 51 require.NoError(t, err) 52 require.Equal(t, "", extractedText) 53 }