|  | // Copyright 2024 The Go Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file. | 
|  |  | 
|  | package opaque_map_test | 
|  |  | 
|  | import ( | 
|  | "testing" | 
|  |  | 
|  | testopaquepb "google.golang.org/protobuf/internal/testprotos/testeditions/testeditions_opaque" | 
|  | ) | 
|  |  | 
|  | func TestOpaqueMap(t *testing.T) { | 
|  | m := &testopaquepb.TestAllTypes{} | 
|  |  | 
|  | m.SetMapStringString(map[string]string{"one": "eins"}) | 
|  | if got, want := len(m.GetMapStringString()), 1; got != want { | 
|  | t.Errorf("after setting map_string_string to a non-empty map: len(m.GetMapStringString()) = %v, want %v", got, want) | 
|  | } | 
|  | delete(m.GetMapStringString(), "one") | 
|  | if got, want := len(m.GetMapStringString()), 0; got != want { | 
|  | t.Errorf("after removing all elements from m_one: len(m.GetMapStringString()) = %v, want %v", got, want) | 
|  | } | 
|  | if got := m.GetMapStringString(); got == nil { | 
|  | t.Errorf("after removing all elements from m_one: m.GetMapStringString() = nil, want non-nil map") | 
|  | } | 
|  | m.GetMapStringString()["two"] = "zwei" | 
|  | if got, want := len(m.GetMapStringString()), 1; got != want { | 
|  | t.Errorf("after adding new element to m_one: len(m.GetMapStringString()) = %v, want %v", got, want) | 
|  | } | 
|  | m.SetMapStringString(map[string]string{}) | 
|  | if got := m.GetMapStringString(); got == nil { | 
|  | t.Errorf("after setting m_one to an empty map: m.GetMapStringString() = nil, want non-nil map") | 
|  | } | 
|  | } |