@@ -8,7 +8,7 @@ describe("dotenv compliance", utils => {
8
8
expect. int(List . length(rows)).toBe(2 );
9
9
});
10
10
11
- utils. test("BASIC=basic is same as BASIC= \" basic \" " , ({expect}) => {
11
+ utils. test("Skips comments " , ({expect}) => {
12
12
let file = open_in_bin("./test/fixtures/.env.with_comment" );
13
13
let rows = Reenv . Util . readUntilEndOfFile(file);
14
14
@@ -17,9 +17,8 @@ describe("dotenv compliance", utils => {
17
17
18
18
utils. test("BASIC=basic is same as BASIC=\" basic\" " , ({expect}) => {
19
19
let env =
20
- open_in_bin("./test/fixtures/.env.quotes" )
21
- |> Reenv . t_of_in_channel(Reenv . make() )
22
- |> Reenv . get_exn("BASIC" );
20
+ Reenv . Env . make([ "./test/fixtures/.env.quotes" ] )
21
+ |> Reenv . Env . get_env("BASIC" );
23
22
24
23
expect. string(env).toEqual("basic" );
25
24
});
@@ -28,9 +27,8 @@ describe("dotenv compliance", utils => {
28
27
"empty values become empty strings (EMPTY= becomes EMPTY=\"\" )" ,
29
28
({expect}) => {
30
29
let env =
31
- open_in_bin("./test/fixtures/.env.empty" )
32
- |> Reenv . t_of_in_channel(Reenv . make() )
33
- |> Reenv . get_exn("EMPTY" );
30
+ Reenv . Env . make([ "./test/fixtures/.env.empty" ] )
31
+ |> Reenv . Env . get_env("EMPTY" );
34
32
35
33
expect. string(env).toEqual("" );
36
34
});
@@ -39,19 +37,17 @@ describe("dotenv compliance", utils => {
39
37
"single and double quoted values are escaped (SINGLE_QUOTE='quoted' == SINGLE_QUOTE=\" quoted\" )" ,
40
38
({expect}) => {
41
39
let env =
42
- open_in_bin("./test/fixtures/.env.single_quotes" )
43
- |> Reenv . t_of_in_channel(Reenv . make() )
44
- |> Reenv . get_exn("SINGLE_QUOTE" );
40
+ Reenv . Env . make([ "./test/fixtures/.env.single_quotes" ] )
41
+ |> Reenv . Env . get_env("SINGLE_QUOTE" );
45
42
46
43
expect. string(env).toEqual("quoted" );
47
44
},
48
45
);
49
46
50
47
utils. test("whitespace is removed from both ends of the value" , ({expect}) => {
51
48
let env =
52
- open_in_bin("./test/fixtures/.env.trim" )
53
- |> Reenv . t_of_in_channel(Reenv . make() )
54
- |> Reenv . get_exn("TRIM" );
49
+ Reenv . Env . make([ "./test/fixtures/.env.trim" ] )
50
+ |> Reenv . Env . get_env("TRIM" );
55
51
56
52
expect. string(env).toEqual("trim" );
57
53
});
@@ -60,27 +56,19 @@ describe("dotenv compliance", utils => {
60
56
"inner quotes are maintained (think JSON) (JSON={\" foo\" : \" bar\" } becomes {JSON:\" {\\\" foo\\\" : \\\" bar\\\" }\" )" ,
61
57
({expect}) => {
62
58
let env =
63
- open_in_bin("./test/fixtures/.env.json" )
64
- |> Reenv . t_of_in_channel(Reenv . make() )
65
- |> Reenv . array_of_t;
66
-
67
- let (key , value ) = env[ 0 ] ;
59
+ Reenv . Env . make([ "./test/fixtures/.env.json" ] )
60
+ |> Reenv . Env . get_env("JSON" );
68
61
69
- expect. string(key).toEqual("JSON" );
70
- expect. string(value).toEqual("{\" foo\" : \" bar\" }" );
62
+ expect. string(env).toEqual("{\" foo\" : \" bar\" }" );
71
63
},
72
64
);
73
65
74
66
utils. test("new lines are expanded" , ({expect}) => {
75
67
let env =
76
- open_in_bin("./test/fixtures/.env.new_line" )
77
- |> Reenv . t_of_in_channel(Reenv . make() )
78
- |> Reenv . array_of_t;
79
-
80
- let (key , value ) = env[ 0 ] ;
68
+ Reenv . Env . make([ "./test/fixtures/.env.new_line" ] )
69
+ |> Reenv . Env . get_env("NEW_LINE" );
81
70
82
- expect. string(key).toEqual("NEW_LINE" );
83
- expect. string(value).toEqual({| new
71
+ expect. string(env).toEqual({| new
84
72
line|} );
85
73
});
86
74
});
0 commit comments