Home / File/ routergroup_test.go — gin Source File

routergroup_test.go — gin Source File

Architecture documentation for routergroup_test.go, a go file in the gin codebase. 1 imports, 0 dependents.

File go GinCore Middleware 1 imports 13 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  05f47e3a_87c8_197f_14f5_0e14b25699a8["routergroup_test.go"]
  08248871_dc00_f330_15ef_4a0fbf2bafbb["http"]
  05f47e3a_87c8_197f_14f5_0e14b25699a8 --> 08248871_dc00_f330_15ef_4a0fbf2bafbb
  style 05f47e3a_87c8_197f_14f5_0e14b25699a8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

package gin

import (
	"net/http"
	"testing"

	"github.com/stretchr/testify/assert"
)

var MaxHandlers = 32

func init() {
	SetMode(TestMode)
}

func TestRouterGroupBasic(t *testing.T) {
	router := New()
	group := router.Group("/hola", func(c *Context) {})
	group.Use(func(c *Context) {})

	assert.Len(t, group.Handlers, 2)
	assert.Equal(t, "/hola", group.BasePath())
	assert.Equal(t, router, group.engine)

	group2 := group.Group("manu")
	group2.Use(func(c *Context) {}, func(c *Context) {})

	assert.Len(t, group2.Handlers, 4)
	assert.Equal(t, "/hola/manu", group2.BasePath())
	assert.Equal(t, router, group2.engine)
}

func TestRouterGroupBasicHandle(t *testing.T) {
	performRequestInGroup(t, http.MethodGet)
	performRequestInGroup(t, http.MethodPost)
	performRequestInGroup(t, http.MethodPut)
	performRequestInGroup(t, http.MethodPatch)
	performRequestInGroup(t, http.MethodDelete)
	performRequestInGroup(t, http.MethodHead)
	performRequestInGroup(t, http.MethodOptions)
}

func performRequestInGroup(t *testing.T, method string) {
	router := New()
	v1 := router.Group("v1", func(c *Context) {})
	assert.Equal(t, "/v1", v1.BasePath())

	login := v1.Group("/login/", func(c *Context) {}, func(c *Context) {})
	assert.Equal(t, "/v1/login/", login.BasePath())

	handler := func(c *Context) {
		c.String(http.StatusBadRequest, "the method was %s and index %d", c.Request.Method, c.index)
	}

	switch method {
	case http.MethodGet:
// ... (160 more lines)

Domain

Subdomains

Classes

Dependencies

  • http

Frequently Asked Questions

What does routergroup_test.go do?
routergroup_test.go is a source file in the gin codebase, written in go. It belongs to the GinCore domain, Middleware subdomain.
What functions are defined in routergroup_test.go?
routergroup_test.go defines 13 function(s): TestRouterGroupBadMethod, TestRouterGroupBasic, TestRouterGroupBasicHandle, TestRouterGroupCombineHandlersEmptySliceNotNil, TestRouterGroupCombineHandlersTooManyHandlers, TestRouterGroupInvalidStatic, TestRouterGroupInvalidStaticFile, TestRouterGroupInvalidStaticFileFS, TestRouterGroupPipeline, TestRouterGroupTooManyHandlers, and 3 more.
What does routergroup_test.go depend on?
routergroup_test.go imports 1 module(s): http.
Where is routergroup_test.go in the architecture?
routergroup_test.go is located at routergroup_test.go (domain: GinCore, subdomain: Middleware).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free