@@ -47,6 +47,45 @@ void main() {
4747 expect (dotenv.env['TRIM_SPACE_FROM_UNQUOTED' ], 'some spaced out string' );
4848 expect (dotenv.env['USERNAME' ], 'therealnerdybeast@example.tld' );
4949 expect (dotenv.env['SPACED_KEY' ], 'parsed' );
50+ expect (dotenv.env['OVERRIDE_VALUE' ], 'not-overridden' );
51+ });
52+ });
53+
54+ group ('dotenv with overrides' , () {
55+ setUp (() {
56+ print (Directory .current.toString ());
57+ dotenv.testLoad (
58+ fileInput: File ('test/.env' ).readAsStringSync (),
59+ overrideWith: [File ("test/.env-override" ).readAsStringSync ()],
60+ ); //, mergeWith: Platform.environment
61+ });
62+ test ('able to load .env' , () {
63+ expect (dotenv.env['BAR' ], 'bar' );
64+ expect (dotenv.env['FOOBAR' ], '\$ FOOfoobar' );
65+ expect (dotenv.env['ESCAPED_DOLLAR_SIGN' ], '\$ 1000' );
66+ expect (dotenv.env['ESCAPED_QUOTE' ], "'" );
67+ expect (dotenv.env['BASIC' ], 'basic' );
68+ expect (dotenv.env['AFTER_LINE' ], 'after_line' );
69+ expect (dotenv.env['EMPTY' ], '' );
70+ expect (dotenv.env['SINGLE_QUOTES' ], 'single_quotes' );
71+ expect (dotenv.env['SINGLE_QUOTES_SPACED' ], ' single quotes ' );
72+ expect (dotenv.env['DOUBLE_QUOTES' ], 'double_quotes' );
73+ expect (dotenv.env['DOUBLE_QUOTES_SPACED' ], ' double quotes ' );
74+ expect (dotenv.env['EXPAND_NEWLINES' ], "expand\n new\n lines" );
75+ expect (dotenv.env['DONT_EXPAND_UNQUOTED' ], 'dontexpand\\ nnewlines' );
76+ expect (dotenv.env['DONT_EXPAND_SQUOTED' ], 'dontexpand\\ nnewlines' );
77+ expect (dotenv.env['COMMENTS' ], null );
78+ expect (dotenv.env['EQUAL_SIGNS' ], 'equals==' );
79+ expect (dotenv.env['RETAIN_INNER_QUOTES' ], '{"foo": "bar"}' );
80+ expect (dotenv.env['RETAIN_LEADING_DQUOTE' ], "\" retained" );
81+ expect (dotenv.env['RETAIN_LEADING_SQUOTE' ], '\' retained' );
82+ expect (dotenv.env['RETAIN_TRAILING_DQUOTE' ], 'retained\" ' );
83+ expect (dotenv.env['RETAIN_TRAILING_SQUOTE' ], "retained\' " );
84+ expect (dotenv.env['RETAIN_INNER_QUOTES_AS_STRING' ], '{"foo": "bar"}' );
85+ expect (dotenv.env['TRIM_SPACE_FROM_UNQUOTED' ], 'some spaced out string' );
86+ expect (dotenv.env['USERNAME' ], 'therealnerdybeast@example.tld' );
87+ expect (dotenv.env['SPACED_KEY' ], 'parsed' );
88+ expect (dotenv.env['OVERRIDE_VALUE' ], 'overridden' );
5089 });
5190 test (
5291 'when getting a vairable that is not in .env, we should get the fallback we defined' ,
0 commit comments