import Filter from 'ansi-to-html'
import { describe, expect, it } from 'vitest'
import { render } from '~/test'
import ViewConsoleOutputEntry from './ViewConsoleOutputEntry.vue'
describe('ViewConsoleOutputEntry', () => {
it('test html entry', () => {
const now = new Date().toISOString()
const content = new Filter().toHtml(`\x1B[33m${now}\x1B[0m`)
const { container } = render(ViewConsoleOutputEntry, {
props: {
taskName: 'test/html',
type: 'stderr',
time: Date.now(),
content,
},
})
const spans = container.querySelectorAll('span')
expect(spans).toHaveLength(1)
const span = spans[0]
expect(span.textContent, 'the message has the correct message').toBe(now)
expect(
span.getAttribute('style'),
'the message has the correct text color',
).toBe('color:#A50')
})
})