mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-11-09 13:15:37 +03:00
42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
describe('Clipboard', () => {
|
|
describe('write(text, metadata) and read()', () => {
|
|
it('writes and reads text to/from the native clipboard', () => {
|
|
expect(atom.clipboard.read()).toBe('initial clipboard content');
|
|
atom.clipboard.write('next');
|
|
expect(atom.clipboard.read()).toBe('next');
|
|
});
|
|
|
|
it('returns metadata if the item on the native clipboard matches the last written item', () => {
|
|
atom.clipboard.write('next', { meta: 'data' });
|
|
expect(atom.clipboard.read()).toBe('next');
|
|
expect(atom.clipboard.readWithMetadata().text).toBe('next');
|
|
expect(atom.clipboard.readWithMetadata().metadata).toEqual({
|
|
meta: 'data'
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('line endings', () => {
|
|
let originalPlatform = process.platform;
|
|
|
|
const eols = new Map([
|
|
['win32', '\r\n'],
|
|
['darwin', '\n'],
|
|
['linux', '\n']
|
|
]);
|
|
for (let [platform, eol] of eols) {
|
|
it(`converts line endings to the OS's native line endings on ${platform}`, () => {
|
|
Object.defineProperty(process, 'platform', { value: platform });
|
|
|
|
atom.clipboard.write('next\ndone\r\n\n', { meta: 'data' });
|
|
expect(atom.clipboard.readWithMetadata()).toEqual({
|
|
text: `next${eol}done${eol}${eol}`,
|
|
metadata: { meta: 'data' }
|
|
});
|
|
|
|
Object.defineProperty(process, 'platform', { value: originalPlatform });
|
|
});
|
|
}
|
|
});
|
|
});
|