import {
renderAttrs,
renderClass,
- renderStyle
+ renderStyle,
+ renderAttr
} from '../src/helpers/renderAttrs'
+import { escapeHtml } from '@vue/shared'
-describe('ssr: renderProps', () => {
+describe('ssr: renderAttrs', () => {
test('ignore reserved props', () => {
expect(
renderAttrs({
})
})
+describe('ssr: renderAttr', () => {
+ test('basic', () => {
+ expect(renderAttr('foo', 'bar')).toBe(` foo="bar"`)
+ })
+
+ test('null and undefined', () => {
+ expect(renderAttr('foo', null)).toBe(``)
+ expect(renderAttr('foo', undefined)).toBe(``)
+ })
+
+ test('escape', () => {
+ expect(renderAttr('foo', '<script>')).toBe(
+ ` foo="${escapeHtml(`<script>`)}"`
+ )
+ })
+})
+
describe('ssr: renderClass', () => {
test('via renderProps', () => {
expect(