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

     1  package main
     2  
     3  import (
     4  	"testing"
     5  
     6  	_ "github.com/lmorg/murex/builtins"
     7  	"github.com/lmorg/murex/builtins/docs"
     8  	"github.com/lmorg/murex/lang"
     9  	"github.com/lmorg/murex/test/count"
    10  )
    11  
    12  func TestCoreDocs(t *testing.T) {
    13  	count.Tests(t, len(lang.GoFunctions)*3)
    14  
    15  	for name := range lang.GoFunctions {
    16  
    17  		syn, ok := docs.Synonym[name]
    18  		if ok && syn != "" {
    19  			goto passedSynTest
    20  		}
    21  
    22  		syn, ok = docs.Synonym["parser/"+name]
    23  		if !ok || syn == "" {
    24  			t.Errorf("Synonym for `%s` does not exist or is empty", name)
    25  			continue
    26  		}
    27  
    28  	passedSynTest:
    29  		sum, ok := docs.Summary[syn]
    30  		if !ok || sum == "" {
    31  			t.Errorf("Summary for `%s` does not exist or is empty", name)
    32  			continue
    33  		}
    34  
    35  		doc := docs.Definition(syn)
    36  		if len(doc) == 0 {
    37  			t.Errorf("document for `%s` does not exist or is empty", name)
    38  		}
    39  	}
    40  }