@@ -2,11 +2,15 @@ use crate::helpers::runner::runner;
22use camino:: Utf8PathBuf ;
33use indoc:: { formatdoc, indoc} ;
44use scarb_api:: ScarbCommand ;
5+ use scarb_api:: version:: scarb_version;
6+ use semver:: Version ;
57use shared:: test_utils:: output_assert:: { assert_stderr_contains, assert_stdout_contains} ;
68use sncast:: helpers:: constants:: INIT_SCRIPTS_DIR ;
79use sncast:: helpers:: scarb_utils:: get_cairo_version;
810use tempfile:: TempDir ;
911
12+ const SCARB_2_14_0 : Version = Version :: new ( 2 , 14 , 0 ) ;
13+
1014#[ test]
1115fn test_script_init_happy_case ( ) {
1216 let script_name = "my_script" ;
@@ -34,20 +38,45 @@ fn test_script_init_happy_case() {
3438 let scarb_toml_path = Utf8PathBuf :: from_path_buf ( scarb_toml_path) . unwrap ( ) ;
3539 let cairo_version = get_cairo_version ( & scarb_toml_path) . unwrap ( ) ;
3640
37- let expected_scarb_toml = formatdoc ! (
38- r#"
41+ let scarb_version = scarb_version ( ) . unwrap ( ) . scarb ;
42+
43+ let expected_scarb_toml = if scarb_version >= SCARB_2_14_0 {
44+ formatdoc ! (
45+ r#"
3946 [package]
4047 name = "{script_name}"
4148 version = "0.1.0"
4249 edition = [..]
4350
4451 # See more keys and their definitions at https://docs.swmansion.com/scarb/docs/reference/manifest.html
4552
53+ [executable]
54+
55+ [cairo]
56+ enable-gas = false
57+
4658 [dependencies]
59+ cairo_execute = "{cairo_version}"
4760 sncast_std = "{cast_version}"
4861 starknet = ">={cairo_version}"
4962 "#
50- ) ;
63+ )
64+ } else {
65+ formatdoc ! (
66+ r#"
67+ [package]
68+ name = "{script_name}"
69+ version = "0.1.0"
70+ edition = [..]
71+
72+ # See more keys and their definitions at https://docs.swmansion.com/scarb/docs/reference/manifest.html
73+
74+ [dependencies]
75+ sncast_std = "{cast_version}"
76+ starknet = ">={cairo_version}"
77+ "#
78+ )
79+ } ;
5180
5281 snapbox:: assert_matches ( expected_scarb_toml, scarb_toml_content) ;
5382
0 commit comments