LogMessageAnsi.test.tsx 909 B

123456789101112131415161718192021222324252627282930313233343536
  1. import React from 'react';
  2. import { shallow } from 'enzyme';
  3. import { LogMessageAnsi } from './LogMessageAnsi';
  4. describe('<LogMessageAnsi />', () => {
  5. it('renders string without ANSI codes', () => {
  6. const wrapper = shallow(<LogMessageAnsi value="Lorem ipsum" />);
  7. expect(wrapper.find('span').exists()).toBe(false);
  8. expect(wrapper.text()).toBe('Lorem ipsum');
  9. });
  10. it('renders string with ANSI codes', () => {
  11. const value = 'Lorem \u001B[31mipsum\u001B[0m et dolor';
  12. const wrapper = shallow(<LogMessageAnsi value={value} />);
  13. expect(wrapper.find('span')).toHaveLength(1);
  14. expect(
  15. wrapper
  16. .find('span')
  17. .first()
  18. .prop('style')
  19. ).toMatchObject(
  20. expect.objectContaining({
  21. color: expect.any(String),
  22. })
  23. );
  24. expect(
  25. wrapper
  26. .find('span')
  27. .first()
  28. .text()
  29. ).toBe('ipsum');
  30. });
  31. });