All checks were successful
		
		
	
	Test / Create distribution (push) Successful in 25s
				
			Test / Hakurei (push) Successful in 44s
				
			Test / Sandbox (push) Successful in 41s
				
			Test / Hakurei (race detector) (push) Successful in 44s
				
			Test / Sandbox (race detector) (push) Successful in 41s
				
			Test / Hpkg (push) Successful in 41s
				
			Test / Flake checks (push) Successful in 1m24s
				
			Most tests already had no global state, however parallel was never enabled. This change enables it for all applicable tests. Signed-off-by: Ophestra <cat@gensokyo.uk>
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package dbus
 | |
| 
 | |
| import (
 | |
| 	"testing"
 | |
| )
 | |
| 
 | |
| func TestUnescapeValue(t *testing.T) {
 | |
| 	t.Parallel()
 | |
| 
 | |
| 	testCases := []struct {
 | |
| 		value   string
 | |
| 		want    string
 | |
| 		wantErr ParseError
 | |
| 	}{
 | |
| 		// upstream test cases
 | |
| 		{value: "abcde", want: "abcde"},
 | |
| 		{value: "", want: ""},
 | |
| 		{value: "%20%20", want: "  "},
 | |
| 		{value: "%24", want: "$"},
 | |
| 		{value: "%25", want: "%"},
 | |
| 		{value: "abc%24", want: "abc$"},
 | |
| 		{value: "%24abc", want: "$abc"},
 | |
| 		{value: "abc%24abc", want: "abc$abc"},
 | |
| 		{value: "/", want: "/"},
 | |
| 		{value: "-", want: "-"},
 | |
| 		{value: "_", want: "_"},
 | |
| 		{value: "A", want: "A"},
 | |
| 		{value: "I", want: "I"},
 | |
| 		{value: "Z", want: "Z"},
 | |
| 		{value: "a", want: "a"},
 | |
| 		{value: "i", want: "i"},
 | |
| 		{value: "z", want: "z"},
 | |
| 		/* Bug: https://bugs.freedesktop.org/show_bug.cgi?id=53499 */
 | |
| 		{value: "%c3%b6", want: "\xc3\xb6"},
 | |
| 
 | |
| 		{value: "%a", wantErr: ErrBadValHexLength},
 | |
| 		{value: "%q", wantErr: ErrBadValHexLength},
 | |
| 		{value: "%az", wantErr: ErrBadValHexByte},
 | |
| 		{value: "%%", wantErr: ErrBadValLength},
 | |
| 		{value: "%$$", wantErr: ErrBadValHexByte},
 | |
| 		{value: "abc%a", wantErr: ErrBadValHexLength},
 | |
| 		{value: "%axyz", wantErr: ErrBadValHexByte},
 | |
| 		{value: "%", wantErr: ErrBadValLength},
 | |
| 		{value: "$", wantErr: ErrBadValByte},
 | |
| 		{value: " ", wantErr: ErrBadValByte},
 | |
| 	}
 | |
| 
 | |
| 	for _, tc := range testCases {
 | |
| 		t.Run("unescape "+tc.value, func(t *testing.T) {
 | |
| 			t.Parallel()
 | |
| 
 | |
| 			if got, errno := unescapeValue([]byte(tc.value)); errno != tc.wantErr {
 | |
| 				t.Errorf("unescapeValue() errno = %v, wantErr %v", errno, tc.wantErr)
 | |
| 			} else if tc.wantErr == errSuccess && string(got) != tc.want {
 | |
| 				t.Errorf("unescapeValue() = %q, want %q", got, tc.want)
 | |
| 			}
 | |
| 		})
 | |
| 	}
 | |
| }
 |