@sentry/wizard
Version:
Sentry wizard helping you to configure your project
50 lines (44 loc) • 1.64 kB
text/typescript
//@ts-ignore
import { getLastImportLineLocation } from '../../src/android/code-tools';
describe('code-tools', () => {
describe('getLastImportLineLocation', () => {
it('returns proper line index', () => {
const code = `import a.b.c;\n` + `//<insert-location>\n` + `class X {}`;
expect(getLastImportLineLocation(code)).toBe(
code.indexOf('//<insert-location>'),
);
});
it('returns proper line index when static import is used', () => {
const code =
`import static a.b.c;\n` + `//<insert-location>\n` + `class X {}`;
expect(getLastImportLineLocation(code)).toBe(
code.indexOf('//<insert-location>'),
);
});
it('returns proper line index when wildcard import is used', () => {
const code = `import a.b.*\n` + `//<insert-location>\n` + `class X {}`;
expect(getLastImportLineLocation(code)).toBe(
code.indexOf('//<insert-location>'),
);
});
it('returns proper line index when alias import is used', () => {
const code =
`import static a.b.c as d\n` + `//<insert-location>\n` + `class X {}`;
expect(getLastImportLineLocation(code)).toBe(
code.indexOf('//<insert-location>'),
);
});
it('returns proper line index when multiple imports are present', () => {
const code =
`import static a.b.c as d\n` +
`import a.b.*\n` +
`import static a.b.c;\n` +
`import a.b.c;\n` +
`//<insert-location>\n` +
`class X {}`;
expect(getLastImportLineLocation(code)).toBe(
code.indexOf('//<insert-location>'),
);
});
});
});