summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x/net/http2/hpack/tables_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/net/http2/hpack/tables_test.go')
-rw-r--r--vendor/golang.org/x/net/http2/hpack/tables_test.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/vendor/golang.org/x/net/http2/hpack/tables_test.go b/vendor/golang.org/x/net/http2/hpack/tables_test.go
index 7f40d9a42..d963f3635 100644
--- a/vendor/golang.org/x/net/http2/hpack/tables_test.go
+++ b/vendor/golang.org/x/net/http2/hpack/tables_test.go
@@ -89,6 +89,32 @@ func TestHeaderFieldTable(t *testing.T) {
}
}
+func TestHeaderFieldTable_LookupMapEviction(t *testing.T) {
+ table := &headerFieldTable{}
+ table.init()
+ table.addEntry(pair("key1", "value1-1"))
+ table.addEntry(pair("key2", "value2-1"))
+ table.addEntry(pair("key1", "value1-2"))
+ table.addEntry(pair("key3", "value3-1"))
+ table.addEntry(pair("key4", "value4-1"))
+ table.addEntry(pair("key2", "value2-2"))
+
+ // evict all pairs
+ table.evictOldest(table.len())
+
+ if l := table.len(); l > 0 {
+ t.Errorf("table.len() = %d, want 0", l)
+ }
+
+ if l := len(table.byName); l > 0 {
+ t.Errorf("len(table.byName) = %d, want 0", l)
+ }
+
+ if l := len(table.byNameValue); l > 0 {
+ t.Errorf("len(table.byNameValue) = %d, want 0", l)
+ }
+}
+
func TestStaticTable(t *testing.T) {
fromSpec := `
+-------+-----------------------------+---------------+