mirror of
				https://github.com/sharkdp/bat.git
				synced 2025-10-30 14:43:57 +00:00 
			
		
		
		
	Add sample files and snapshot generator
This commit is contained in:
		
				
					committed by
					
						 David Peter
						David Peter
					
				
			
			
				
	
			
			
			
						parent
						
							cb7b158172
						
					
				
				
					commit
					026a9ebae3
				
			
							
								
								
									
										40
									
								
								tests/snapshots/generate_snapshots.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										40
									
								
								tests/snapshots/generate_snapshots.py
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| #!/usr/bin/env python3 | ||||
| import itertools | ||||
| import subprocess | ||||
| import pathlib | ||||
| import shutil | ||||
|  | ||||
| def generate_snapshots(): | ||||
|     single_styles = ["changes", "grid", "header", "numbers"] | ||||
|     collective_styles = ["full", "plain"] | ||||
|  | ||||
|     for num in range(len(single_styles)): | ||||
|         for grouped in itertools.combinations(single_styles, num + 1): | ||||
|             generate_snapshot(",".join(grouped)) | ||||
|  | ||||
|     for style in collective_styles: | ||||
|         generate_snapshot(style) | ||||
|  | ||||
| def generate_snapshot(option): | ||||
|     command = "../../target/debug/bat --style={0} sample.rs > output/{0}.snapshot.txt".format( | ||||
|         option | ||||
|     ) | ||||
|     print("generating snapshot for {}".format(option)) | ||||
|     subprocess.call(command, shell=True) | ||||
|  | ||||
| def prepare_output_dir(): | ||||
|     shutil.rmtree("output", ignore_errors=True) | ||||
|     pathlib.Path("output").mkdir() | ||||
|  | ||||
| def modify_sample_file(): | ||||
|     print("modifying sample.rs to show changes") | ||||
|     shutil.copyfile("sample.modified.rs", "sample.rs") | ||||
|  | ||||
| def undo_sample_file_modification(): | ||||
|     print("undoing sample.rs modifications") | ||||
|     subprocess.call("git checkout -- sample.rs", shell=True) | ||||
|  | ||||
| prepare_output_dir() | ||||
| modify_sample_file() | ||||
| generate_snapshots() | ||||
| undo_sample_file_modification() | ||||
							
								
								
									
										21
									
								
								tests/snapshots/sample.modified.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								tests/snapshots/sample.modified.rs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| struct Rectangle { | ||||
|     width: u32, | ||||
|     height: u32, | ||||
| } | ||||
|  | ||||
| fn main() { | ||||
|     let rect1 = Rectangle { width: 30, height: 50 }; | ||||
|  | ||||
|     println!( | ||||
|         "The perimeter of the rectangle is {} pixels.", | ||||
|         perimeter(&rect1) | ||||
|     ); | ||||
| } | ||||
|  | ||||
| fn area(rectangle: &Rectangle) -> u32 { | ||||
|     rectangle.width * rectangle.height | ||||
| } | ||||
|  | ||||
| fn perimeter(rectangle: &Rectangle) -> u32 { | ||||
|     (rectangle.width + rectangle.height) * 2 | ||||
| } | ||||
							
								
								
									
										18
									
								
								tests/snapshots/sample.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								tests/snapshots/sample.rs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| struct Rectangle { | ||||
|     width: u32, | ||||
|     height: u32, | ||||
| } | ||||
|  | ||||
| fn main() { | ||||
|     // width and height of a rectangle can be different | ||||
|     let rect1 = Rectangle { width: 30, height: 50 }; | ||||
|  | ||||
|     println!( | ||||
|         "The area of the rectangle is {} square pixels.", | ||||
|         area(&rect1) | ||||
|     ); | ||||
| } | ||||
|  | ||||
| fn area(rectangle: &Rectangle) -> u32 { | ||||
|     rectangle.width * rectangle.height | ||||
| } | ||||
		Reference in New Issue
	
	Block a user