package Ġio . eng en ious . s ift Ċ Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Test Ċ Ċ class ĠEnv Vars Inject ors Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġempty String () Ġ= ĠassertEquals ( ĊĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠ Ġinject Env Vars ("") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġstring Without Variables () Ġ= ĠassertEquals ( ĊĠĠĠĠĠĠĠ Ġ" foobar ", ĊĠĠĠĠĠĠĠ Ġinject Env Vars (" foobar ") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdollar String () Ġ= ĠassertEquals ( ĊĠĠĠĠĠĠĠ Ġ"$ ", ĊĠĠĠĠĠĠĠ Ġinject Env Vars ("$ ") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnot Existing Vars Are Not Re placed () Ġ= ĠassertEquals ( ĊĠĠĠĠĠĠĠ Ġ"\ $ Yu io ", ĊĠĠĠĠĠĠĠ Ġinject Env Vars ("\ $ Yu io ") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġexisting Vars Are Re placed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( name , Ġvalue ) Ġ= ĠSystem . getenv (). entries . first () ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinject Env Vars ("\ $$ name ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġescaped Vars Are Not Re placed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( name , Ġ_) Ġ= ĠSystem . getenv (). entries . first () ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ $ name ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinject Env Vars ("\\ $$ name ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdouble Esc aped Vars Are Re placed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( name , Ġvalue ) Ġ= ĠSystem . getenv (). entries . first () ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" \$ value """, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinject Env Vars (""" \\ ${ "$ "} $ name """) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdouble Escape Is Re placed () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" aa BB \ cc DD """, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinject Env Vars (""" aa BB \\ cc DD """) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġvar Prefix At The End IsNot Re placed () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" aa BB cc DD $ """, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinject Env Vars (""" aa BB cc DD $ """) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġvar Name Bounded By Special Chars () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( name , Ġvalue ) Ġ= ĠSystem . getenv (). entries . first () ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ $ value ^ ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinject Env Vars (" $\ $$ name ^ ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ