1// Copyright 2015 The Go Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5// map.go tests map operations. 6package main 7 8import "testing" 9 10//go:noinline 11func lenMap_ssa(v map[int]int) int { 12 return len(v) 13} 14 15func testLenMap(t *testing.T) { 16 17 v := make(map[int]int) 18 v[0] = 0 19 v[1] = 0 20 v[2] = 0 21 22 if want, got := 3, lenMap_ssa(v); got != want { 23 t.Errorf("expected len(map) = %d, got %d", want, got) 24 } 25} 26 27func testLenNilMap(t *testing.T) { 28 29 var v map[int]int 30 if want, got := 0, lenMap_ssa(v); got != want { 31 t.Errorf("expected len(nil) = %d, got %d", want, got) 32 } 33} 34func TestMap(t *testing.T) { 35 testLenMap(t) 36 testLenNilMap(t) 37} 38