| 425 | |
| 426 | #[test] |
| 427 | fn test_compile_fstring() { |
| 428 | let code1 = r#" |
| 429 | assert f"1" == '1' |
| 430 | "#; |
| 431 | let compiled = compile(code1, Mode::Exec, "<>", CompileOpts::default()); |
| 432 | dbg!(compiled.expect("compile error")); |
| 433 | |
| 434 | let code2 = r#" |
| 435 | assert f"{1}" == '1' |
| 436 | "#; |
| 437 | let compiled = compile(code2, Mode::Exec, "<>", CompileOpts::default()); |
| 438 | dbg!(compiled.expect("compile error")); |
| 439 | let code3 = r#" |
| 440 | assert f"{1+1}" == '2' |
| 441 | "#; |
| 442 | let compiled = compile(code3, Mode::Exec, "<>", CompileOpts::default()); |
| 443 | dbg!(compiled.expect("compile error")); |
| 444 | |
| 445 | let code4 = r#" |
| 446 | assert f"{{{(lambda: f'{1}')}" == '{1' |
| 447 | "#; |
| 448 | let compiled = compile(code4, Mode::Exec, "<>", CompileOpts::default()); |
| 449 | dbg!(compiled.expect("compile error")); |
| 450 | |
| 451 | let code5 = r#" |
| 452 | assert f"a{1}" == 'a1' |
| 453 | "#; |
| 454 | let compiled = compile(code5, Mode::Exec, "<>", CompileOpts::default()); |
| 455 | dbg!(compiled.expect("compile error")); |
| 456 | |
| 457 | let code6 = r#" |
| 458 | assert f"{{{(lambda x: f'hello, {x}')('world}')}" == '{hello, world}' |
| 459 | "#; |
| 460 | let compiled = compile(code6, Mode::Exec, "<>", CompileOpts::default()); |
| 461 | dbg!(compiled.expect("compile error")); |
| 462 | } |
| 463 | |
| 464 | #[test] |
| 465 | fn test_simple_enum() { |