text: import Vue from 'vue'
  
  describe('Options name', () => {
    it('should contain itself in self components', () => {
      const vm = Vue.extend({
        name: 'SuperVue'
      })
  
      expect(vm.options.components['SuperVue']).toEqual(vm)
    })
  
    it('should warn when incorrect name given', () => {
      Vue.extend({
        name: 'Hyper*Vue'
      })
  
      /* eslint-disable */
      expect(`Invalid component name: "Hyper*Vue".`)
        .toHaveBeenWarned()
      /* eslint-enable */
  
      Vue.extend({
        name: '2Cool2BValid'
      })
  
      /* eslint-disable */
      expect(`Invalid component name: "2Cool2BValid".`)
        .toHaveBeenWarned()
      /* eslint-enable */
    })
  
    it('id should not override given name when using Vue.component', () => {
      const SuperComponent = Vue.component('super-component', {
        name: 'SuperVue'
      })
  
      expect(SuperComponent.options.components['SuperVue']).toEqual(SuperComponent)
      expect(SuperComponent.options.components['super-component']).toEqual(SuperComponent)
    })
  
    it('should allow all potential custom element name for component name including non-alphanumeric characters', () => {
      Vue.extend({
        name: 'my-컴포넌트'
      })
  
      expect('Invalid component name').not.toHaveBeenWarned()
    })
  })
  