refactor(ssr): adjust helper structure + renderList
This commit is contained in:
@@ -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(`<div>`)
|
||||
expect(interpolate(0)).toBe(`0`)
|
||||
expect(interpolate(`foo`)).toBe(`foo`)
|
||||
expect(interpolate(`<div>`)).toBe(`<div>`)
|
||||
// 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>`
|
||||
})
|
||||
|
||||
3
packages/server-renderer/__tests__/renderList.spec.ts
Normal file
3
packages/server-renderer/__tests__/renderList.spec.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
test('ssr: renderList', () => {
|
||||
// TODO
|
||||
})
|
||||
@@ -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=""><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'
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user