refactor(ssr): adjust helper structure + renderList

This commit is contained in:
Evan You
2020-02-03 18:16:09 -05:00
parent 889a0276eb
commit 2ad0eed5cd
9 changed files with 90 additions and 45 deletions

View File

@@ -1,16 +1,16 @@
import { _interpolate } from '../src'
import { interpolate } from '../src/helpers/interpolate'
import { escapeHtml } from '@vue/shared'
test('ssr: interpolate', () => {
expect(_interpolate(0)).toBe(`0`)
expect(_interpolate(`foo`)).toBe(`foo`)
expect(_interpolate(`<div>`)).toBe(`&lt;div&gt;`)
expect(interpolate(0)).toBe(`0`)
expect(interpolate(`foo`)).toBe(`foo`)
expect(interpolate(`<div>`)).toBe(`&lt;div&gt;`)
// should escape interpolated values
expect(_interpolate([1, 2, 3])).toBe(
expect(interpolate([1, 2, 3])).toBe(
escapeHtml(JSON.stringify([1, 2, 3], null, 2))
)
expect(
_interpolate({
interpolate({
foo: 1,
bar: `<div>`
})

View File

@@ -0,0 +1,3 @@
test('ssr: renderList', () => {
// TODO
})

View File

@@ -1,9 +1,13 @@
import { renderProps, renderClass, renderStyle } from '../src/renderProps'
import {
renderAttrs,
renderClass,
renderStyle
} from '../src/helpers/renderAttrs'
describe('ssr: renderProps', () => {
test('ignore reserved props', () => {
expect(
renderProps({
renderAttrs({
key: 1,
ref: () => {},
onClick: () => {}
@@ -13,7 +17,7 @@ describe('ssr: renderProps', () => {
test('normal attrs', () => {
expect(
renderProps({
renderAttrs({
id: 'foo',
title: 'bar'
})
@@ -22,7 +26,7 @@ describe('ssr: renderProps', () => {
test('escape attrs', () => {
expect(
renderProps({
renderAttrs({
id: '"><script'
})
).toBe(` id="&quot;&gt;&lt;script"`)
@@ -30,7 +34,7 @@ describe('ssr: renderProps', () => {
test('boolean attrs', () => {
expect(
renderProps({
renderAttrs({
checked: true,
multiple: false
})
@@ -39,7 +43,7 @@ describe('ssr: renderProps', () => {
test('ignore falsy values', () => {
expect(
renderProps({
renderAttrs({
foo: false,
title: null,
baz: undefined
@@ -49,7 +53,7 @@ describe('ssr: renderProps', () => {
test('props to attrs', () => {
expect(
renderProps({
renderAttrs({
readOnly: true, // simple lower case conversion
htmlFor: 'foobar' // special cases
})
@@ -58,7 +62,7 @@ describe('ssr: renderProps', () => {
test('preserve name on custom element', () => {
expect(
renderProps(
renderAttrs(
{
fooBar: 'ok'
},
@@ -71,7 +75,7 @@ describe('ssr: renderProps', () => {
describe('ssr: renderClass', () => {
test('via renderProps', () => {
expect(
renderProps({
renderAttrs({
class: ['foo', 'bar']
})
).toBe(` class="foo bar"`)
@@ -92,7 +96,7 @@ describe('ssr: renderClass', () => {
describe('ssr: renderStyle', () => {
test('via renderProps', () => {
expect(
renderProps({
renderAttrs({
style: {
color: 'red'
}