Refactor backend SVG package and add tests (#26335)
Introduce a well-tested `svg.Normalize` function. Make `RenderHTML` faster and more stable.
This commit is contained in:
parent
12c249c5ca
commit
5db4c8db93
4 changed files with 113 additions and 40 deletions
29
modules/svg/processor_test.go
Normal file
29
modules/svg/processor_test.go
Normal file
|
@ -0,0 +1,29 @@
|
|||
// Copyright 2023 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package svg
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestNormalize(t *testing.T) {
|
||||
res := Normalize([]byte("foo"), 1)
|
||||
assert.Equal(t, "foo", string(res))
|
||||
|
||||
res = Normalize([]byte(`<?xml version="1.0"?>
|
||||
<!--
|
||||
comment
|
||||
-->
|
||||
<svg xmlns = "...">content</svg>`), 1)
|
||||
assert.Equal(t, `<svg width="1" height="1" class="svg">content</svg>`, string(res))
|
||||
|
||||
res = Normalize([]byte(`<svg
|
||||
width="100"
|
||||
class="svg-icon"
|
||||
>content</svg>`), 16)
|
||||
|
||||
assert.Equal(t, `<svg class="svg-icon" width="16" height="16">content</svg>`, string(res))
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue