Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
package main

import (
"encoding/base64"
"fmt"
"testing"
)

func TestMaind247df73bb(t *testing.T) {
testCases := []struct {
name string
input string
stdEncoded string
rawStdEncoded string
urlEncoded string
rawUrlEncoded string
}{
{
name: "Basic String",
input: "Gol@ng is Awesome?~",
stdEncoded: "R29sQG5nIGlzIEF3ZXNvbWU/fw==",
rawStdEncoded: "R29sQG5nIGlzIEF3ZXNvbWU/fw",
urlEncoded: "R29sQG5nIGlzIEF3ZXNvbWU_fw==",
rawUrlEncoded: "R29sQG5nIGlzIEF3ZXNvbWU_fw",
},
{
name: "Empty String",
input: "",
stdEncoded: "",
rawStdEncoded: "",
urlEncoded: "",
rawUrlEncoded: "",
},
}

for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
// Standard Base64 Encoding
encodedData := base64.StdEncoding.EncodeToString([]byte(tc.input))
if encodedData != tc.stdEncoded {
t.Errorf("Expected standard encoding: %s, got: %s", tc.stdEncoded, encodedData)
}

// Standard Base64 Encoding without padding
encodedDataWithoutPadding := base64.RawStdEncoding.EncodeToString([]byte(tc.input))
if encodedDataWithoutPadding != tc.rawStdEncoded {
t.Errorf("Expected raw standard encoding: %s, got: %s", tc.rawStdEncoded, encodedDataWithoutPadding)
}

// URL and filename-safe Base64 encoding
urlSafeEncodedData := base64.URLEncoding.EncodeToString([]byte(tc.input))
if urlSafeEncodedData != tc.urlEncoded {
t.Errorf("Expected URL safe encoding: %s, got: %s", tc.urlEncoded, urlSafeEncodedData)
}

// URL and filename-safe Base64 encoding without padding
urlSafeEncodedDataWithoutPadding := base64.RawURLEncoding.EncodeToString([]byte(tc.input))
if urlSafeEncodedDataWithoutPadding != tc.rawUrlEncoded {
t.Errorf("Expected raw URL safe encoding: %s, got: %s", tc.rawUrlEncoded, urlSafeEncodedDataWithoutPadding)
}
})
}
}

func main() {
data := "Gol@ng is Awesome?~"

// Standard Base64 Encoding
encodedData := base64.StdEncoding.EncodeToString([]byte(data))
fmt.Println(encodedData)

// Standard Base64 Encoding without padding
encodedDataWithoutPadding := base64.RawStdEncoding.EncodeToString([]byte(data))
fmt.Println(encodedDataWithoutPadding)

// URL and filename-safe Base64 encoding
urlSafeEncodedData := base64.URLEncoding.EncodeToString([]byte(data))
fmt.Println(urlSafeEncodedData)

// URL and filename-safe Base64 encoding without padding
urlSafeEncodedDataWithoutPadding := base64.RawURLEncoding.EncodeToString([]byte(data))
fmt.Println(urlSafeEncodedDataWithoutPadding)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package main

import (
"encoding/base64"
"fmt"
"testing"
)

func decodeBase64(encodedData string) (string, error) {
decodedData, err := base64.StdEncoding.DecodeString(encodedData)
if err != nil {
return "", err
}
return string(decodedData), nil
}

func TestDecodeBase64(t *testing.T) {
t.Run("Standard Base64 Decoding", func(t *testing.T) {
encodedData := "R29sQG5nIGlzIEF3ZXNvbWU/fg=="
expectedResult := "Gol@ng is Awesome?~"

result, err := decodeBase64(encodedData)
if err != nil {
t.Errorf("Error decoding Base64 encoded data: %v", err)
}

if result != expectedResult {
t.Errorf("Expected %s, got %s", expectedResult, result)
}
})

t.Run("URL and filename-safe Base64 decoding", func(t *testing.T) {
urlSafeBase64EncodedData := "R29sQG5nIGlzIEF3ZXNvbWU_fg=="
expectedResult := "Gol@ng is Awesome_~"

result, err := decodeBase64(urlSafeBase64EncodedData)
if err != nil {
t.Errorf("Error decoding Base64 encoded data: %v", err)
}

if result != expectedResult {
t.Errorf("Expected %s, got %s", expectedResult, result)
}
})

t.Run("Invalid Base64 data", func(t *testing.T) {
invalidEncodedData := "R29sQG5nIGlzIEF3ZXNvbWU?fg=="

_, err := decodeBase64(invalidEncodedData)
if err == nil {
t.Error("Expected an error, got nil")
}
})
}

func main() {
encodedData := "R29sQG5nIGlzIEF3ZXNvbWU/fg=="
decodedData, err := decodeBase64(encodedData)
if err != nil {
fmt.Printf("Error decoding Base64 encoded data %v", err)
}
fmt.Println(decodedData)

urlSafeBase64EncodedData := "R29sQG5nIGlzIEF3ZXNvbWU_fg=="
urlSafeData, err := decodeBase64(urlSafeBase64EncodedData)
if err != nil {
fmt.Printf("Error decoding Base64 encoded data %v", err)
}
fmt.Println(urlSafeData)
}