initial commits
							parent
							
								
									df8291b0f1
								
							
						
					
					
						commit
						8d83a9b6e8
					
				|  | @ -0,0 +1,18 @@ | |||
| package arbitrary | ||||
| 
 | ||||
| import ( | ||||
| 	"io/fs" | ||||
| ) | ||||
| 
 | ||||
| func (arb T) RegularFile() fs.File { | ||||
| 
 | ||||
| 	var fns [](func()fs.File) = [](func()fs.File){ | ||||
| 		arb.TextFile, | ||||
| 		arb.HTMLFile, | ||||
| 	} | ||||
| 
 | ||||
| 	fn := fns[arb.randomness.Intn(len(fns))] | ||||
| 
 | ||||
| 	return fn() | ||||
| 
 | ||||
| } | ||||
|  | @ -0,0 +1,104 @@ | |||
| package arbitrary | ||||
| 
 | ||||
| import ( | ||||
| 	"github.com/reiver/go-strfs" | ||||
| 
 | ||||
| 	"io/fs" | ||||
| 	"time" | ||||
| ) | ||||
| 
 | ||||
| var ( | ||||
| 	textFiles []string = []string{ | ||||
| 		"", | ||||
| 
 | ||||
| 		"Hello world!", | ||||
| 		"Hello world!" +"\n", | ||||
| 		"Hello world!" +"\r", | ||||
| 		"Hello world!" +"\r\n", | ||||
| 		"Hello world!" +"\u0085", | ||||
| 		"Hello world!" +"\u2028", | ||||
| 		"Hello world!" +"\u2029", | ||||
| 
 | ||||
| 		"To Whom It May Concern:" +"\n"+"\n"+         "We were not alone." +"\n", | ||||
| 		"To Whom It May Concern:" +"\r"+"\r"+         "We were not alone." +"\r", | ||||
| 		"To Whom It May Concern:" +"\r\n"+"\r\n"+     "We were not alone." +"\r\n", | ||||
| 		"To Whom It May Concern:" +"\u0085"+"\u0085"+ "We were not alone." +"\u0085", | ||||
| 		"To Whom It May Concern:" +"\u2029"+          "We were not alone." +"\u2028", | ||||
| 	} | ||||
| ) | ||||
| 
 | ||||
| func (arb T) TextFile() fs.File { | ||||
| 
 | ||||
| 	var filecontent strfs.Content | ||||
| 	{ | ||||
| 		var s string = textFiles[arb.randomness.Intn(len(textFiles))] | ||||
| 
 | ||||
| 		filecontent = strfs.CreateContent(s) | ||||
| 	} | ||||
| 
 | ||||
| 	var filename string | ||||
| 	{ | ||||
| 		switch arb.randomness.Intn(10) { | ||||
| 		case 0: | ||||
| 			filename = ".plan" | ||||
| 		case 1: | ||||
| 			filename = ".project" | ||||
| 		case 2: | ||||
| 			filename = "message.txt" | ||||
| 		case 3: | ||||
| 			filename = "style.txt" | ||||
| 		case 4: | ||||
| 			filename = "style.txt" | ||||
| 		case 5: | ||||
| 			filename = "DOCUMENT.txt" | ||||
| 		case 6: | ||||
| 			filename = "file (2).txt" | ||||
| 		default: | ||||
| 			filename = arb.String() | ||||
| 			if arb.Bool() { | ||||
| 				filename += ".txt" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	var filemodtime time.Time = time.Now() | ||||
| 	func(){ | ||||
| 		if 0 == arb.randomness.Intn(10) { | ||||
| 			filemodtime = time.Date(1970,1,1,0,0,0,0,time.UTC) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		if 0 == arb.randomness.Intn(10) { | ||||
| 			filemodtime = time.Date(1924,6,7,20,6,3,11,time.UTC) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		if 0 == arb.randomness.Intn(10) { | ||||
| 			filemodtime = time.Date(2022,12,14,20,12,23,17,time.UTC) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		if 0 == 3 { | ||||
| 			year       := arb.randomness.Intn(3000) | ||||
| 			month      := time.Month(1+arb.randomness.Intn(12)) | ||||
| 			day        := 1+arb.randomness.Intn(31) | ||||
| 			hour       := arb.randomness.Intn(24) | ||||
| 			minute     := arb.randomness.Intn(60) | ||||
| 			second     := arb.randomness.Intn(60) | ||||
| 			nanosecond := arb.randomness.Intn(60) | ||||
| 
 | ||||
| 			filemodtime = time.Date(year, month, day, hour, minute, second, nanosecond, time.UTC) | ||||
| 			return | ||||
| 		} | ||||
| 	}() | ||||
| 
 | ||||
| 	var regularfile strfs.RegularFile = strfs.RegularFile{ | ||||
| 		FileContent: filecontent, | ||||
| 		FileName:    filename, | ||||
| 		FileModTime: filemodtime, | ||||
| 	} | ||||
| 
 | ||||
| 	var file fs.File = ®ularfile | ||||
| 
 | ||||
| 	return file | ||||
| } | ||||
		Loading…
	
		Reference in New Issue