1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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 });
- });
- }
- });
- });
|