Skip to content

Commit

Permalink
FIX BUG in WrapTextLines():
Browse files Browse the repository at this point in the history
Under some conditions, function was running an infinite loop

* Also adjust unit test of DrawTextInBox()
  because of slight wrapping changes
  • Loading branch information
balacode committed Mar 29, 2018
1 parent a21e163 commit d3f686e
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 37 deletions.
4 changes: 2 additions & 2 deletions one_file_pdf.go
@@ -1,6 +1,6 @@
// -----------------------------------------------------------------------------
// (c) balarabe@protonmail.com License: MIT
// :v: 2018-03-29 16:35:34 936D5E [one_file_pdf.go]
// :v: 2018-03-29 17:24:30 FD7099 [one_file_pdf.go]
// -----------------------------------------------------------------------------

package pdf
Expand Down Expand Up @@ -809,7 +809,7 @@ func (ob *PDF) WrapTextLines(width float64, text string) (ret []string) {
break
}
ret = append(ret, iter[:n])
iter = iter[n-1:]
iter = iter[n:]
}
ret = append(ret, iter)
}
Expand Down
71 changes: 36 additions & 35 deletions utest/draw_text_in_box.go
@@ -1,6 +1,6 @@
// -----------------------------------------------------------------------------
// (c) balarabe@protonmail.com License: MIT
// :v: 2018-03-24 18:56:20 CB4C89 [utest/draw_text_in_box.go]
// :v: 2018-03-29 17:24:30 217E86 [utest/draw_text_in_box.go]
// -----------------------------------------------------------------------------

package utest
Expand Down Expand Up @@ -47,42 +47,43 @@ func DrawTextInBox(t *testing.T) {
3 0 obj<</Type/Page/Parent 2 0 R/Contents 4 0 R\
/Resources<</Font <</FNT1 5 0 R>>>>>>
endobj
4 0 obj <</Length 1280>>stream
0.827 0.827 0.827 rg
4 0 obj <</Length 1275>>stream
0.827 0.827 0.827 rg
0.827 0.827 0.827 RG
141.732 274.961 85.039 425.197 re b
BT /FNT1 10 Tf ET
0.000 0.000 0.000 rg
0.000 0.000 0.000 rg
0.000 0.000 0.000 RG
BT 153 624 Td (Lorem ipsum ) Tj ET
BT 150 614 Td ( dolor sit amet, ) Tj ET
BT 155 604 Td ( consectetur ) Tj ET
BT 150 594 Td ( adipiscing elit, ) Tj ET
BT 146 584 Td ( sed do eiusmod ) Tj ET
BT 143 574 Td ( tempor incididunt ) Tj ET
BT 156 564 Td ( ut labore et ) Tj ET
BT 150 554 Td ( dolore magna ) Tj ET
BT 148 544 Td ( aliqua. Ut enim ) Tj ET
BT 142 534 Td ( ad minim veniam, ) Tj ET
BT 154 524 Td ( quis nostrud ) Tj ET
BT 155 514 Td ( exercitation ) Tj ET
BT 148 504 Td ( ullamco laboris ) Tj ET
BT 145 494 Td ( nisi ut aliquip ex ) Tj ET
BT 152 484 Td ( ea commodo ) Tj ET
BT 145 474 Td ( consequat. Duis ) Tj ET
BT 142 464 Td ( aute irure dolor in ) Tj ET
BT 146 454 Td ( reprehenderit in ) Tj ET
BT 150 444 Td ( voluptate velit ) Tj ET
BT 156 434 Td ( esse cillum ) Tj ET
BT 147 424 Td ( dolore eu fugiat ) Tj ET
BT 151 414 Td ( nulla pariatur. ) Tj ET
BT 149 404 Td ( Excepteur sint ) Tj ET
BT 161 394 Td ( occaecat ) Tj ET
BT 151 384 Td ( cupidatat non ) Tj ET
BT 145 374 Td ( proident, sunt in ) Tj ET
BT 147 364 Td ( culpa qui officia ) Tj ET
BT 148 354 Td ( deserunt mollit ) Tj ET
BT 137 344 Td ( anim id est laborum.) Tj ET
BT 153 629 Td (Lorem ipsum ) Tj ET
BT 151 619 Td (dolor sit amet, ) Tj ET
BT 157 609 Td (consectetur ) Tj ET
BT 142 599 Td (adipiscing elit, sed ) Tj ET
BT 157 589 Td (do eiusmod ) Tj ET
BT 144 579 Td (tempor incididunt ) Tj ET
BT 142 569 Td (ut labore et dolore ) Tj ET
BT 145 559 Td (magna aliqua. Ut ) Tj ET
BT 150 549 Td (enim ad minim ) Tj ET
BT 154 539 Td (veniam, quis ) Tj ET
BT 166 529 Td (nostrud ) Tj ET
BT 157 519 Td (exercitation ) Tj ET
BT 149 509 Td (ullamco laboris ) Tj ET
BT 147 499 Td (nisi ut aliquip ex ) Tj ET
BT 153 489 Td (ea commodo ) Tj ET
BT 147 479 Td (consequat. Duis ) Tj ET
BT 143 469 Td (aute irure dolor in ) Tj ET
BT 147 459 Td (reprehenderit in ) Tj ET
BT 152 449 Td (voluptate velit ) Tj ET
BT 142 439 Td (esse cillum dolore ) Tj ET
BT 151 429 Td (eu fugiat nulla ) Tj ET
BT 164 419 Td (pariatur. ) Tj ET
BT 151 409 Td (Excepteur sint ) Tj ET
BT 162 399 Td (occaecat ) Tj ET
BT 152 389 Td (cupidatat non ) Tj ET
BT 147 379 Td (proident, sunt in ) Tj ET
BT 148 369 Td (culpa qui officia ) Tj ET
BT 150 359 Td (deserunt mollit ) Tj ET
BT 158 349 Td (anim id est ) Tj ET
BT 164 339 Td (laborum.) Tj ET
endstream
5 0 obj<</Type/Font/Subtype/Type1/Name/F1/BaseFont/Helvetica\
/Encoding/WinAnsiEncoding>>
Expand All @@ -94,11 +95,11 @@ func DrawTextInBox(t *testing.T) {
0000000053 00000 n
0000000125 00000 n
0000000217 00000 n
0000001539 00000 n
0000001534 00000 n
trailer
<</Size 6/Root 1 0 R>>
startxref
1634
1629
%%EOF
`
pdfCompare(t, doc.Bytes(), expect, pdfStreamsInText)
Expand Down

0 comments on commit d3f686e

Please sign in to comment.