status-im/status-go

View on GitHub
images/color_test.go

Summary

Maintainability
A
0 mins
Test Coverage
package images

import (
    "image/color"
    "testing"
)

func TestParseColor(t *testing.T) {
    // Test hex color string format
    hexColor := "#FF00FF"
    expectedResult := color.RGBA{R: 255, G: 0, B: 255, A: 255}
    result, err := ParseColor(hexColor)
    if err != nil {
        t.Errorf("unexpected error: %s", err)
    }
    if result != expectedResult {
        t.Errorf("unexpected result: %v (expected %v)", result, expectedResult)
    }

    // Test RGB color string format
    rgbColor := "rgb(255, 0, 255)"
    expectedResult = color.RGBA{R: 255, G: 0, B: 255, A: 255}
    result, err = ParseColor(rgbColor)
    if err != nil {
        t.Errorf("unexpected error: %s", err)
    }
    if result != expectedResult {
        t.Errorf("unexpected result: %v (expected %v)", result, expectedResult)
    }

    // Test RGBA color string format
    rgbaColor := "rgba(255, 0, 255, 1)"
    expectedResult = color.RGBA{R: 255, G: 0, B: 255, A: 255}
    result, err = ParseColor(rgbaColor)
    if err != nil {
        t.Errorf("unexpected error: %s", err)
    }
    if result != expectedResult {
        t.Errorf("unexpected result: %v (expected %v)", result, expectedResult)
    }

    // Test invalid color string format
    invalidColor := "blah"
    _, err = ParseColor(invalidColor)
    if err == nil {
        t.Errorf("expected error, but got none")
    }
}