view libgo/go/html/fuzz.go @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
line wrap: on
line source

// Copyright 2019 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// +build gofuzz

package html

import (
	"fmt"
)

func Fuzz(data []byte) int {
	v := string(data)

	e := EscapeString(v)
	u := UnescapeString(e)
	if v != u {
		fmt.Printf("v = %q\n", v)
		fmt.Printf("e = %q\n", e)
		fmt.Printf("u = %q\n", u)
		panic("not equal")
	}

	// As per the documentation, this isn't always equal to v, so it makes
	// no sense to check for equality. It can still be interesting to find
	// panics in it though.
	EscapeString(UnescapeString(v))

	return 0
}