]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
test(ssr): test renderAttr
authorEvan You <yyx990803@gmail.com>
Tue, 4 Feb 2020 23:42:13 +0000 (18:42 -0500)
committerEvan You <yyx990803@gmail.com>
Tue, 4 Feb 2020 23:42:13 +0000 (18:42 -0500)
packages/server-renderer/__tests__/renderAttrs.spec.ts

index de95884857dc9d2a3d0551f3558253228444ff79..54ac2cea0ca4a91ff42173b640ffe27a2cc1a820 100644 (file)
@@ -1,10 +1,12 @@
 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({
@@ -72,6 +74,23 @@ describe('ssr: renderProps', () => {
   })
 })
 
+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(