@@ -2,68 +2,71 @@ defmodule Mudbrick.ParseRoundtripTest do
22 use ExUnit.Case , async: true
33 use ExUnitProperties
44
5+ import Mudbrick
6+ import Mudbrick.TestHelper
7+
58 alias Mudbrick.Parser
69
710 test "with an image" do
811 input =
9- Mudbrick . new ( images: % { I1: Mudbrick.TestHelper . flower ( ) } )
10- |> Mudbrick . page ( )
11- |> Mudbrick . image (
12- :I1 ,
12+ new ( images: % { flower: flower ( ) } )
13+ |> page ( )
14+ |> image (
15+ :flower ,
1316 scale: { 100 , 100 } ,
1417 position: { 0 , 0 }
1518 )
16- |> Mudbrick.Document . finish ( )
19+ |> render ( )
20+
21+ parsed =
22+ input
23+ |> IO . iodata_to_binary ( )
24+ |> Parser . parse ( )
25+ |> render ( )
1726
18- assert input
19- |> Mudbrick . render ( )
20- |> IO . iodata_to_binary ( )
21- |> Parser . parse ( ) == input
27+ assert parsed == input
2228 end
2329
2430 test "custom page size" do
2531 input =
26- Mudbrick . new ( )
27- |> Mudbrick . page ( size: { 400 , 100 } )
28- |> Mudbrick.Document . finish ( )
29-
30- assert input
31- |> Mudbrick . render ( )
32- |> IO . iodata_to_binary ( )
33- |> Parser . parse ( ) == input
32+ new ( )
33+ |> page ( size: { 400 , 100 } )
34+ |> render ( )
35+
36+ parsed =
37+ input
38+ |> IO . iodata_to_binary ( )
39+ |> Parser . parse ( )
40+ |> render ( )
41+
42+ assert parsed == input
3443 end
3544
3645 test "with rectangle" do
37- import Mudbrick
38-
3946 input =
4047 new ( )
4148 |> page ( size: { 100 , 100 } )
4249 |> path ( fn path ->
4350 Mudbrick.Path . rectangle ( path , lower_left: { 0 , 0 } , dimensions: { 50 , 60 } )
4451 end )
4552 |> render ( )
46- |> IO . iodata_to_binary ( )
4753
4854 parsed =
4955 input
56+ |> IO . iodata_to_binary ( )
5057 |> Parser . parse ( )
5158 |> render ( )
52- |> IO . iodata_to_binary ( )
5359
5460 assert parsed == input
5561 end
5662
5763 test "with underline" do
58- import Mudbrick.TestHelper
59- import Mudbrick
60-
6164 input =
62- new ( fonts: % { bodoni : bodoni_bold ( ) } )
65+ new ( fonts: % { poop : bodoni_bold ( ) } )
6366 |> page ( size: { 400 , 100 } )
6467 |> text (
6568 [ { "Warning\n " , underline: [ width: 0.5 ] } ] ,
66- font: :bodoni ,
69+ font: :poop ,
6770 font_size: 70 ,
6871 position: { 7 , 30 }
6972 )
@@ -79,62 +82,48 @@ defmodule Mudbrick.ParseRoundtripTest do
7982 end
8083
8184 test "PDF with text" do
82- alias Mudbrick.TestHelper
83- import Mudbrick
84-
8585 input =
8686 new (
8787 fonts: % {
88- bodoni: TestHelper . bodoni_regular ( ) ,
89- franklin: TestHelper . franklin_regular ( )
88+ bodoni: bodoni_regular ( ) ,
89+ franklin: franklin_regular ( )
9090 }
9191 )
9292 |> page ( )
9393 |> text ( "hello, bodoni" , font: :bodoni )
9494 |> text ( "hello, franklin" , font: :franklin )
95- |> Mudbrick.Document . finish ( )
95+ |> render ( )
9696
97- binary =
97+ parsed =
9898 input
99- |> Mudbrick . render ( )
10099 |> IO . iodata_to_binary ( )
100+ |> Parser . parse ( )
101+ |> render ( )
101102
102- assert binary ==
103- binary
104- |> Parser . parse ( )
105- |> Mudbrick . render ( )
106- |> IO . iodata_to_binary ( )
103+ assert parsed == input
107104 end
108105
109106 test "PDF with text, compressed" do
110- alias Mudbrick.TestHelper
111- import Mudbrick
112-
113107 input =
114108 new (
115109 compress: true ,
116110 fonts: % {
117- bodoni: TestHelper . bodoni_regular ( ) ,
118- franklin: TestHelper . franklin_regular ( )
111+ bodoni: bodoni_regular ( ) ,
112+ franklin: franklin_regular ( )
119113 }
120114 )
121115 |> page ( )
122116 |> text ( "hello, bodoni" , font: :bodoni )
123117 |> text ( "hello, franklin" , font: :franklin )
124- |> Mudbrick.Document . finish ( )
118+ |> render ( )
125119
126- binary =
120+ parsed =
127121 input
128- |> Mudbrick . render ( )
129122 |> IO . iodata_to_binary ( )
130-
131- parsed_binary =
132- binary
133123 |> Parser . parse ( )
134124 |> Mudbrick . render ( )
135- |> IO . iodata_to_binary ( )
136125
137- assert binary == parsed_binary
126+ assert parsed == input
138127 end
139128
140129 property "objects" do
0 commit comments