github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/utils/man/summary_test.go (about)

     1  //go:build !windows
     2  // +build !windows
     3  
     4  package man
     5  
     6  import (
     7  	"compress/gzip"
     8  	"embed"
     9  	"testing"
    10  
    11  	"github.com/lmorg/murex/test/count"
    12  )
    13  
    14  //go:embed test_*.1.gz
    15  var manPagesGz embed.FS
    16  
    17  func TestManSummary(t *testing.T) {
    18  	count.Tests(t, 1)
    19  
    20  	files, err := manPagesGz.ReadDir(".")
    21  	if err != nil {
    22  		t.Error(err.Error())
    23  	}
    24  
    25  	count.Tests(t, len(files))
    26  
    27  	for _, entry := range files {
    28  		file, err := manPagesGz.Open(entry.Name())
    29  		if err != nil {
    30  			t.Errorf("%s: %s", entry.Name(), err.Error())
    31  		}
    32  
    33  		gz, err := gzip.NewReader(file)
    34  		if err != nil {
    35  			t.Errorf("%s: %s", entry.Name(), err.Error())
    36  		}
    37  
    38  		s := parseSummaryFile(gz)
    39  		if s == "" {
    40  			t.Errorf("No summary returned for '%s'", entry.Name())
    41  		}
    42  
    43  		gz.Close()
    44  		file.Close()
    45  	}
    46  }