| 87 | } |
| 88 | |
| 89 | func TestMap(t *testing.T) { |
| 90 | t.Run("map[string][]byte", func(t *testing.T) { |
| 91 | // Ignores nil pointer. |
| 92 | initialize.Map((*map[string][]byte)(nil)) |
| 93 | |
| 94 | var m map[string][]byte |
| 95 | |
| 96 | // Starts nil. |
| 97 | assert.Assert(t, m == nil) |
| 98 | |
| 99 | // Gets initialized. |
| 100 | initialize.Map(&m) |
| 101 | assert.DeepEqual(t, m, map[string][]byte{}) |
| 102 | |
| 103 | // Now writable. |
| 104 | m["x"] = []byte("y") |
| 105 | |
| 106 | // Doesn't overwrite. |
| 107 | initialize.Map(&m) |
| 108 | assert.DeepEqual(t, m, map[string][]byte{"x": []byte("y")}) |
| 109 | }) |
| 110 | |
| 111 | t.Run("map[string]string", func(t *testing.T) { |
| 112 | // Ignores nil pointer. |
| 113 | initialize.Map((*map[string]string)(nil)) |
| 114 | |
| 115 | var m map[string]string |
| 116 | |
| 117 | // Starts nil. |
| 118 | assert.Assert(t, m == nil) |
| 119 | |
| 120 | // Gets initialized. |
| 121 | initialize.Map(&m) |
| 122 | assert.DeepEqual(t, m, map[string]string{}) |
| 123 | |
| 124 | // Now writable. |
| 125 | m["x"] = "y" |
| 126 | |
| 127 | // Doesn't overwrite. |
| 128 | initialize.Map(&m) |
| 129 | assert.DeepEqual(t, m, map[string]string{"x": "y"}) |
| 130 | }) |
| 131 | } |
| 132 | |
| 133 | func TestPointer(t *testing.T) { |
| 134 | t.Run("bool", func(t *testing.T) { |