Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
view-container / src / utils / test / getComponentName.test.tsx
Size: Mime:
// @flow
import React from 'react'
import getComponentName from '../getComponentName'

describe('getComponentName', () => {
  let Test
  beforeEach(() => {
    Test = () => <div />
  })

  it('defaults to reusing the component displayName', () => {
    Test.displayName = 'Foo'

    expect(getComponentName(Test)).toEqual('Foo')
  })

  it('falls back to the class name', () => {
    expect(getComponentName(Test)).toEqual('Test')
  })

  it('ultimately falls back to "Component"', () => {
    Object.defineProperty(Test, 'name', {
      value: '',
    })

    expect(getComponentName(Test)).toEqual('Component')
  })
})