react / react-0.13.3 / examples / basic-commonjs / node_modules / reactify / node_modules / react-tools / vendor / fbtransform / transforms / __tests__ / react-displayName-test.js
81164 views/**1* Copyright 2013-2014, Facebook, Inc.2* All rights reserved.3*4* This source code is licensed under the BSD-style license found in the5* LICENSE file in the root directory of this source tree. An additional grant6* of patent rights can be found in the PATENTS file in the same directory.7*8* @emails react-core9*/10"use strict";1112require('mock-modules').autoMockOff();1314var transformAll = require('../../syntax.js').transformAll;1516function transform(source) {17return transformAll(source, {}, ['allocate']);18}1920describe('react displayName jsx', function() {2122it('should only inject displayName if missing', function() {23var code = [24'"use strict";',25'var Whateva = React.createClass({',26' displayName: "Whateva",',27' render: function() {',28' return null;',29' }',30'});'31].join('\n');3233var result = [34'"use strict";',35'var Whateva = React.createClass({',36' displayName: "Whateva",',37' render: function() {',38' return null;',39' }',40'});'41].join('\n');4243expect(transform(code).code).toEqual(result);44});4546it('should inject displayName in simple assignment', () => {47var code = [48'var Component = React.createClass({',49' render: function() {',50' return null;',51' }',52'});'53].join('\n');5455var result = [56'var Component = React.createClass({displayName: "Component",',57' render: function() {',58' return null;',59' }',60'});'61].join('\n');6263expect(transform(code).code).toEqual(result);64});6566it('should inject displayName in simple assignment without var', () => {67var code = [68'var Component;',69'Component = React.createClass({',70' render: function() {',71' return null;',72' }',73'});'74].join('\n');7576var result = [77'var Component;',78'Component = React.createClass({displayName: "Component",',79' render: function() {',80' return null;',81' }',82'});'83].join('\n');8485expect(transform(code).code).toEqual(result);86});8788it('should inject displayName in property assignment', () => {89var code = [90'exports.Component = React.createClass({',91' render: function() {',92' return null;',93' }',94'});'95].join('\n');9697var result = [98'exports.Component = React.createClass({displayName: "Component",',99' render: function() {',100' return null;',101' }',102'});'103].join('\n');104105expect(transform(code).code).toEqual(result);106});107108it('should inject displayName in object declaration', () => {109var code = [110'exports = {',111' Component: React.createClass({',112' render: function() {',113' return null;',114' }',115' })',116'};'117].join('\n');118119var result = [120'exports = {',121' Component: React.createClass({displayName: "Component",',122' render: function() {',123' return null;',124' }',125' })',126'};'127].join('\n');128129expect(transform(code).code).toEqual(result);130});131132});133134135