initial commits
							parent
							
								
									fb416591af
								
							
						
					
					
						commit
						857fb769a8
					
				| 
						 | 
				
			
			@ -0,0 +1,13 @@
 | 
			
		|||
package rfc2234
 | 
			
		||||
 | 
			
		||||
// IsSubDelim returns true if the value of 'r' matches 'sub-delims' as defined in IETF RFC-2234:
 | 
			
		||||
//
 | 
			
		||||
//	sub-delims  = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
 | 
			
		||||
func IsSubDelim(r rune) bool {
 | 
			
		||||
	switch r {
 | 
			
		||||
	case          '!' , '$' , '&' ,'\'' , '(' , ')' , '*' , '+' , ',' , ';' , '=':
 | 
			
		||||
		return true
 | 
			
		||||
	default:
 | 
			
		||||
		return false
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
package rfc2234_test
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"testing"
 | 
			
		||||
 | 
			
		||||
	"sourcecode.social/reiver/go-rfc2234"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestIsSubDelim(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
	tests := []struct{
 | 
			
		||||
		Rune rune
 | 
			
		||||
		Expected bool
 | 
			
		||||
	}{
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for r:=rune(0); r < rune(8192); r++ {
 | 
			
		||||
		test := struct{
 | 
			
		||||
			Rune rune
 | 
			
		||||
			Expected bool
 | 
			
		||||
		}{
 | 
			
		||||
			Rune: r,
 | 
			
		||||
			Expected: false,
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if '!' == r ||
 | 
			
		||||
		   '$' == r ||
 | 
			
		||||
		   '&' == r ||
 | 
			
		||||
		  '\'' == r ||
 | 
			
		||||
		   '(' == r ||
 | 
			
		||||
		   ')' == r ||
 | 
			
		||||
		   '*' == r ||
 | 
			
		||||
		   '+' == r ||
 | 
			
		||||
		   ',' == r ||
 | 
			
		||||
		   ';' == r ||
 | 
			
		||||
		   '=' == r {
 | 
			
		||||
			test.Expected = true
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		tests = append(tests, test)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for testNumber, test := range tests {
 | 
			
		||||
		actual := rfc2234.IsSubDelim(test.Rune)
 | 
			
		||||
		expected := test.Expected
 | 
			
		||||
 | 
			
		||||
		if expected != actual {
 | 
			
		||||
			t.Errorf("For test #%d, the actual value for rfc2234.IsSubDelim() is not what was expected.", testNumber)
 | 
			
		||||
			t.Logf("EXPECTED: %t", expected)
 | 
			
		||||
			t.Logf("ACTUAL:   %t", actual)
 | 
			
		||||
			t.Logf("RUNE: (%U) %q", test.Rune, string(test.Rune))
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue