Home / Function/ TestData_Len() — fiber Function Reference

TestData_Len() — fiber Function Reference

Architecture documentation for the TestData_Len() function in data_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  16b1d159_bf42_69cc_737b_41de6c662109["TestData_Len()"]
  31960edf_7060_281a_0b6d_40d015c11902["data_test.go"]
  16b1d159_bf42_69cc_737b_41de6c662109 -->|defined in| 31960edf_7060_281a_0b6d_40d015c11902
  style 16b1d159_bf42_69cc_737b_41de6c662109 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

middleware/session/data_test.go lines 82–147

func TestData_Len(t *testing.T) {
	t.Parallel()

	// Test case: Empty data
	t.Run("Empty data", func(t *testing.T) {
		t.Parallel()
		d := acquireData()
		d.Reset() // Ensure clean state from pool
		defer dataPool.Put(d)
		defer d.Reset()
		length := d.Len()
		require.Equal(t, 0, length, "Expected length to be 0 for empty data")
	})

	// Test case: Single key
	t.Run("Single key", func(t *testing.T) {
		t.Parallel()
		d := acquireData()
		d.Reset() // Ensure clean state from pool
		defer dataPool.Put(d)
		defer d.Reset()
		d.Set("key1", "value1")
		length := d.Len()
		require.Equal(t, 1, length, "Expected length to be 1 when one key is set")
	})

	// Test case: Multiple keys
	t.Run("Multiple keys", func(t *testing.T) {
		t.Parallel()
		d := acquireData()
		d.Reset() // Ensure clean state from pool
		defer dataPool.Put(d)
		defer d.Reset()
		d.Set("key1", "value1")
		d.Set("key2", "value2")
		d.Set("key3", "value3")
		length := d.Len()
		require.Equal(t, 3, length, "Expected length to be 3 when three keys are set")
	})

	// Test case: Concurrent access
	t.Run("Concurrent access", func(t *testing.T) {
		t.Parallel()
		d := acquireData()
		d.Reset() // Ensure clean state from pool
		defer dataPool.Put(d)
		defer d.Reset()
		d.Set("key1", "value1")
		d.Set("key2", "value2")
		d.Set("key3", "value3")

		done := make(chan bool, 2) // Buffered channel with size 2
		go func() {
			length := d.Len()
			assert.Equal(t, 3, length, "Expected length to be 3 during concurrent access")
			done <- true
		}()
		go func() {
			length := d.Len()
			assert.Equal(t, 3, length, "Expected length to be 3 during concurrent access")
			done <- true
		}()
		<-done
		<-done
	})
}

Subdomains

Frequently Asked Questions

What does TestData_Len() do?
TestData_Len() is a function in the fiber codebase, defined in middleware/session/data_test.go.
Where is TestData_Len() defined?
TestData_Len() is defined in middleware/session/data_test.go at line 82.

Analyze Your Own Codebase

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

Try Supermodel Free