1*082815dcSEvan Baconimport { buildResourceItem } from '../Resources';
2*082815dcSEvan Baconimport { setStringItem } from '../Strings';
3*082815dcSEvan Bacon
4*082815dcSEvan Bacondescribe(setStringItem, () => {
5*082815dcSEvan Bacon  it('add item from empty xml', () => {
6*082815dcSEvan Bacon    const results = setStringItem([buildResourceItem({ name: 'foo', value: 'foo' })], {
7*082815dcSEvan Bacon      resources: {},
8*082815dcSEvan Bacon    });
9*082815dcSEvan Bacon    expect(results).toEqual({
10*082815dcSEvan Bacon      resources: { string: [{ $: { name: 'foo' }, _: 'foo' }] },
11*082815dcSEvan Bacon    });
12*082815dcSEvan Bacon  });
13*082815dcSEvan Bacon
14*082815dcSEvan Bacon  it('support adding multiple items', () => {
15*082815dcSEvan Bacon    const results = setStringItem(
16*082815dcSEvan Bacon      [
17*082815dcSEvan Bacon        buildResourceItem({ name: 'foo', value: 'foo' }),
18*082815dcSEvan Bacon        buildResourceItem({ name: 'bar', value: 'bar' }),
19*082815dcSEvan Bacon      ],
20*082815dcSEvan Bacon      {
21*082815dcSEvan Bacon        resources: {},
22*082815dcSEvan Bacon      }
23*082815dcSEvan Bacon    );
24*082815dcSEvan Bacon    expect(results).toEqual({
25*082815dcSEvan Bacon      resources: {
26*082815dcSEvan Bacon        string: [
27*082815dcSEvan Bacon          { $: { name: 'foo' }, _: 'foo' },
28*082815dcSEvan Bacon          { $: { name: 'bar' }, _: 'bar' },
29*082815dcSEvan Bacon        ],
30*082815dcSEvan Bacon      },
31*082815dcSEvan Bacon    });
32*082815dcSEvan Bacon  });
33*082815dcSEvan Bacon
34*082815dcSEvan Bacon  it('override existing item', () => {
35*082815dcSEvan Bacon    const results = setStringItem(
36*082815dcSEvan Bacon      [buildResourceItem({ name: 'foo', value: 'bar', translatable: false })],
37*082815dcSEvan Bacon      {
38*082815dcSEvan Bacon        resources: { string: [{ $: { name: 'foo' }, _: 'foo' }] },
39*082815dcSEvan Bacon      }
40*082815dcSEvan Bacon    );
41*082815dcSEvan Bacon    expect(results).toEqual({
42*082815dcSEvan Bacon      resources: { string: [{ $: { name: 'foo', translatable: 'false' }, _: 'bar' }] },
43*082815dcSEvan Bacon    });
44*082815dcSEvan Bacon  });
45*082815dcSEvan Bacon});
46