github.com/astaxie/beego@v1.12.3/config/config_test.go (about)

     1  // Copyright 2016 beego Author. All Rights Reserved.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  package config
    16  
    17  import (
    18  	"os"
    19  	"testing"
    20  )
    21  
    22  func TestExpandValueEnv(t *testing.T) {
    23  
    24  	testCases := []struct {
    25  		item string
    26  		want string
    27  	}{
    28  		{"", ""},
    29  		{"$", "$"},
    30  		{"{", "{"},
    31  		{"{}", "{}"},
    32  		{"${}", ""},
    33  		{"${|}", ""},
    34  		{"${}", ""},
    35  		{"${{}}", ""},
    36  		{"${{||}}", "}"},
    37  		{"${pwd||}", ""},
    38  		{"${pwd||}", ""},
    39  		{"${pwd||}", ""},
    40  		{"${pwd||}}", "}"},
    41  		{"${pwd||{{||}}}", "{{||}}"},
    42  		{"${GOPATH}", os.Getenv("GOPATH")},
    43  		{"${GOPATH||}", os.Getenv("GOPATH")},
    44  		{"${GOPATH||root}", os.Getenv("GOPATH")},
    45  		{"${GOPATH_NOT||root}", "root"},
    46  		{"${GOPATH_NOT||||root}", "||root"},
    47  	}
    48  
    49  	for _, c := range testCases {
    50  		if got := ExpandValueEnv(c.item); got != c.want {
    51  			t.Errorf("expand value error, item %q want %q, got %q", c.item, c.want, got)
    52  		}
    53  	}
    54  
    55  }