diff --git a/tests/karma/core/pdf.service.test.js b/tests/karma/core/pdf.service.test.js deleted file mode 100644 index 009af7bc5..000000000 --- a/tests/karma/core/pdf.service.test.js +++ /dev/null @@ -1,316 +0,0 @@ -describe('pdf', function () { - - beforeEach(module('OpenSlidesApp.core.pdf')); - beforeEach(module('OpenSlidesApp.motions.lineNumbering')); - - var PdfMakeConverter, - lineNumberingService; - - beforeEach(inject(function (_PdfMakeConverter_, _lineNumberingService_) { - PdfMakeConverter = _PdfMakeConverter_; - lineNumberingService = _lineNumberingService_; - })); - - var defaultmargin = [0, 5], - emptyline = JSON.stringify({ - "stack": [ - {"text": [], "margin": defaultmargin}] - - }); - - - describe('converting html to pdfmake', function () { - it('converts a simple html string', function () { - var instance = PdfMakeConverter.createInstance(); - var pdfmake = instance.convertHTML( - '

Hello strong world

', 'none' - ); - expect(JSON.stringify(pdfmake[0])).toBe(emptyline); - expect(JSON.stringify(pdfmake[1])).toBe(JSON.stringify({ - "stack": [ - { - "text": [ - {"text": "Hello "}, - {"text": "strong", "bold": true}, - {"text": " world"} - ], "margin": defaultmargin - } - ] - })); - expect(JSON.stringify(pdfmake[2])).toBe(emptyline); - }); - - - it('converts a simple list', function () { - var instance = PdfMakeConverter.createInstance(); - var pdfmake = instance.convertHTML( - '', 'none' - ); - expect(JSON.stringify(pdfmake[0])).toBe(emptyline); - expect(JSON.stringify(pdfmake[1])).toBe(JSON.stringify({ - "ul": [ - {"stack": [{"text": [{"text": "Point 1"}]}]}, - {"stack": [{"text": [{"text": "Point 2"}]}]} - ] - })); - expect(JSON.stringify(pdfmake[2])).toBe(emptyline); - }); - - - it('converts simple text including line numbers (inline)', function () { - var inHtml = "Test", - numberedHtml = lineNumberingService.insertLineNumbers(inHtml, 5); - var instance = PdfMakeConverter.createInstance(); - var pdfmake = instance.convertHTML(numberedHtml, 'inline'); - expect(JSON.stringify(pdfmake)).toBe(JSON.stringify([ - { - "stack": [{ - "text": [ - {"text": "1", "color": "gray", "fontSize": 5}, - {"text": "Test"} - ], "margin": [0, 5] - }] - } - ])); - }); - - - it('converts simple text including line numbers (outside)', function () { - var inHtml = "

Test Test2 Test3

", - numberedHtml = lineNumberingService.insertLineNumbers(inHtml, 5); - var instance = PdfMakeConverter.createInstance(); - var pdfmake = instance.convertHTML(numberedHtml, 'outside'); - - expect(JSON.stringify(pdfmake[0])).toBe(emptyline); - expect(JSON.stringify(pdfmake[1])).toBe(JSON.stringify({ - "stack": [{"text": [], "margin": [0, 5]}, { - "columns": [{ - "width": 20, - "text": "1", - "color": "gray", - "fontSize": 8, - "margin": [0, 2, 0, 0] - }, {"text": [{"text": "Test "}]}] - }, {"text": []}, { - "columns": [{ - "width": 20, - "text": "2", - "color": "gray", - "fontSize": 8, - "margin": [0, 2, 0, 0] - }, {"text": [{"text": "Test2 "}]}] - }, {"text": []}, { - "columns": [{ - "width": 20, - "text": "3", - "color": "gray", - "fontSize": 8, - "margin": [0, 2, 0, 0] - }, {"text": [{"text": "Test3"}]}] - }] - })); - expect(JSON.stringify(pdfmake[2])).toBe(emptyline); - }); - - it('converts a list including line numbers (outside)', function () { - var inHtml = "", - numberedHtml = lineNumberingService.insertLineNumbers(inHtml, 10); - - var instance = PdfMakeConverter.createInstance(); - var pdfmake = instance.convertHTML(numberedHtml, 'outside'); - - expect(JSON.stringify(pdfmake[0])).toBe(emptyline); - expect(JSON.stringify(pdfmake[1])).toBe(JSON.stringify({ - "columns": [ - { - "width": 20, - "stack": [ - {"width": 20, "text": "1", "color": "gray", "fontSize": 8, "margin": [0, 2.35, 0, 0]}, - {"width": 20, "text": "2", "color": "gray", "fontSize": 8, "margin": [0, 2.35, 0, 0]}, - {"width": 20, "text": "3", "color": "gray", "fontSize": 8, "margin": [0, 2.35, 0, 0]}, - {"width": 20, "text": "4", "color": "gray", "fontSize": 8, "margin": [0, 2.35, 0, 0]} - ] - }, - { - "ul": [{ - "stack": [ - {"text": [{"text": "Item "}]}, - {"text": [{"text": "1"}]} - ] - }, { - "stack": [ - {"text": [{"text": "Item "}]}, - {"text": [{"text": "2"}]} - ] - } - ] - } - ], - "margin": [0,10,0,0] - })); - expect(JSON.stringify(pdfmake[2])).toBe(emptyline); - }); - - it('does not break with non-line-break SPANs', function () { - var inHtml = "
  1. Test line 1empty span
", - numberedHtml = lineNumberingService.insertLineNumbers(inHtml, 80); - - var instance = PdfMakeConverter.createInstance(); - var pdfmake = instance.convertHTML(numberedHtml, 'outside'); - - // the actual result is's the point here; only that it doesn't throw an exception - expect(JSON.stringify(pdfmake[0])).toBe(emptyline); - }); - - it('handles line breaks inside inline elements (outside)', function() { - var inHtml = '

tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.

', - numberedHtml = lineNumberingService.insertLineNumbers(inHtml, 80); - - var instance = PdfMakeConverter.createInstance(); - var pdfmake = instance.convertHTML(numberedHtml, 'outside'); - expect(JSON.stringify(pdfmake[1])).toBe(JSON.stringify( - { - "stack": [ - {"text": [], "margin": [0, 5]}, - { - "columns": [ - { - "width": 20, - "text": "1", - "color": "gray", - "fontSize": 8, - "margin": [0, 2, 0, 0] - }, - { - "text": [ - {"text": "tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. "}, - {"text": "At ", "bold": true} - ] - } - ] - }, - {"text": []}, - { - "columns": [ - { - "width": 20, - "text": "2", - "color": "gray", - "fontSize": 8, - "margin": [0, 2, 0, 0] - }, - { - "text": [ - {"text": "vero eos et accusam", "bold": true}, - {"text": " et justo duo dolores et ea rebum."} - ] - } - ] - } - ] - } - )); - }); - - it('handles line breaks inside inline elements (inline)', function() { - var inHtml = '

tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.

', - numberedHtml = lineNumberingService.insertLineNumbers(inHtml, 80); - - var instance = PdfMakeConverter.createInstance(); - var pdfmake = instance.convertHTML(numberedHtml, 'inline'); - expect(JSON.stringify(pdfmake[1])).toBe(JSON.stringify( - {"stack": [ - {"text": [ - {"text": "1", "color": "gray", "fontSize": 5 }, - {"text": "tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. "}, - {"text": "At ", "bold": true }, - {"text": "2", "color": "gray", "fontSize": 5}, - {"text": "vero eos et accusam", "bold": true }, - {"text": " et justo duo dolores et ea rebum."} - ], "margin": [0, 5] - } - ]} - )); - }); - - it('handles line breaks inside lists', function() { - var inHtml = '
  1. Lorem ipsum dolor sit
    amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
', - numberedHtml = lineNumberingService.insertLineNumbers(inHtml, 80) - - var instance = PdfMakeConverter.createInstance(); - var pdfmake = instance.convertHTML(numberedHtml, 'outside'); - expect(JSON.stringify(pdfmake[1])).toBe(JSON.stringify( - { - "columns":[ - { - "width": 20, - "stack": [ - {"width": 20,"text": "1","color": "gray","fontSize": 8,"margin": [0, 2.35, 0, 0]}, - {"width": 20,"text": "2","color": "gray","fontSize": 8,"margin": [0, 2.35, 0, 0]}, - {"width": 20,"text": "3","color": "gray","fontSize": 8,"margin": [0, 2.35, 0, 0]} - ] - }, - {"ol": [ - {"stack": [ - { - "text": [ - {"text": "Lorem ipsum dolor sit"} - ] - }, - { - "text": [ - {"text": "amet, "}, - {"text": "consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ","decoration": "underline"} - ] - }, - { - "text": [ - {"text": "ut labore et dolore magna aliquyam erat","decoration": "underline"}, - {"text": ", sed diam voluptua."} - ] - } - ]} - ]} - ], - "margin":[0,10,0,0] - } - )); - }); - - it('handles styled SPANs within Ps', function() { - var inHtml = '

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

', - numberedHtml = lineNumberingService.insertLineNumbers(inHtml, 80) - - var instance = PdfMakeConverter.createInstance(); - var pdfmake = instance.convertHTML(numberedHtml, 'outside'); - expect(JSON.stringify(pdfmake[1])).toBe(JSON.stringify( - { - "stack": [ - {"text": [], "margin": [0, 5]}, - { - "columns": [ - { "width": 20, "text": "1", "color": "gray", "fontSize": 8, "margin": [0, 2, 0, 0]}, - { "text": [ - { "text": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod ", "bold": true } - ]} - ] - }, - {"text":[]}, - { - "columns": [ - { "width": 20, "text": "2", "color": "gray", "fontSize": 8, "margin": [0, 2, 0, 0] }, - { "text": [ - { "text": "tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.", "bold": true } - ]} - ] - } - ] - } - )); - }); - }); -}); -