mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 11:32:25 -05:00 
			
		
		
		
	Grand test fixup (#138)
* start fixing up tests * fix up tests + automate with drone * fiddle with linting * messing about with drone.yml * some more fiddling * hmmm * add cache * add vendor directory * verbose * ci updates * update some little things * update sig
This commit is contained in:
		
					parent
					
						
							
								329a5e8144
							
						
					
				
			
			
				commit
				
					
						98263a7de6
					
				
			
		
					 2677 changed files with 1090869 additions and 219 deletions
				
			
		
							
								
								
									
										58
									
								
								vendor/github.com/golang/protobuf/proto/discard.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								vendor/github.com/golang/protobuf/proto/discard.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,58 @@ | |||
| // Copyright 2019 The Go Authors. All rights reserved. | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
| 
 | ||||
| package proto | ||||
| 
 | ||||
| import ( | ||||
| 	"google.golang.org/protobuf/reflect/protoreflect" | ||||
| ) | ||||
| 
 | ||||
| // DiscardUnknown recursively discards all unknown fields from this message | ||||
| // and all embedded messages. | ||||
| // | ||||
| // When unmarshaling a message with unrecognized fields, the tags and values | ||||
| // of such fields are preserved in the Message. This allows a later call to | ||||
| // marshal to be able to produce a message that continues to have those | ||||
| // unrecognized fields. To avoid this, DiscardUnknown is used to | ||||
| // explicitly clear the unknown fields after unmarshaling. | ||||
| func DiscardUnknown(m Message) { | ||||
| 	if m != nil { | ||||
| 		discardUnknown(MessageReflect(m)) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func discardUnknown(m protoreflect.Message) { | ||||
| 	m.Range(func(fd protoreflect.FieldDescriptor, val protoreflect.Value) bool { | ||||
| 		switch { | ||||
| 		// Handle singular message. | ||||
| 		case fd.Cardinality() != protoreflect.Repeated: | ||||
| 			if fd.Message() != nil { | ||||
| 				discardUnknown(m.Get(fd).Message()) | ||||
| 			} | ||||
| 		// Handle list of messages. | ||||
| 		case fd.IsList(): | ||||
| 			if fd.Message() != nil { | ||||
| 				ls := m.Get(fd).List() | ||||
| 				for i := 0; i < ls.Len(); i++ { | ||||
| 					discardUnknown(ls.Get(i).Message()) | ||||
| 				} | ||||
| 			} | ||||
| 		// Handle map of messages. | ||||
| 		case fd.IsMap(): | ||||
| 			if fd.MapValue().Message() != nil { | ||||
| 				ms := m.Get(fd).Map() | ||||
| 				ms.Range(func(_ protoreflect.MapKey, v protoreflect.Value) bool { | ||||
| 					discardUnknown(v.Message()) | ||||
| 					return true | ||||
| 				}) | ||||
| 			} | ||||
| 		} | ||||
| 		return true | ||||
| 	}) | ||||
| 
 | ||||
| 	// Discard unknown fields. | ||||
| 	if len(m.GetUnknown()) > 0 { | ||||
| 		m.SetUnknown(nil) | ||||
| 	} | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue