mirror of
				https://github.com/tailscale/tailscale.git
				synced 2025-10-31 13:05:22 +00:00 
			
		
		
		
	types/opt: add Bool.EqualBool method
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
		 Brad Fitzpatrick
					Brad Fitzpatrick
				
			
				
					committed by
					
						 Brad Fitzpatrick
						Brad Fitzpatrick
					
				
			
			
				
	
			
			
			 Brad Fitzpatrick
						Brad Fitzpatrick
					
				
			
						parent
						
							4732722b87
						
					
				
				
					commit
					0071888a17
				
			| @@ -29,6 +29,13 @@ func (b Bool) Get() (v bool, ok bool) { | |||||||
| 	return v, err == nil | 	return v, err == nil | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // EqualBool reports whether b is equal to v. | ||||||
|  | // If b is empty or not a valid bool, it reports false. | ||||||
|  | func (b Bool) EqualBool(v bool) bool { | ||||||
|  | 	p, ok := b.Get() | ||||||
|  | 	return ok && p == v | ||||||
|  | } | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	trueBytes  = []byte("true") | 	trueBytes  = []byte("true") | ||||||
| 	falseBytes = []byte("false") | 	falseBytes = []byte("false") | ||||||
|   | |||||||
| @@ -64,3 +64,26 @@ func TestBool(t *testing.T) { | |||||||
| 		}) | 		}) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func TestBoolEqualBool(t *testing.T) { | ||||||
|  | 	tests := []struct { | ||||||
|  | 		b    Bool | ||||||
|  | 		v    bool | ||||||
|  | 		want bool | ||||||
|  | 	}{ | ||||||
|  | 		{"", true, false}, | ||||||
|  | 		{"", false, false}, | ||||||
|  | 		{"sdflk;", true, false}, | ||||||
|  | 		{"sldkf;", false, false}, | ||||||
|  | 		{"true", true, true}, | ||||||
|  | 		{"true", false, false}, | ||||||
|  | 		{"false", true, false}, | ||||||
|  | 		{"false", false, true}, | ||||||
|  | 	} | ||||||
|  | 	for _, tt := range tests { | ||||||
|  | 		if got := tt.b.EqualBool(tt.v); got != tt.want { | ||||||
|  | 			t.Errorf("(%q).EqualBool(%v) = %v; want %v", string(tt.b), tt.v, got, tt.want) | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user