@@ -78,7 +78,51 @@ describeWithDOM('render', () => {
7878 } ) ;
7979
8080 const context = { name : 'foo' } ;
81- expect ( ( ) => render ( < SimpleComponent /> , { context } ) ) . to . not . throw ( Error ) ;
81+ expect ( ( ) => render ( < SimpleComponent /> , { context } ) ) . not . to . throw ( ) ;
82+ } ) ;
83+ } ) ;
84+
85+ describe ( 'rendering non-elements' , ( ) => {
86+ it ( 'can render strings' , ( ) => {
87+ const StringComponent = createClass ( {
88+ render ( ) {
89+ return 'foo' ;
90+ } ,
91+ } ) ;
92+
93+ const getWrapper = ( options ) => render ( < StringComponent /> , options ) ;
94+ if ( is ( '>= 16' ) ) {
95+ expect ( getWrapper ) . to . not . throw ( ) ;
96+
97+ const wrapper = getWrapper ( ) ;
98+ expect ( wrapper . text ( ) ) . to . equal ( 'foo' ) ;
99+ expect ( wrapper . html ( ) ) . to . equal ( 'foo' ) ;
100+ expect ( String ( wrapper ) ) . to . equal ( 'foo' ) ;
101+ expect ( wrapper ) . to . have . lengthOf ( 1 ) ;
102+ } else {
103+ expect ( getWrapper ) . to . throw ( ) ;
104+ }
105+ } ) ;
106+
107+ it ( 'can render numbers' , ( ) => {
108+ const NumberComponent = createClass ( {
109+ render ( ) {
110+ return 42 ;
111+ } ,
112+ } ) ;
113+
114+ const getWrapper = ( options ) => render ( < NumberComponent /> , options ) ;
115+ if ( is ( '>= 16' ) ) {
116+ expect ( getWrapper ) . to . not . throw ( ) ;
117+
118+ const wrapper = getWrapper ( ) ;
119+ expect ( wrapper . text ( ) ) . to . equal ( '42' ) ;
120+ expect ( wrapper . html ( ) ) . to . equal ( '42' ) ;
121+ expect ( String ( wrapper ) ) . to . equal ( '42' ) ;
122+ expect ( wrapper ) . to . have . lengthOf ( 1 ) ;
123+ } else {
124+ expect ( getWrapper ) . to . throw ( ) ;
125+ }
82126 } ) ;
83127 } ) ;
84128
0 commit comments