@@ -15,6 +15,7 @@ describe('ReactDOMProduction', () => {
15
15
16
16
var React ;
17
17
var ReactDOM ;
18
+ var ReactDOMServer ;
18
19
var oldProcess ;
19
20
20
21
beforeEach ( ( ) => {
@@ -31,6 +32,7 @@ describe('ReactDOMProduction', () => {
31
32
jest . resetModules ( ) ;
32
33
React = require ( 'react' ) ;
33
34
ReactDOM = require ( 'react-dom' ) ;
35
+ ReactDOMServer = require ( 'react-dom/server' ) ;
34
36
} ) ;
35
37
36
38
afterEach ( ( ) => {
@@ -64,7 +66,7 @@ describe('ReactDOMProduction', () => {
64
66
65
67
var container = document . createElement ( 'div' ) ;
66
68
var inst = ReactDOM . render (
67
- < div className = "blue" >
69
+ < div className = "blue" style = { { fontFamily : 'Helvetica' } } >
68
70
< Component key = { 1 } > A</ Component >
69
71
< Component key = { 2 } > B</ Component >
70
72
< Component key = { 3 } > C</ Component >
@@ -74,10 +76,11 @@ describe('ReactDOMProduction', () => {
74
76
75
77
expect ( container . firstChild ) . toBe ( inst ) ;
76
78
expect ( inst . className ) . toBe ( 'blue' ) ;
79
+ expect ( inst . style . fontFamily ) . toBe ( 'Helvetica' ) ;
77
80
expect ( inst . textContent ) . toBe ( 'ABC' ) ;
78
81
79
82
ReactDOM . render (
80
- < div className = "red" >
83
+ < div className = "red" style = { { fontFamily : 'Comic Sans MS' } } >
81
84
< Component key = { 2 } > B</ Component >
82
85
< Component key = { 1 } > A</ Component >
83
86
< Component key = { 3 } > C</ Component >
@@ -86,13 +89,38 @@ describe('ReactDOMProduction', () => {
86
89
) ;
87
90
88
91
expect ( inst . className ) . toBe ( 'red' ) ;
92
+ expect ( inst . style . fontFamily ) . toBe ( 'Comic Sans MS' ) ;
89
93
expect ( inst . textContent ) . toBe ( 'BAC' ) ;
90
94
91
95
ReactDOM . unmountComponentAtNode ( container ) ;
92
96
93
97
expect ( container . childNodes . length ) . toBe ( 0 ) ;
94
98
} ) ;
95
99
100
+ it ( 'should handle a simple flow (ssr)' , ( ) => {
101
+ class Component extends React . Component {
102
+ render ( ) {
103
+ return < span > { this . props . children } </ span > ;
104
+ }
105
+ }
106
+
107
+ var container = document . createElement ( 'div' ) ;
108
+ var markup = ReactDOMServer . renderToString (
109
+ < div className = "blue" style = { { fontFamily : 'Helvetica' } } >
110
+ < Component key = { 1 } > A</ Component >
111
+ < Component key = { 2 } > B</ Component >
112
+ < Component key = { 3 } > C</ Component >
113
+ </ div > ,
114
+ container ,
115
+ ) ;
116
+ container . innerHTML = markup ;
117
+ var inst = container . firstChild ;
118
+
119
+ expect ( inst . className ) . toBe ( 'blue' ) ;
120
+ expect ( inst . style . fontFamily ) . toBe ( 'Helvetica' ) ;
121
+ expect ( inst . textContent ) . toBe ( 'ABC' ) ;
122
+ } ) ;
123
+
96
124
it ( 'should call lifecycle methods' , ( ) => {
97
125
var log = [ ] ;
98
126
class Component extends React . Component {
0 commit comments