39 lines
		
	
	
		
			748 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			748 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package packages
 | |
| 
 | |
| import (
 | |
| 	"regexp"
 | |
| 	"strings"
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/stretchr/testify/assert"
 | |
| )
 | |
| 
 | |
| func TestPathElemRe(t *testing.T) {
 | |
| 	matches := [][]string{
 | |
| 		{"dir"},
 | |
| 		{"root", "dir"},
 | |
| 		{"root", "dir", "subdir"},
 | |
| 		{"dir", "subdir"},
 | |
| 	}
 | |
| 	noMatches := [][]string{
 | |
| 		{"nodir"},
 | |
| 		{"dirno"},
 | |
| 		{"root", "dirno"},
 | |
| 		{"root", "nodir"},
 | |
| 		{"root", "dirno", "subdir"},
 | |
| 		{"root", "nodir", "subdir"},
 | |
| 		{"dirno", "subdir"},
 | |
| 		{"nodir", "subdir"},
 | |
| 	}
 | |
| 	for _, sep := range []rune{'/', '\\'} {
 | |
| 		reStr := pathElemReImpl("dir", sep)
 | |
| 		re := regexp.MustCompile(reStr)
 | |
| 		for _, m := range matches {
 | |
| 			assert.Regexp(t, re, strings.Join(m, string(sep)))
 | |
| 		}
 | |
| 		for _, m := range noMatches {
 | |
| 			assert.NotRegexp(t, re, strings.Join(m, string(sep)))
 | |
| 		}
 | |
| 	}
 | |
| }
 | 
