Home / Function/ TestReadNthLine() — gin Function Reference

TestReadNthLine() — gin Function Reference

Architecture documentation for the TestReadNthLine() function in recovery_test.go from the gin codebase.

Entity Profile

Dependency Diagram

graph TD
  14b927c6_cb81_3298_2204_eb4a872f8e5b["TestReadNthLine()"]
  c9a553a7_05a4_91a7_23b0_924f9f59d021["recovery_test.go"]
  14b927c6_cb81_3298_2204_eb4a872f8e5b -->|defined in| c9a553a7_05a4_91a7_23b0_924f9f59d021
  style 14b927c6_cb81_3298_2204_eb4a872f8e5b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

recovery_test.go lines 322–362

func TestReadNthLine(t *testing.T) {
	// Create a temporary test file
	testContent := "line 0 \n line 1  \nline 2 \nline 3  \nline 4"
	tempFile, err := os.CreateTemp("", "testfile*.txt")
	if err != nil {
		t.Fatal(err)
	}
	defer os.Remove(tempFile.Name())

	// Write test content to the temporary file
	if _, err := tempFile.WriteString(testContent); err != nil {
		t.Fatal(err)
	}
	if err := tempFile.Close(); err != nil {
		t.Fatal(err)
	}

	// Test cases
	tests := []struct {
		name     string
		lineNum  int
		fileName string
		want     string
		wantErr  bool
	}{
		{name: "Read first line", lineNum: 0, fileName: tempFile.Name(), want: "line 0", wantErr: false},
		{name: "Read middle line", lineNum: 2, fileName: tempFile.Name(), want: "line 2", wantErr: false},
		{name: "Read last line", lineNum: 4, fileName: tempFile.Name(), want: "line 4", wantErr: false},
		{name: "Line number exceeds file length", lineNum: 10, fileName: tempFile.Name(), want: "", wantErr: false},
		{name: "Negative line number", lineNum: -1, fileName: tempFile.Name(), want: "", wantErr: false},
		{name: "Non-existent file", lineNum: 1, fileName: "/non/existent/file.txt", want: "", wantErr: true},
	}

	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			got, err := readNthLine(tt.fileName, tt.lineNum)
			assert.Equal(t, tt.wantErr, err != nil)
			assert.Equal(t, tt.want, got)
		})
	}
}

Domain

Subdomains

Defined In

Frequently Asked Questions

What does TestReadNthLine() do?
TestReadNthLine() is a function in the gin codebase, defined in recovery_test.go.
Where is TestReadNthLine() defined?
TestReadNthLine() is defined in recovery_test.go at line 322.

Analyze Your Own Codebase

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

Try Supermodel Free