| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | package nginximport (	"fmt"	"strings"	"testing"	"github.com/tufanbarisyildirim/gonginx/config"	"github.com/tufanbarisyildirim/gonginx/parser")func TestNgxConfParse(t *testing.T) {	p, err := parser.NewParser("conf/nextcloud_ngx.conf")	if err != nil {		fmt.Println(err)		return	}	n, _ := p.Parse()	fn(n.Block, 0)	c, err := ParseNgxConfig("conf/nextcloud_ngx.conf")	if err != nil {		fmt.Println(err)		return	}	fmt.Println(c)	c, err = ParseNgxConfig("conf/test.conf")	if err != nil {		fmt.Println(err)		return	}	fmt.Println(c)}func fn(block config.IBlock, deep int) {	if block == nil {		return	}	for _, v := range block.GetDirectives() {		if len(v.GetComment()) > 0 {			for _, c := range v.GetComment() {				fmt.Println(strings.Repeat("\t", deep), c)			}		}		// 将 []config.Parameter 转换为 []string		params := make([]string, len(v.GetParameters()))		for i, p := range v.GetParameters() {			params[i] = p.String()		}		fmt.Printf("%s%s %s\n", strings.Repeat("\t", deep), v.GetName(), strings.Join(params, " "))		fn(v.GetBlock(), deep+1)	}}
 |