@@ -19,6 +19,15 @@ describe('render', () => {
19
19
expected = `<div></div>` ;
20
20
21
21
expect ( rendered ) . to . equal ( expected ) ;
22
+
23
+ expect ( render ( < div foo = { 0 } /> ) ) . to . equal ( `<div foo="0"></div>` )
24
+ } ) ;
25
+
26
+ it ( 'should collapse collapsible attributes' , ( ) => {
27
+ let rendered = render ( < div class = "" style = "" foo = { true } bar /> ) ,
28
+ expected = `<div foo bar></div>` ;
29
+
30
+ expect ( rendered ) . to . equal ( expected ) ;
22
31
} ) ;
23
32
24
33
it ( 'should omit functions' , ( ) => {
@@ -254,4 +263,22 @@ describe('render', () => {
254
263
expect ( rendered ) . to . equal ( '<div a="a" b="b" b1="b1" c="c"></div>' ) ;
255
264
} ) ;
256
265
} ) ;
266
+
267
+ describe ( 'xml:true' , ( ) => {
268
+ let renderXml = jsx => render ( jsx , null , { xml :true } ) ;
269
+
270
+ it ( 'should render end-tags' , ( ) => {
271
+ expect ( renderXml ( < div /> ) ) . to . equal ( `<div />` ) ;
272
+ expect ( renderXml ( < a /> ) ) . to . equal ( `<a />` ) ;
273
+ expect ( renderXml ( < a > b</ a > ) ) . to . equal ( `<a>b</a>` ) ;
274
+ } ) ;
275
+
276
+ it ( 'should render boolean attributes with named values' , ( ) => {
277
+ expect ( renderXml ( < div foo bar /> ) ) . to . equal ( `<div foo="foo" bar="bar" />` ) ;
278
+ } ) ;
279
+
280
+ it ( 'should exclude falsey attributes' , ( ) => {
281
+ expect ( renderXml ( < div foo = { false } bar = { 0 } /> ) ) . to . equal ( `<div bar="0" />` ) ;
282
+ } ) ;
283
+ } ) ;
257
284
} ) ;
0 commit comments