more tests
authorMatthias Kramm <kramm@quiss.org>
Tue, 18 Aug 2009 21:25:41 +0000 (23:25 +0200)
committerMatthias Kramm <kramm@quiss.org>
Tue, 18 Aug 2009 21:25:41 +0000 (23:25 +0200)
spec/imagematrix.pdf [new file with mode: 0644]
spec/imagematrix.py [new file with mode: 0644]
spec/imagematrix.spec.rb [new file with mode: 0644]
spec/textposition.spec.rb [new file with mode: 0644]

diff --git a/spec/imagematrix.pdf b/spec/imagematrix.pdf
new file mode 100644 (file)
index 0000000..74d6735
Binary files /dev/null and b/spec/imagematrix.pdf differ
diff --git a/spec/imagematrix.py b/spec/imagematrix.py
new file mode 100644 (file)
index 0000000..6819b87
--- /dev/null
@@ -0,0 +1,51 @@
+from sys import * 
+from pdflib_py import * 
+from math import sin,cos
+p = PDF_new() 
+PDF_open_file(p, "imagematrix.pdf")
+
+PDF_set_parameter(p, "usercoordinates", "true")
+
+width = 612
+height = 600
+PDF_begin_page(p, width, height)
+
+a=0.7
+b=-0.7
+matrices = [[1,0,0,1,100,200],
+            [cos(a),sin(a),-sin(a),cos(a),400,75],
+            [1,0,0,-1,100,350],
+            [-1,0,0,1,450,370],
+            [1.9,0.5,0.6,1.4,50,-200],
+            [cos(b),sin(b),sin(b),-cos(b),500,630],
+            [1.0,0,0,3,-90,-200],
+           ]
+
+i = PDF_load_image(p, "png", "karo.png", "")
+
+for m in matrices:
+    PDF_save(p)
+    PDF_setmatrix(p, m[0],m[1],m[2],m[3],m[4],m[5])
+
+    x,y = 100,100
+    #PDF_fit_image(p, i, x, y, "")
+    PDF_place_image(p, i, x, y, 100/4)
+    w,h = 100,100
+
+    PDF_setrgbcolor_fill(p, 0.0, 1.0, 1.0)
+    PDF_moveto(p, x,y)
+    PDF_lineto(p, x+w,y)
+    PDF_lineto(p, x+w,y+h)
+    PDF_lineto(p, x,y+h)
+    PDF_lineto(p, x,y)
+    PDF_moveto(p, x-20,y-20)
+    PDF_lineto(p, x-20,y+20+h)
+    PDF_lineto(p, x+20+w,y+20+h)
+    PDF_lineto(p, x+20+w,y-20)
+    PDF_lineto(p, x-20,y-20)
+    PDF_fill(p);
+    PDF_restore(p)
+
+PDF_end_page(p)
+PDF_close(p)
+PDF_delete(p);
diff --git a/spec/imagematrix.spec.rb b/spec/imagematrix.spec.rb
new file mode 100644 (file)
index 0000000..d5c599d
--- /dev/null
@@ -0,0 +1,118 @@
+require File.dirname(__FILE__) + '/spec_helper'
+
+describe "pdf conversion" do
+    convert_file "imagematrix.pdf" do
+        pixel_at(22,239).should_be_of_color 0xff00ff
+        pixel_at(45,240).should_be_of_color 0x0000ff
+        pixel_at(72,239).should_be_of_color 0xffff00
+        pixel_at(98,236).should_be_of_color 0xff0000
+        pixel_at(99,312).should_be_of_color 0xffffff
+        pixel_at(80,312).should_be_of_color 0xff00ff
+        pixel_at(46,312).should_be_of_color 0x00ffff
+        pixel_at(26,314).should_be_of_color 0x0000ff
+        pixel_at(21,385).should_be_of_color 0xffff00
+        pixel_at(46,384).should_be_of_color 0xff00ff
+        pixel_at(71,384).should_be_of_color 0x00ff00
+        pixel_at(95,383).should_be_of_color 0x0000ff
+        pixel_at(97,459).should_be_of_color 0x00ffff
+        pixel_at(75,460).should_be_of_color 0x0000ff
+        pixel_at(50,460).should_be_of_color 0xffffff
+        pixel_at(23,461).should_be_of_color 0x00ff00
+        pixel_at(216,436).should_be_of_color 0xff00ff
+        pixel_at(213,415).should_be_of_color 0x0000ff
+        pixel_at(214,386).should_be_of_color 0xffff00
+        pixel_at(216,360).should_be_of_color 0x00ff00
+        pixel_at(234,364).should_be_of_color 0xffffff
+        pixel_at(235,388).should_be_of_color 0xff00ff
+        pixel_at(233,416).should_be_of_color 0x00ffff
+        pixel_at(237,431).should_be_of_color 0x0000ff
+        pixel_at(260,433).should_be_of_color 0xffff00
+        pixel_at(263,414).should_be_of_color 0xff00ff
+        pixel_at(261,393).should_be_of_color 0x00ff00
+        pixel_at(263,365).should_be_of_color 0x0000ff
+        pixel_at(291,363).should_be_of_color 0x00ffff
+        pixel_at(288,390).should_be_of_color 0x0000ff
+        pixel_at(285,412).should_be_of_color 0xffffff
+        pixel_at(285,437).should_be_of_color 0xff0000
+        pixel_at(286,287).should_be_of_color 0x00ffff
+        pixel_at(265,287).should_be_of_color 0x0000ff
+        pixel_at(244,290).should_be_of_color 0xffffff
+        pixel_at(219,290).should_be_of_color 0x00ff00
+        pixel_at(209,270).should_be_of_color 0xffff00
+        pixel_at(238,266).should_be_of_color 0xff00ff
+        pixel_at(266,265).should_be_of_color 0x00ff00
+        pixel_at(283,265).should_be_of_color 0x0000ff
+        pixel_at(289,236).should_be_of_color 0xffffff
+        pixel_at(264,237).should_be_of_color 0xff00ff
+        pixel_at(238,241).should_be_of_color 0x00ffff
+        pixel_at(216,235).should_be_of_color 0x0000ff
+        pixel_at(210,213).should_be_of_color 0xff00ff
+        pixel_at(238,213).should_be_of_color 0x0000ff
+        pixel_at(267,211).should_be_of_color 0xffff00
+        pixel_at(287,211).should_be_of_color 0xff0000
+        pixel_at(257,118).should_be_of_color 0x00ffff
+        pixel_at(262,96).should_be_of_color 0x0000ff
+        pixel_at(263,69).should_be_of_color 0xffffff
+        pixel_at(262,43).should_be_of_color 0xff0000
+        pixel_at(285,41).should_be_of_color 0xffff00
+        pixel_at(290,67).should_be_of_color 0xff00ff
+        pixel_at(288,92).should_be_of_color 0x00ff00
+        pixel_at(285,115).should_be_of_color 0x0000ff
+        pixel_at(312,120).should_be_of_color 0xffffff
+        pixel_at(311,94).should_be_of_color 0xff00ff
+        pixel_at(310,69).should_be_of_color 0x00ffff
+        pixel_at(311,45).should_be_of_color 0x0000ff
+        pixel_at(335,44).should_be_of_color 0xff00ff
+        pixel_at(335,67).should_be_of_color 0x0000ff
+        pixel_at(337,94).should_be_of_color 0xffff00
+        pixel_at(337,119).should_be_of_color 0x00ff00
+        pixel_at(367,310).should_be_of_color 0xff00ff
+        pixel_at(390,290).should_be_of_color 0x0000ff
+        pixel_at(406,277).should_be_of_color 0xffff00
+        pixel_at(426,260).should_be_of_color 0xff0000
+        pixel_at(438,280).should_be_of_color 0xffffff
+        pixel_at(418,296).should_be_of_color 0xff00ff
+        pixel_at(404,308).should_be_of_color 0x00ffff
+        pixel_at(380,324).should_be_of_color 0x0000ff
+        pixel_at(401,344).should_be_of_color 0xffff00
+        pixel_at(415,330).should_be_of_color 0xff00ff
+        pixel_at(434,314).should_be_of_color 0x00ff00
+        pixel_at(451,301).should_be_of_color 0x0000ff
+        pixel_at(472,316).should_be_of_color 0x00ffff
+        pixel_at(452,333).should_be_of_color 0x0000ff
+        pixel_at(434,349).should_be_of_color 0xffffff
+        pixel_at(415,362).should_be_of_color 0x00ff00
+        pixel_at(375,484).should_be_of_color 0xff00ff
+        pixel_at(360,518).should_be_of_color 0x0000ff
+        pixel_at(343,552).should_be_of_color 0xffff00
+        pixel_at(334,585).should_be_of_color 0x00ff00
+        pixel_at(379,574).should_be_of_color 0xffffff
+        pixel_at(392,538).should_be_of_color 0xff00ff
+        pixel_at(406,505).should_be_of_color 0x00ffff
+        pixel_at(420,472).should_be_of_color 0x0000ff
+        pixel_at(468,456).should_be_of_color 0xffff00
+        pixel_at(455,496).should_be_of_color 0xff00ff
+        pixel_at(438,527).should_be_of_color 0x00ff00
+        pixel_at(427,558).should_be_of_color 0x0000ff
+        pixel_at(515,443).should_be_of_color 0xff0000
+        pixel_at(504,480).should_be_of_color 0xffffff
+        pixel_at(489,512).should_be_of_color 0x0000ff
+        pixel_at(477,547).should_be_of_color 0x00ffff
+        pixel_at(520,238).should_be_of_color 0xff0000
+        pixel_at(503,222).should_be_of_color 0xffff00
+        pixel_at(486,204).should_be_of_color 0x0000ff
+        pixel_at(463,187).should_be_of_color 0xff00ff
+        pixel_at(478,168).should_be_of_color 0x0000ff
+        pixel_at(500,148).should_be_of_color 0xffff00
+        pixel_at(516,130).should_be_of_color 0x00ff00
+        pixel_at(536,146).should_be_of_color 0xffffff
+        pixel_at(517,165).should_be_of_color 0xff00ff
+        pixel_at(501,187).should_be_of_color 0x00ffff
+        pixel_at(518,198).should_be_of_color 0xff00ff
+        pixel_at(533,183).should_be_of_color 0x00ff00
+        pixel_at(551,163).should_be_of_color 0x0000ff
+        pixel_at(572,178).should_be_of_color 0x00ffff
+        pixel_at(553,197).should_be_of_color 0x0000ff
+        pixel_at(538,216).should_be_of_color 0xffffff
+    end
+end
diff --git a/spec/textposition.spec.rb b/spec/textposition.spec.rb
new file mode 100644 (file)
index 0000000..73e1103
--- /dev/null
@@ -0,0 +1,126 @@
+require File.dirname(__FILE__) + '/spec_helper'
+
+describe "pdf conversion" do
+    convert_file "textposition.pdf" do
+        pixel_at(109,352).should_be_of_color 0xffffff
+        pixel_at(115,346).should_be_of_color 0xffffff
+        pixel_at(132,368).should_be_of_color 0xffffff
+        pixel_at(141,375).should_be_of_color 0xffffff
+        pixel_at(149,380).should_be_of_color 0xffffff
+        pixel_at(156,386).should_be_of_color 0xffffff
+        pixel_at(176,403).should_be_of_color 0xffffff
+        pixel_at(189,409).should_be_of_color 0xffffff
+        pixel_at(196,421).should_be_of_color 0xffffff
+        pixel_at(204,428).should_be_of_color 0xffffff
+        pixel_at(16,164).should_be_of_color 0x000000
+        pixel_at(28,167).should_be_of_color 0x000000
+        pixel_at(30,152).should_be_of_color 0xffffff
+        pixel_at(29,139).should_be_of_color 0x000000
+        pixel_at(42,194).should_be_of_color 0x000000
+        pixel_at(42,182).should_be_of_color 0xffffff
+        pixel_at(28,196).should_be_of_color 0x000000
+        pixel_at(31,183).should_be_of_color 0xffffff
+        pixel_at(50,193).should_be_of_color 0x000000
+        pixel_at(52,183).should_be_of_color 0xffffff
+        pixel_at(63,194).should_be_of_color 0x000000
+        pixel_at(63,178).should_be_of_color 0xffffff
+        pixel_at(63,149).should_be_of_color 0xffffff
+        pixel_at(62,139).should_be_of_color 0x000000
+        pixel_at(99,141).should_be_of_color 0x000000
+        pixel_at(98,171).should_be_of_color 0xffffff
+        pixel_at(99,194).should_be_of_color 0x000000
+        pixel_at(113,168).should_be_of_color 0x000000
+        pixel_at(113,152).should_be_of_color 0xffffff
+        pixel_at(113,189).should_be_of_color 0xffffff
+        pixel_at(126,169).should_be_of_color 0xffffff
+        pixel_at(136,167).should_be_of_color 0xffffff
+        pixel_at(135,195).should_be_of_color 0x000000
+        pixel_at(125,194).should_be_of_color 0x000000
+        pixel_at(135,141).should_be_of_color 0x000000
+        pixel_at(113,141).should_be_of_color 0x000000
+        pixel_at(74,169).should_be_of_color 0xffffff
+        pixel_at(310,437).should_be_of_color 0x000000
+        pixel_at(313,442).should_be_of_color 0xffffff
+        pixel_at(320,430).should_be_of_color 0xffffff
+        pixel_at(363,423).should_be_of_color 0xffffff
+        pixel_at(383,419).should_be_of_color 0xffffff
+        pixel_at(405,413).should_be_of_color 0xffffff
+        pixel_at(416,407).should_be_of_color 0x000000
+        pixel_at(435,404).should_be_of_color 0x000000
+        pixel_at(458,403).should_be_of_color 0xffffff
+        pixel_at(474,394).should_be_of_color 0xffffff
+        pixel_at(489,385).should_be_of_color 0xffffff
+        pixel_at(499,393).should_be_of_color 0xffffff
+        pixel_at(525,381).should_be_of_color 0xffffff
+        pixel_at(545,376).should_be_of_color 0xffffff
+        pixel_at(415,278).should_be_of_color 0xffffff
+        pixel_at(409,271).should_be_of_color 0xffffff
+        pixel_at(432,256).should_be_of_color 0xffffff
+        pixel_at(440,250).should_be_of_color 0xffffff
+        pixel_at(449,243).should_be_of_color 0xffffff
+        pixel_at(458,237).should_be_of_color 0xffffff
+        pixel_at(472,228).should_be_of_color 0xffffff
+        pixel_at(476,221).should_be_of_color 0xffffff
+        pixel_at(489,214).should_be_of_color 0xffffff
+        pixel_at(497,202).should_be_of_color 0xffffff
+        pixel_at(504,196).should_be_of_color 0xffffff
+        pixel_at(243,262).should_be_of_color 0xffffff
+        pixel_at(242,255).should_be_of_color 0xffffff
+        pixel_at(253,257).should_be_of_color 0xffffff
+        pixel_at(129,370).should_be_of_color 0xffffff
+        pixel_at(367,419).should_be_of_color 0xffffff
+        pixel_at(387,412).should_be_of_color 0xffffff
+        pixel_at(232,188).should_be_of_color 0xffffff
+        pixel_at(233,262).should_be_of_color 0xffffff
+        pixel_at(207,253).should_be_of_color 0xffffff
+        pixel_at(264,254).should_be_of_color 0xffffff
+        pixel_at(290,256).should_be_of_color 0xffffff
+        pixel_at(303,252).should_be_of_color 0xffffff
+        pixel_at(317,256).should_be_of_color 0xffffff
+        pixel_at(326,256).should_be_of_color 0xffffff
+        pixel_at(317,188).should_be_of_color 0xffffff
+        pixel_at(325,193).should_be_of_color 0xffffff
+        pixel_at(289,193).should_be_of_color 0xffffff
+        pixel_at(252,194).should_be_of_color 0xffffff
+        pixel_at(206,197).should_be_of_color 0xffffff
+        pixel_at(206,188).should_be_of_color 0xffffff
+        pixel_at(222,123).should_be_of_color 0xffffff
+        pixel_at(231,118).should_be_of_color 0xffffff
+        pixel_at(245,128).should_be_of_color 0xffffff
+        pixel_at(260,124).should_be_of_color 0xffffff
+        pixel_at(285,124).should_be_of_color 0xffffff
+        pixel_at(295,123).should_be_of_color 0xffffff
+        pixel_at(305,118).should_be_of_color 0xffffff
+        pixel_at(316,118).should_be_of_color 0xffffff
+        pixel_at(343,128).should_be_of_color 0xffffff
+        pixel_at(343,118).should_be_of_color 0xffffff
+        pixel_at(303,198).should_be_of_color 0xffffff
+        pixel_at(43,136).should_be_of_color 0xffffff
+        pixel_at(53,135).should_be_of_color 0xffffff
+        area_at(17,177,76,197).should_not_be_plain_colored
+        area_at(74,134,141,162).should_not_be_plain_colored
+        area_at(77,173,141,196).should_not_be_plain_colored
+        area_at(219,119,346,128).should_not_be_plain_colored
+        area_at(110,347,117,354).should_not_be_plain_colored
+        area_at(129,366,138,373).should_not_be_plain_colored
+        area_at(139,373,149,381).should_not_be_plain_colored
+        area_at(166,396,176,403).should_not_be_plain_colored
+        area_at(187,413,197,420).should_not_be_plain_colored
+        area_at(199,422,208,429).should_not_be_plain_colored
+        area_at(317,430,347,434).should_not_be_plain_colored
+        area_at(353,420,382,425).should_not_be_plain_colored
+        area_at(396,408,427,414).should_not_be_plain_colored
+        area_at(430,400,461,404).should_not_be_plain_colored
+        area_at(478,389,503,395).should_not_be_plain_colored
+        area_at(513,381,539,385).should_not_be_plain_colored
+        area_at(203,189,330,197).should_not_be_plain_colored
+        area_at(204,253,331,261).should_not_be_plain_colored
+        area_at(410,271,415,277).should_not_be_plain_colored
+        area_at(423,261,428,266).should_not_be_plain_colored
+        area_at(440,246,445,257).should_not_be_plain_colored
+        area_at(460,228,465,235).should_not_be_plain_colored
+        area_at(475,217,483,223).should_not_be_plain_colored
+        area_at(489,206,493,212).should_not_be_plain_colored
+        area_at(502,197,505,202).should_not_be_plain_colored
+    end
+end