
Note that the tests for Lumina are failing, but that's not related to the chai upgrade, rather it seems these tests fail because of issues in the design that we'll tackle later (it's a brand new design yet to be released).
55 lines
1.6 KiB
JavaScript
55 lines
1.6 KiB
JavaScript
import { expect } from 'chai'
|
|
import { Design } from '@freesewing/core'
|
|
import { plugin } from '../src/index.mjs'
|
|
|
|
const content = {
|
|
en: {
|
|
testString: 'This is a test string for the i18n plugin',
|
|
},
|
|
}
|
|
|
|
const t = (key, language) => (content[language][key] ? content[language][key] : key)
|
|
|
|
describe('I18n Plugin Tests', () => {
|
|
it('Should translate text on insert (translation object)', () => {
|
|
const part = {
|
|
name: 'test',
|
|
draft: ({ points, Point, macro, part }) => {
|
|
points.anchor = new pattern.Point(-12, -34).attr('data-text', 'testString')
|
|
points.from = new Point(10, 20)
|
|
points.to = new Point(10, 230)
|
|
macro('grainline', {
|
|
from: points.from,
|
|
to: points.to,
|
|
})
|
|
return part
|
|
},
|
|
plugins: [[plugin, content]],
|
|
}
|
|
const Pattern = new Design({ parts: [part] })
|
|
const pattern = new Pattern()
|
|
const svg = pattern.draft().render()
|
|
expect(svg).to.contain(content.en.testString)
|
|
})
|
|
|
|
it('Should translate text on insert (translation method)', () => {
|
|
const part = {
|
|
name: 'test',
|
|
draft: ({ points, Point, macro, part }) => {
|
|
points.anchor = new pattern.Point(-12, -34).attr('data-text', 'testString')
|
|
points.from = new Point(10, 20)
|
|
points.to = new Point(10, 230)
|
|
macro('grainline', {
|
|
from: points.from,
|
|
to: points.to,
|
|
})
|
|
return part
|
|
},
|
|
plugins: [[plugin, t]],
|
|
}
|
|
const Pattern = new Design({ parts: [part] })
|
|
const pattern = new Pattern()
|
|
const svg = pattern.draft().render()
|
|
expect(svg).to.contain(content.en.testString)
|
|
})
|
|
})
|