Hash :
a78b25e7
Author :
Thomas de Grivel
Date :
2025-09-09T16:55:19
fix pdf tests
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
require PDF
true
PDF.parse_str("%Hello, PDF !\n")
void
PDF.parse_str("123\n")
123
PDF.parse_str("(abc)\n")
"abc"
PDF.parse_str("(ab(())c)\n")
"ab(())c"
PDF.parse_str("<41424344>\n")
"ABCD"
PDF.parse_str("/name\n")
:name
PDF.parse_str("[]\n")
[]
PDF.parse_str("[/section]\n")
[:section]
PDF.parse_str("[123]\n")
[123]
PDF.parse_str("[<4142>]\n")
["AB"]
PDF.parse_str("[(greet(name))]\n")
["greet(name)"]
PDF.parse_str("[/section 123 <4142> (greet(name))]\n")
[:section, 123, "AB", "greet(name)"]
PDF.parse_str("<< /Type /Example >>\n")
%{Type: Example}
PDF.parse_str("<< /Type /Example\n /Sub << /Type /SubExample >> >>\n")
%{Sub: %{Type: SubExample},
Type: Example}
PDF.parse_str("1 0 obj (Test) endobj\n")
{:indirect_object, 1, 0, "Test"}
PDF.parse_str("1 0 R\n")
{:indirect_object, 1, 0}
PDF.parse_str("null\n")
void
PDF.parse_str("+3\n")
3
PDF.parse_str("3\n")
3
PDF.parse_str("-3\n")
-3
PDF.parse_str("<< /Length 3 >>\n")
%{Length: 3}
PDF.parse_str("1 0 obj << /Length 3 >> stream\n123\nendstream\n")
{:indirect_object, 1, 0, %PDF.Stream{dictionnary: %{Length: 3},
offset: (S64) 31,
length: (S64) 0}}
PDF.parse_str("1 0 obj << /Length 2 0 R >> stream\n123\nendstream\n")
{:indirect_object, 1, 0, %PDF.Stream{dictionnary: %{Length: {:indirect_object, 2, 0}},
offset: (S64) 35,
length: (S64) 0}}