| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | 
							- // Copyright 2016 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.
 
- // +build go1.8
 
- package http2
 
- import (
 
- 	"crypto/tls"
 
- 	"net/http"
 
- 	"testing"
 
- 	"time"
 
- )
 
- // Tests that http2.Server.IdleTimeout is initialized from
 
- // http.Server.{Idle,Read}Timeout. http.Server.IdleTimeout was
 
- // added in Go 1.8.
 
- func TestConfigureServerIdleTimeout_Go18(t *testing.T) {
 
- 	const timeout = 5 * time.Second
 
- 	const notThisOne = 1 * time.Second
 
- 	// With a zero http2.Server, verify that it copies IdleTimeout:
 
- 	{
 
- 		s1 := &http.Server{
 
- 			IdleTimeout: timeout,
 
- 			ReadTimeout: notThisOne,
 
- 		}
 
- 		s2 := &Server{}
 
- 		if err := ConfigureServer(s1, s2); err != nil {
 
- 			t.Fatal(err)
 
- 		}
 
- 		if s2.IdleTimeout != timeout {
 
- 			t.Errorf("s2.IdleTimeout = %v; want %v", s2.IdleTimeout, timeout)
 
- 		}
 
- 	}
 
- 	// And that it falls back to ReadTimeout:
 
- 	{
 
- 		s1 := &http.Server{
 
- 			ReadTimeout: timeout,
 
- 		}
 
- 		s2 := &Server{}
 
- 		if err := ConfigureServer(s1, s2); err != nil {
 
- 			t.Fatal(err)
 
- 		}
 
- 		if s2.IdleTimeout != timeout {
 
- 			t.Errorf("s2.IdleTimeout = %v; want %v", s2.IdleTimeout, timeout)
 
- 		}
 
- 	}
 
- 	// Verify that s1's IdleTimeout doesn't overwrite an existing setting:
 
- 	{
 
- 		s1 := &http.Server{
 
- 			IdleTimeout: notThisOne,
 
- 		}
 
- 		s2 := &Server{
 
- 			IdleTimeout: timeout,
 
- 		}
 
- 		if err := ConfigureServer(s1, s2); err != nil {
 
- 			t.Fatal(err)
 
- 		}
 
- 		if s2.IdleTimeout != timeout {
 
- 			t.Errorf("s2.IdleTimeout = %v; want %v", s2.IdleTimeout, timeout)
 
- 		}
 
- 	}
 
- }
 
- func TestCertClone(t *testing.T) {
 
- 	c := &tls.Config{
 
- 		GetClientCertificate: func(*tls.CertificateRequestInfo) (*tls.Certificate, error) {
 
- 			panic("shouldn't be called")
 
- 		},
 
- 	}
 
- 	c2 := cloneTLSConfig(c)
 
- 	if c2.GetClientCertificate == nil {
 
- 		t.Error("GetClientCertificate is nil")
 
- 	}
 
- }
 
 
  |