mirror of
				https://github.com/astral-sh/ruff.git
				synced 2025-10-31 12:05:52 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
	
		
			898 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			898 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| use ruff_python_ast::stmt_if::elif_else_range;
 | |
| use ruff_python_ast::Stmt;
 | |
| use ruff_python_parser::{Parse, ParseError};
 | |
| use ruff_text_size::TextSize;
 | |
| 
 | |
| #[test]
 | |
| fn extract_elif_else_range() -> Result<(), ParseError> {
 | |
|     let contents = "if a:
 | |
|     ...
 | |
| elif b:
 | |
|     ...
 | |
| ";
 | |
|     let stmt = Stmt::parse(contents, "<filename>")?;
 | |
|     let stmt = Stmt::as_if_stmt(&stmt).unwrap();
 | |
|     let range = elif_else_range(&stmt.elif_else_clauses[0], contents).unwrap();
 | |
|     assert_eq!(range.start(), TextSize::from(14));
 | |
|     assert_eq!(range.end(), TextSize::from(18));
 | |
| 
 | |
|     let contents = "if a:
 | |
|     ...
 | |
| else:
 | |
|     ...
 | |
| ";
 | |
|     let stmt = Stmt::parse(contents, "<filename>")?;
 | |
|     let stmt = Stmt::as_if_stmt(&stmt).unwrap();
 | |
|     let range = elif_else_range(&stmt.elif_else_clauses[0], contents).unwrap();
 | |
|     assert_eq!(range.start(), TextSize::from(14));
 | |
|     assert_eq!(range.end(), TextSize::from(18));
 | |
| 
 | |
|     Ok(())
 | |
| }
 | 
