rmagick 2.16.0 → 5.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (441) hide show
  1. checksums.yaml +5 -5
  2. data/.devcontainer/Dockerfile +14 -0
  3. data/.devcontainer/ImageMagick6/devcontainer.json +11 -0
  4. data/.devcontainer/devcontainer.json +11 -0
  5. data/.devcontainer/setup-repo.sh +10 -0
  6. data/.devcontainer/setup-user.sh +45 -0
  7. data/.editorconfig +3 -0
  8. data/.github/ISSUE_TEMPLATE.md +17 -0
  9. data/.github/workflows/ci.yml +157 -0
  10. data/.gitignore +9 -1
  11. data/.rspec +1 -0
  12. data/.rubocop.yml +37 -340
  13. data/.rubocop_todo.yml +456 -0
  14. data/.yardopts +5 -0
  15. data/CHANGELOG.md +536 -0
  16. data/CODE_OF_CONDUCT.md +122 -7
  17. data/CONTRIBUTING.md +37 -6
  18. data/Gemfile +18 -4
  19. data/README.md +319 -0
  20. data/Rakefile +83 -98
  21. data/before_install_linux.sh +65 -28
  22. data/before_install_osx.sh +58 -2
  23. data/ext/RMagick/extconf.rb +310 -393
  24. data/ext/RMagick/{rmagick.c → rmagick.cpp} +119 -127
  25. data/ext/RMagick/rmagick.h +290 -363
  26. data/ext/RMagick/rmagick_gvl.h +224 -0
  27. data/ext/RMagick/rmdraw.cpp +1696 -0
  28. data/ext/RMagick/rmenum.cpp +796 -0
  29. data/ext/RMagick/{rmfill.c → rmfill.cpp} +287 -197
  30. data/ext/RMagick/rmilist.cpp +1275 -0
  31. data/ext/RMagick/rmimage.cpp +16459 -0
  32. data/ext/RMagick/{rminfo.c → rminfo.cpp} +738 -910
  33. data/ext/RMagick/rmkinfo.cpp +210 -0
  34. data/ext/RMagick/rmmain.cpp +1923 -0
  35. data/ext/RMagick/rmmontage.cpp +474 -0
  36. data/ext/RMagick/rmpixel.cpp +1322 -0
  37. data/ext/RMagick/{rmstruct.c → rmstruct.cpp} +104 -284
  38. data/ext/RMagick/{rmutil.c → rmutil.cpp} +500 -433
  39. data/lib/rmagick/version.rb +5 -4
  40. data/lib/rmagick.rb +2 -0
  41. data/lib/rmagick_internal.rb +397 -459
  42. data/lib/rvg/clippath.rb +3 -4
  43. data/lib/rvg/container.rb +30 -22
  44. data/lib/rvg/deep_equal.rb +11 -11
  45. data/lib/rvg/describable.rb +2 -2
  46. data/lib/rvg/embellishable.rb +67 -68
  47. data/lib/rvg/misc.rb +139 -142
  48. data/lib/rvg/paint.rb +2 -1
  49. data/lib/rvg/pathdata.rb +7 -8
  50. data/lib/rvg/rvg.rb +49 -46
  51. data/lib/rvg/stretchable.rb +22 -28
  52. data/lib/rvg/stylable.rb +12 -10
  53. data/lib/rvg/text.rb +169 -165
  54. data/lib/rvg/transformable.rb +17 -16
  55. data/lib/rvg/units.rb +5 -5
  56. data/rmagick.gemspec +7 -41
  57. data/sig/rmagick/_draw_common_methods.rbs +64 -0
  58. data/sig/rmagick/_image_common_methods.rbs +389 -0
  59. data/sig/rmagick/draw.rbs +38 -0
  60. data/sig/rmagick/draw_attribute.rbs +28 -0
  61. data/sig/rmagick/enum.rbs +814 -0
  62. data/sig/rmagick/error.rbs +11 -0
  63. data/sig/rmagick/fill.rbs +21 -0
  64. data/sig/rmagick/geometry.rbs +14 -0
  65. data/sig/rmagick/image.rbs +194 -0
  66. data/sig/rmagick/image_list.rbs +181 -0
  67. data/sig/rmagick/iptc.rbs +101 -0
  68. data/sig/rmagick/kernel_info.rbs +12 -0
  69. data/sig/rmagick/optional_method_arguments.rbs +10 -0
  70. data/sig/rmagick/pixel.rbs +46 -0
  71. data/sig/rmagick/struct.rbs +90 -0
  72. data/sig/rmagick.rbs +43 -0
  73. data/sig/rvg/clippath.rbs +34 -0
  74. data/sig/rvg/container.rbs +78 -0
  75. data/sig/rvg/deep_equal.rbs +48 -0
  76. data/sig/rvg/describable.rbs +30 -0
  77. data/sig/rvg/embellishable.rbs +226 -0
  78. data/sig/rvg/misc.rbs +145 -0
  79. data/sig/rvg/paint.rbs +55 -0
  80. data/sig/rvg/pathdata.rbs +77 -0
  81. data/sig/rvg/rvg.rbs +125 -0
  82. data/sig/rvg/stretchable.rbs +56 -0
  83. data/sig/rvg/stylable.rbs +66 -0
  84. data/sig/rvg/text.rbs +118 -0
  85. data/sig/rvg/transformable.rbs +59 -0
  86. data/sig/rvg/units.rbs +33 -0
  87. metadata +68 -428
  88. data/.hound.yml +0 -2
  89. data/.simplecov +0 -27
  90. data/.travis.yml +0 -74
  91. data/Doxyfile +0 -1514
  92. data/README.textile +0 -251
  93. data/deprecated/RMagick.rb +0 -6
  94. data/doc/.cvsignore +0 -1
  95. data/doc/comtasks.html +0 -287
  96. data/doc/constants.html +0 -1581
  97. data/doc/css/doc.css +0 -299
  98. data/doc/css/popup.css +0 -34
  99. data/doc/css/ref.css +0 -67
  100. data/doc/draw.html +0 -3272
  101. data/doc/ex/InitialCoords.rb +0 -22
  102. data/doc/ex/NewCoordSys.rb +0 -30
  103. data/doc/ex/OrigCoordSys.rb +0 -16
  104. data/doc/ex/PreserveAspectRatio.rb +0 -204
  105. data/doc/ex/RotateScale.rb +0 -36
  106. data/doc/ex/Skew.rb +0 -38
  107. data/doc/ex/Use01.rb +0 -15
  108. data/doc/ex/Use02.rb +0 -20
  109. data/doc/ex/Use03.rb +0 -16
  110. data/doc/ex/ViewBox.rb +0 -31
  111. data/doc/ex/adaptive_threshold.rb +0 -9
  112. data/doc/ex/add_noise.rb +0 -16
  113. data/doc/ex/affine.rb +0 -48
  114. data/doc/ex/affine_transform.rb +0 -20
  115. data/doc/ex/arc.rb +0 -49
  116. data/doc/ex/arcpath.rb +0 -32
  117. data/doc/ex/arcs01.rb +0 -28
  118. data/doc/ex/arcs02.rb +0 -59
  119. data/doc/ex/average.rb +0 -15
  120. data/doc/ex/axes.rb +0 -64
  121. data/doc/ex/baseline_shift01.rb +0 -17
  122. data/doc/ex/bilevel_channel.rb +0 -8
  123. data/doc/ex/blur_image.rb +0 -12
  124. data/doc/ex/border.rb +0 -10
  125. data/doc/ex/bounding_box.rb +0 -42
  126. data/doc/ex/cbezier1.rb +0 -41
  127. data/doc/ex/cbezier2.rb +0 -41
  128. data/doc/ex/cbezier3.rb +0 -41
  129. data/doc/ex/cbezier4.rb +0 -42
  130. data/doc/ex/cbezier5.rb +0 -42
  131. data/doc/ex/cbezier6.rb +0 -53
  132. data/doc/ex/channel.rb +0 -25
  133. data/doc/ex/charcoal.rb +0 -12
  134. data/doc/ex/chop.rb +0 -29
  135. data/doc/ex/circle.rb +0 -33
  136. data/doc/ex/circle01.rb +0 -16
  137. data/doc/ex/clip_path.rb +0 -60
  138. data/doc/ex/coalesce.rb +0 -57
  139. data/doc/ex/color_fill_to_border.rb +0 -29
  140. data/doc/ex/color_floodfill.rb +0 -28
  141. data/doc/ex/color_histogram.rb +0 -47
  142. data/doc/ex/color_reset.rb +0 -11
  143. data/doc/ex/colorize.rb +0 -16
  144. data/doc/ex/colors.rb +0 -64
  145. data/doc/ex/compose_mask.rb +0 -22
  146. data/doc/ex/composite.rb +0 -133
  147. data/doc/ex/composite_layers.rb +0 -53
  148. data/doc/ex/composite_tiled.rb +0 -21
  149. data/doc/ex/contrast.rb +0 -36
  150. data/doc/ex/crop.rb +0 -31
  151. data/doc/ex/crop_with_gravity.rb +0 -42
  152. data/doc/ex/cubic01.rb +0 -43
  153. data/doc/ex/cubic02.rb +0 -91
  154. data/doc/ex/cycle_colormap.rb +0 -21
  155. data/doc/ex/dissolve.rb +0 -12
  156. data/doc/ex/drawcomp.rb +0 -42
  157. data/doc/ex/drop_shadow.rb +0 -60
  158. data/doc/ex/edge.rb +0 -11
  159. data/doc/ex/ellipse.rb +0 -45
  160. data/doc/ex/ellipse01.rb +0 -21
  161. data/doc/ex/emboss.rb +0 -11
  162. data/doc/ex/enhance.rb +0 -28
  163. data/doc/ex/equalize.rb +0 -11
  164. data/doc/ex/evenodd.rb +0 -42
  165. data/doc/ex/fill_pattern.rb +0 -23
  166. data/doc/ex/flatten_images.rb +0 -36
  167. data/doc/ex/flip.rb +0 -11
  168. data/doc/ex/flop.rb +0 -11
  169. data/doc/ex/font_styles.rb +0 -32
  170. data/doc/ex/fonts.rb +0 -20
  171. data/doc/ex/frame.rb +0 -12
  172. data/doc/ex/gaussian_blur.rb +0 -11
  173. data/doc/ex/get_multiline_type_metrics.rb +0 -41
  174. data/doc/ex/get_pixels.rb +0 -47
  175. data/doc/ex/get_type_metrics.rb +0 -141
  176. data/doc/ex/gradientfill.rb +0 -27
  177. data/doc/ex/grav.rb +0 -45
  178. data/doc/ex/gravity.rb +0 -80
  179. data/doc/ex/group.rb +0 -26
  180. data/doc/ex/hatchfill.rb +0 -27
  181. data/doc/ex/image.rb +0 -44
  182. data/doc/ex/images/Apple.miff +0 -0
  183. data/doc/ex/images/Ballerina.jpg +0 -0
  184. data/doc/ex/images/Ballerina3.jpg +0 -0
  185. data/doc/ex/images/Button_0.gif +0 -0
  186. data/doc/ex/images/Button_1.gif +0 -0
  187. data/doc/ex/images/Button_2.gif +0 -0
  188. data/doc/ex/images/Button_3.gif +0 -0
  189. data/doc/ex/images/Button_4.gif +0 -0
  190. data/doc/ex/images/Button_5.gif +0 -0
  191. data/doc/ex/images/Button_6.gif +0 -0
  192. data/doc/ex/images/Button_7.gif +0 -0
  193. data/doc/ex/images/Button_8.gif +0 -0
  194. data/doc/ex/images/Button_9.gif +0 -0
  195. data/doc/ex/images/Button_A.gif +0 -0
  196. data/doc/ex/images/Button_B.gif +0 -0
  197. data/doc/ex/images/Button_C.gif +0 -0
  198. data/doc/ex/images/Button_D.gif +0 -0
  199. data/doc/ex/images/Button_E.gif +0 -0
  200. data/doc/ex/images/Button_F.gif +0 -0
  201. data/doc/ex/images/Button_G.gif +0 -0
  202. data/doc/ex/images/Button_H.gif +0 -0
  203. data/doc/ex/images/Button_I.gif +0 -0
  204. data/doc/ex/images/Button_J.gif +0 -0
  205. data/doc/ex/images/Button_K.gif +0 -0
  206. data/doc/ex/images/Button_L.gif +0 -0
  207. data/doc/ex/images/Button_M.gif +0 -0
  208. data/doc/ex/images/Button_N.gif +0 -0
  209. data/doc/ex/images/Button_O.gif +0 -0
  210. data/doc/ex/images/Button_P.gif +0 -0
  211. data/doc/ex/images/Button_Q.gif +0 -0
  212. data/doc/ex/images/Button_R.gif +0 -0
  213. data/doc/ex/images/Button_S.gif +0 -0
  214. data/doc/ex/images/Button_T.gif +0 -0
  215. data/doc/ex/images/Button_U.gif +0 -0
  216. data/doc/ex/images/Button_V.gif +0 -0
  217. data/doc/ex/images/Button_W.gif +0 -0
  218. data/doc/ex/images/Button_X.gif +0 -0
  219. data/doc/ex/images/Button_Y.gif +0 -0
  220. data/doc/ex/images/Button_Z.gif +0 -0
  221. data/doc/ex/images/Cheetah.jpg +0 -0
  222. data/doc/ex/images/Coffee.wmf +0 -0
  223. data/doc/ex/images/Flower_Hat.jpg +0 -0
  224. data/doc/ex/images/Gold_Statue.jpg +0 -0
  225. data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
  226. data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
  227. data/doc/ex/images/Leaf.miff +0 -0
  228. data/doc/ex/images/No.wmf +0 -0
  229. data/doc/ex/images/Polynesia.jpg +0 -0
  230. data/doc/ex/images/Red_Rocks.jpg +0 -0
  231. data/doc/ex/images/Rocks_On_Beach.miff +0 -0
  232. data/doc/ex/images/Shorts.jpg +0 -0
  233. data/doc/ex/images/Snake.wmf +0 -0
  234. data/doc/ex/images/Violin.jpg +0 -0
  235. data/doc/ex/images/Yellow_Rose.miff +0 -0
  236. data/doc/ex/images/big-duck.gif +0 -0
  237. data/doc/ex/images/duck.gif +0 -0
  238. data/doc/ex/images/duck0.gif +0 -0
  239. data/doc/ex/images/duck1.gif +0 -0
  240. data/doc/ex/images/duck10.gif +0 -0
  241. data/doc/ex/images/duck11.gif +0 -0
  242. data/doc/ex/images/duck12.gif +0 -0
  243. data/doc/ex/images/duck13.gif +0 -0
  244. data/doc/ex/images/duck14.gif +0 -0
  245. data/doc/ex/images/duck15.gif +0 -0
  246. data/doc/ex/images/duck2.gif +0 -0
  247. data/doc/ex/images/duck3.gif +0 -0
  248. data/doc/ex/images/duck4.gif +0 -0
  249. data/doc/ex/images/duck5.gif +0 -0
  250. data/doc/ex/images/duck6.gif +0 -0
  251. data/doc/ex/images/duck7.gif +0 -0
  252. data/doc/ex/images/duck8.gif +0 -0
  253. data/doc/ex/images/duck9.gif +0 -0
  254. data/doc/ex/images/graydient230x6.gif +0 -0
  255. data/doc/ex/images/image_with_profile.jpg +0 -0
  256. data/doc/ex/images/logo400x83.gif +0 -0
  257. data/doc/ex/images/model.miff +0 -0
  258. data/doc/ex/images/notimplemented.gif +0 -0
  259. data/doc/ex/images/smile.miff +0 -0
  260. data/doc/ex/images/spin.gif +0 -0
  261. data/doc/ex/implode.rb +0 -34
  262. data/doc/ex/level.rb +0 -11
  263. data/doc/ex/level_colors.rb +0 -11
  264. data/doc/ex/line.rb +0 -41
  265. data/doc/ex/line01.rb +0 -21
  266. data/doc/ex/mask.rb +0 -35
  267. data/doc/ex/matte_fill_to_border.rb +0 -39
  268. data/doc/ex/matte_floodfill.rb +0 -32
  269. data/doc/ex/matte_replace.rb +0 -39
  270. data/doc/ex/median_filter.rb +0 -28
  271. data/doc/ex/modulate.rb +0 -11
  272. data/doc/ex/mono.rb +0 -23
  273. data/doc/ex/morph.rb +0 -25
  274. data/doc/ex/mosaic.rb +0 -35
  275. data/doc/ex/motion_blur.rb +0 -11
  276. data/doc/ex/negate.rb +0 -11
  277. data/doc/ex/negate_channel.rb +0 -9
  278. data/doc/ex/nested_rvg.rb +0 -21
  279. data/doc/ex/nonzero.rb +0 -42
  280. data/doc/ex/normalize.rb +0 -11
  281. data/doc/ex/oil_paint.rb +0 -11
  282. data/doc/ex/opacity.rb +0 -37
  283. data/doc/ex/ordered_dither.rb +0 -11
  284. data/doc/ex/path.rb +0 -63
  285. data/doc/ex/pattern1.rb +0 -25
  286. data/doc/ex/pattern2.rb +0 -26
  287. data/doc/ex/polaroid.rb +0 -27
  288. data/doc/ex/polygon.rb +0 -23
  289. data/doc/ex/polygon01.rb +0 -21
  290. data/doc/ex/polyline.rb +0 -22
  291. data/doc/ex/polyline01.rb +0 -21
  292. data/doc/ex/posterize.rb +0 -8
  293. data/doc/ex/preview.rb +0 -8
  294. data/doc/ex/qbezierpath.rb +0 -52
  295. data/doc/ex/quad01.rb +0 -34
  296. data/doc/ex/quantize-m.rb +0 -25
  297. data/doc/ex/radial_blur.rb +0 -9
  298. data/doc/ex/raise.rb +0 -8
  299. data/doc/ex/random_threshold_channel.rb +0 -13
  300. data/doc/ex/rect01.rb +0 -14
  301. data/doc/ex/rect02.rb +0 -20
  302. data/doc/ex/rectangle.rb +0 -34
  303. data/doc/ex/reduce_noise.rb +0 -28
  304. data/doc/ex/remap.rb +0 -11
  305. data/doc/ex/remap_images.rb +0 -19
  306. data/doc/ex/resize_to_fill.rb +0 -8
  307. data/doc/ex/resize_to_fit.rb +0 -8
  308. data/doc/ex/roll.rb +0 -9
  309. data/doc/ex/rotate.rb +0 -44
  310. data/doc/ex/rotate_f.rb +0 -14
  311. data/doc/ex/roundrect.rb +0 -33
  312. data/doc/ex/rubyname.rb +0 -30
  313. data/doc/ex/rvg_clippath.rb +0 -12
  314. data/doc/ex/rvg_linecap.rb +0 -42
  315. data/doc/ex/rvg_linejoin.rb +0 -40
  316. data/doc/ex/rvg_opacity.rb +0 -18
  317. data/doc/ex/rvg_pattern.rb +0 -26
  318. data/doc/ex/rvg_stroke_dasharray.rb +0 -11
  319. data/doc/ex/segment.rb +0 -11
  320. data/doc/ex/sepiatone.rb +0 -7
  321. data/doc/ex/shade.rb +0 -11
  322. data/doc/ex/shadow.rb +0 -30
  323. data/doc/ex/shave.rb +0 -15
  324. data/doc/ex/shear.rb +0 -10
  325. data/doc/ex/sketch.rb +0 -17
  326. data/doc/ex/skewx.rb +0 -51
  327. data/doc/ex/skewy.rb +0 -47
  328. data/doc/ex/smile.rb +0 -125
  329. data/doc/ex/solarize.rb +0 -11
  330. data/doc/ex/sparse_color.rb +0 -54
  331. data/doc/ex/splice.rb +0 -8
  332. data/doc/ex/spread.rb +0 -11
  333. data/doc/ex/stegano.rb +0 -55
  334. data/doc/ex/stroke_dasharray.rb +0 -42
  335. data/doc/ex/stroke_fill.rb +0 -10
  336. data/doc/ex/stroke_linecap.rb +0 -44
  337. data/doc/ex/stroke_linejoin.rb +0 -48
  338. data/doc/ex/stroke_width.rb +0 -49
  339. data/doc/ex/swirl.rb +0 -17
  340. data/doc/ex/text.rb +0 -37
  341. data/doc/ex/text01.rb +0 -16
  342. data/doc/ex/text_align.rb +0 -36
  343. data/doc/ex/text_antialias.rb +0 -37
  344. data/doc/ex/text_styles.rb +0 -19
  345. data/doc/ex/text_undercolor.rb +0 -28
  346. data/doc/ex/texture_fill_to_border.rb +0 -34
  347. data/doc/ex/texture_floodfill.rb +0 -32
  348. data/doc/ex/texturefill.rb +0 -24
  349. data/doc/ex/threshold.rb +0 -13
  350. data/doc/ex/to_blob.rb +0 -13
  351. data/doc/ex/translate.rb +0 -39
  352. data/doc/ex/transparent.rb +0 -38
  353. data/doc/ex/transpose.rb +0 -9
  354. data/doc/ex/transverse.rb +0 -9
  355. data/doc/ex/tref01.rb +0 -24
  356. data/doc/ex/triangle01.rb +0 -15
  357. data/doc/ex/trim.rb +0 -23
  358. data/doc/ex/tspan01.rb +0 -17
  359. data/doc/ex/tspan02.rb +0 -17
  360. data/doc/ex/tspan03.rb +0 -19
  361. data/doc/ex/unsharp_mask.rb +0 -28
  362. data/doc/ex/viewex.rb +0 -33
  363. data/doc/ex/vignette.rb +0 -12
  364. data/doc/ex/watermark.rb +0 -27
  365. data/doc/ex/wave.rb +0 -9
  366. data/doc/ex/wet_floor.rb +0 -58
  367. data/doc/ex/writing_mode01.rb +0 -26
  368. data/doc/ex/writing_mode02.rb +0 -26
  369. data/doc/ilist.html +0 -2056
  370. data/doc/image1.html +0 -4680
  371. data/doc/image2.html +0 -3665
  372. data/doc/image3.html +0 -4522
  373. data/doc/imageattrs.html +0 -1638
  374. data/doc/imusage.html +0 -514
  375. data/doc/index.html +0 -416
  376. data/doc/info.html +0 -1499
  377. data/doc/magick.html +0 -565
  378. data/doc/optequiv.html +0 -2435
  379. data/doc/rvg.html +0 -975
  380. data/doc/rvgclip.html +0 -248
  381. data/doc/rvggroup.html +0 -305
  382. data/doc/rvgimage.html +0 -289
  383. data/doc/rvgpattern.html +0 -475
  384. data/doc/rvgshape.html +0 -406
  385. data/doc/rvgstyle.html +0 -270
  386. data/doc/rvgtext.html +0 -465
  387. data/doc/rvgtspan.html +0 -238
  388. data/doc/rvgtut.html +0 -530
  389. data/doc/rvguse.html +0 -145
  390. data/doc/rvgxform.html +0 -294
  391. data/doc/scripts/doc.js +0 -22
  392. data/doc/scripts/stripeTables.js +0 -23
  393. data/doc/struct.html +0 -1339
  394. data/doc/usage.html +0 -1621
  395. data/examples/constitute.rb +0 -7
  396. data/examples/crop_with_gravity.rb +0 -42
  397. data/examples/demo.rb +0 -324
  398. data/examples/describe.rb +0 -43
  399. data/examples/find_similar_region.rb +0 -34
  400. data/examples/histogram.rb +0 -321
  401. data/examples/identify.rb +0 -185
  402. data/examples/image_opacity.rb +0 -29
  403. data/examples/import_export.rb +0 -31
  404. data/examples/pattern_fill.rb +0 -38
  405. data/examples/rotating_text.rb +0 -44
  406. data/examples/spinner.rb +0 -49
  407. data/examples/thumbnail.rb +0 -64
  408. data/examples/vignette.rb +0 -78
  409. data/ext/RMagick/rmdraw.c +0 -2022
  410. data/ext/RMagick/rmenum.c +0 -1235
  411. data/ext/RMagick/rmilist.c +0 -1270
  412. data/ext/RMagick/rmimage.c +0 -15427
  413. data/ext/RMagick/rmmain.c +0 -1741
  414. data/ext/RMagick/rmmontage.c +0 -519
  415. data/ext/RMagick/rmpixel.c +0 -1114
  416. data/spec/rmagick/ImageList1_spec.rb +0 -24
  417. data/spec/rmagick/draw_spec.rb +0 -156
  418. data/spec/rmagick/image/blue_shift_spec.rb +0 -16
  419. data/spec/rmagick/image/composite_spec.rb +0 -140
  420. data/spec/rmagick/image/constitute_spec.rb +0 -15
  421. data/spec/rmagick/image/dispatch_spec.rb +0 -18
  422. data/spec/rmagick/image/from_blob_spec.rb +0 -14
  423. data/spec/rmagick/image/ping_spec.rb +0 -14
  424. data/spec/rmagick/image/properties_spec.rb +0 -29
  425. data/spec/spec_helper.rb +0 -4
  426. data/test/Image1.rb +0 -565
  427. data/test/Image2.rb +0 -1304
  428. data/test/Image3.rb +0 -1030
  429. data/test/ImageList1.rb +0 -806
  430. data/test/ImageList2.rb +0 -385
  431. data/test/Image_attributes.rb +0 -697
  432. data/test/Import_Export.rb +0 -121
  433. data/test/Info.rb +0 -345
  434. data/test/Magick.rb +0 -321
  435. data/test/Pixel.rb +0 -116
  436. data/test/Preview.rb +0 -57
  437. data/test/cmyk.icm +0 -0
  438. data/test/srgb.icm +0 -0
  439. data/test/test_all_basic.rb +0 -38
  440. data/test/tmpnam_test.rb +0 -50
  441. data/wercker.yml +0 -10
data/test/Magick.rb DELETED
@@ -1,321 +0,0 @@
1
-
2
- #!/usr/bin/env ruby -w
3
-
4
- require 'rmagick'
5
- require 'test/unit'
6
- require 'test/unit/ui/console/testrunner' unless RUBY_VERSION[/^1\.9|^2/]
7
-
8
- module Magick
9
- def self._tmpnam_
10
- @@_tmpnam_
11
- end
12
- end
13
-
14
- class Magick::AlphaChannelType
15
- def self.enumerators
16
- @@enumerators
17
- end
18
- end
19
-
20
- class Magick::AlignType
21
- def self.enumerators
22
- @@enumerators
23
- end
24
- end
25
-
26
- class Magick::AnchorType
27
- def self.enumerators
28
- @@enumerators
29
- end
30
- end
31
-
32
- class Magick_UT < Test::Unit::TestCase
33
- def test_colors
34
- res = nil
35
- assert_nothing_raised { res = Magick.colors }
36
- assert_instance_of(Array, res)
37
- res.each do |c|
38
- assert_instance_of(Magick::Color, c)
39
- assert_instance_of(String, c.name)
40
- assert_instance_of(Magick::ComplianceType, c.compliance)
41
- assert_instance_of(Magick::Pixel, c.color)
42
- end
43
- Magick.colors {|c| assert_instance_of(Magick::Color, c) }
44
- end
45
-
46
- # Test a few of the @@enumerator arrays in the Enum subclasses.
47
- # No need to test all of them.
48
- def test_enumerators
49
- ary = nil
50
- assert_nothing_raised do
51
- ary = Magick::AlphaChannelType.enumerators
52
- end
53
- assert_instance_of(Array, ary)
54
-
55
- assert_nothing_raised do
56
- ary = Magick::AlignType.enumerators
57
- end
58
- assert_instance_of(Array, ary)
59
- assert_equal(4, ary.length)
60
-
61
- assert_nothing_raised do
62
- ary = Magick::AnchorType.enumerators
63
- end
64
- assert_instance_of(Array, ary)
65
- assert_equal(3, ary.length)
66
- end
67
-
68
- def test_features
69
- res = nil
70
- assert_nothing_raised { res = Magick::Magick_features }
71
- assert_instance_of(String, res)
72
- end
73
-
74
- def test_fonts
75
- res = nil
76
- assert_nothing_raised { res = Magick.fonts }
77
- assert_instance_of(Array, res)
78
- res.each do |f|
79
- assert_instance_of(Magick::Font, f)
80
- assert_instance_of(String, f.name)
81
- assert_instance_of(String, f.description) unless f.description.nil?
82
- assert_instance_of(String, f.family)
83
- assert_instance_of(Magick::StyleType, f.style)
84
- assert_instance_of(Magick::StretchType, f.stretch)
85
- assert_instance_of(Fixnum, f.weight)
86
- assert_instance_of(String, f.encoding) unless f.encoding.nil?
87
- assert_instance_of(String, f.foundry) unless f.foundry.nil?
88
- assert_instance_of(String, f.format) unless f.format.nil?
89
- end
90
- Magick.fonts {|f| assert_instance_of(Magick::Font, f) }
91
- end
92
-
93
- def test_formats
94
- res = nil
95
- assert_nothing_raised { res = Magick.formats }
96
- assert_instance_of(Hash, res)
97
- res.each do |f, v|
98
- assert_instance_of(String, f)
99
- assert_instance_of(String, v)
100
- end
101
- Magick.formats.each { |f, v| assert_not_nil(f); assert_not_nil(v) }
102
- end
103
-
104
- def test_geometry
105
- g = nil
106
- gs = nil
107
- g2 = nil
108
- gs2 = nil
109
- assert_nothing_raised { g = Magick::Geometry.new }
110
- assert_nothing_raised { gs = g.to_s }
111
- assert_equal('', gs)
112
-
113
- g = Magick::Geometry.new(40)
114
- gs = g.to_s
115
- assert_equal('40x', gs)
116
-
117
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
118
- gs2 = g2.to_s
119
- assert_equal(gs, gs2)
120
-
121
- g = Magick::Geometry.new(40, 50)
122
- gs = g.to_s
123
- assert_equal('40x50', gs)
124
-
125
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
126
- gs2 = g2.to_s
127
- assert_equal(gs, gs2)
128
-
129
- g = Magick::Geometry.new(40, 50, 10)
130
- gs = g.to_s
131
- assert_equal('40x50+10+0', gs)
132
-
133
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
134
- gs2 = g2.to_s
135
- assert_equal(gs, gs2)
136
-
137
- g = Magick::Geometry.new(40, 50, 10, -15)
138
- gs = g.to_s
139
- assert_equal('40x50+10-15', gs)
140
-
141
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
142
- gs2 = g2.to_s
143
- assert_equal(gs, gs2)
144
-
145
- g = Magick::Geometry.new(40, 50, 0, 0, Magick::AreaGeometry)
146
- gs = g.to_s
147
- assert_equal('40x50@', gs)
148
-
149
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
150
- gs2 = g2.to_s
151
- assert_equal(gs, gs2)
152
-
153
- g = Magick::Geometry.new(40, 50, 0, 0, Magick::AspectGeometry)
154
- gs = g.to_s
155
- assert_equal('40x50!', gs)
156
-
157
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
158
- gs2 = g2.to_s
159
- assert_equal(gs, gs2)
160
-
161
- g = Magick::Geometry.new(40, 50, 0, 0, Magick::LessGeometry)
162
- gs = g.to_s
163
- assert_equal('40x50<', gs)
164
-
165
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
166
- gs2 = g2.to_s
167
- assert_equal(gs, gs2)
168
-
169
- g = Magick::Geometry.new(40, 50, 0, 0, Magick::GreaterGeometry)
170
- gs = g.to_s
171
- assert_equal('40x50>', gs)
172
-
173
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
174
- gs2 = g2.to_s
175
- assert_equal(gs, gs2)
176
-
177
- g = Magick::Geometry.new(40, 50, 0, 0, Magick::MinimumGeometry)
178
- gs = g.to_s
179
- assert_equal('40x50^', gs)
180
-
181
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
182
- gs2 = g2.to_s
183
- assert_equal(gs, gs2)
184
-
185
- g = Magick::Geometry.new(40, 0, 0, 0, Magick::PercentGeometry)
186
- gs = g.to_s
187
- assert_equal('40%', gs)
188
-
189
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
190
- gs2 = g2.to_s
191
- assert_equal(gs, gs2)
192
-
193
- g = Magick::Geometry.new(40, 60, 0, 0, Magick::PercentGeometry)
194
- gs = g.to_s
195
- assert_equal('40%x60%', gs)
196
-
197
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
198
- gs2 = g2.to_s
199
- assert_equal(gs, gs2)
200
-
201
- g = Magick::Geometry.new(40, 60, 10, 0, Magick::PercentGeometry)
202
- gs = g.to_s
203
- assert_equal('40%x60%+10+0', gs)
204
-
205
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
206
- gs2 = g2.to_s
207
- assert_equal(gs, gs2)
208
-
209
- g = Magick::Geometry.new(40, 60, 10, 20, Magick::PercentGeometry)
210
- gs = g.to_s
211
- assert_equal('40%x60%+10+20', gs)
212
-
213
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
214
- gs2 = g2.to_s
215
- assert_equal(gs, gs2)
216
-
217
- g = Magick::Geometry.new(40.5, 60.75)
218
- gs = g.to_s
219
- assert_equal('40.50x60.75', gs)
220
-
221
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
222
- gs2 = g2.to_s
223
- assert_equal(gs, gs2)
224
-
225
- g = Magick::Geometry.new(40.5, 60.75, 0, 0, Magick::PercentGeometry)
226
- gs = g.to_s
227
- assert_equal('40.50%x60.75%', gs)
228
-
229
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
230
- gs2 = g2.to_s
231
- assert_equal(gs, gs2)
232
-
233
- g = Magick::Geometry.new(0, 0, 10, 20)
234
- gs = g.to_s
235
- assert_equal('+10+20', gs)
236
-
237
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
238
- gs2 = g2.to_s
239
- assert_equal(gs, gs2)
240
-
241
- g = Magick::Geometry.new(0, 0, 10)
242
- gs = g.to_s
243
- assert_equal('+10+0', gs)
244
-
245
- assert_nothing_raised { g2 = Magick::Geometry.from_s(gs) }
246
- gs2 = g2.to_s
247
- assert_equal(gs, gs2)
248
-
249
- # assert behavior with empty string argument
250
- assert_nothing_raised { g = Magick::Geometry.from_s('') }
251
- assert_equal('', g.to_s)
252
-
253
- assert_raise(ArgumentError) { Magick::Geometry.new(Magick::AreaGeometry) }
254
- assert_raise(ArgumentError) { Magick::Geometry.new(40, Magick::AreaGeometry) }
255
- assert_raise(ArgumentError) { Magick::Geometry.new(40, 20, Magick::AreaGeometry) }
256
- assert_raise(ArgumentError) { Magick::Geometry.new(40, 20, 10, Magick::AreaGeometry) }
257
- end
258
-
259
- def test_set_log_event_mask
260
- assert_nothing_raised { Magick.set_log_event_mask('Module,Coder') }
261
- end
262
-
263
- def test_set_log_format
264
- assert_nothing_raised { Magick.set_log_format('format %d%e%f') }
265
- end
266
-
267
- def test_limit_resources
268
- cur = new = nil
269
-
270
- assert_nothing_raised {cur = Magick.limit_resource(:memory, 500)}
271
- assert_kind_of(Integer, cur)
272
- assert(cur > 1024 ** 2)
273
- assert_nothing_raised {new = Magick.limit_resource('memory')}
274
- assert_equal(500, new)
275
- Magick.limit_resource(:memory, cur)
276
-
277
- assert_nothing_raised {cur = Magick.limit_resource(:map, 3500)}
278
- assert_kind_of(Integer, cur)
279
- assert(cur > 1024 ** 2)
280
- assert_nothing_raised {new = Magick.limit_resource('map')}
281
- assert_equal(3500, new)
282
- Magick.limit_resource(:map, cur)
283
-
284
- assert_nothing_raised {cur = Magick.limit_resource(:disk, 3*1024*1024*1024)}
285
- assert_kind_of(Integer, cur)
286
- assert(cur > 1024 ** 2)
287
- assert_nothing_raised {new = Magick.limit_resource('disk')}
288
- assert_equal(3221225472, new)
289
- Magick.limit_resource(:disk, cur)
290
-
291
- assert_nothing_raised {cur = Magick.limit_resource(:file, 500)}
292
- assert_kind_of(Integer, cur)
293
- assert(cur > 512)
294
- assert_nothing_raised {new = Magick.limit_resource('file')}
295
- assert_equal(500, new)
296
- Magick.limit_resource(:file, cur)
297
-
298
- assert_raise(ArgumentError) { Magick.limit_resource(:xxx) }
299
- assert_raise(ArgumentError) { Magick.limit_resource('xxx') }
300
- assert_raise(ArgumentError) { Magick.limit_resource('map', 3500, 2) }
301
- assert_raise(ArgumentError) { Magick.limit_resource }
302
- end
303
-
304
- def test_trace_proc
305
- Magick.trace_proc = proc do |which, description, id, method|
306
- assert(which == :c)
307
- assert_instance_of(String, description)
308
- assert_instance_of(String, id)
309
- assert_equal(:initialize, method)
310
- end
311
- begin
312
- img = Magick::Image.new(20,20)
313
- ensure
314
- Magick.trace_proc = nil
315
- end
316
- end
317
- end
318
-
319
- if __FILE__ == $PROGRAM_NAME
320
- Test::Unit::UI::Console::TestRunner.run(Magick_UT) unless RUBY_VERSION[/^1\.9|^2/]
321
- end
data/test/Pixel.rb DELETED
@@ -1,116 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
-
3
- require 'rmagick'
4
- require 'test/unit'
5
- require 'test/unit/ui/console/testrunner' unless RUBY_VERSION[/^1\.9|^2/]
6
-
7
- class Pixel_UT < Test::Unit::TestCase
8
- def setup
9
- @pixel = Magick::Pixel.from_color('brown')
10
- end
11
-
12
- def test_hash
13
- hash = nil
14
- assert_nothing_raised { hash = @pixel.hash}
15
- assert_not_nil(hash)
16
- assert_equal(1385501952, hash)
17
-
18
- p = Magick::Pixel.new
19
- assert_equal(0, p.hash)
20
-
21
- p = Magick::Pixel.from_color('red')
22
- assert_equal(2139095040, p.hash)
23
-
24
- # Pixel.hash sacrifices the last bit of the opacity channel
25
- p = Magick::Pixel.new(0, 0, 0, 72)
26
- p2 = Magick::Pixel.new(0, 0, 0, 73)
27
- assert_not_equal(p, p2)
28
- assert_equal(p.hash, p2.hash)
29
- end
30
-
31
- def test_eql?
32
- p = @pixel
33
- assert(@pixel.eql?(p))
34
- p = Magick::Pixel.new
35
- assert(!@pixel.eql?(p))
36
- end
37
-
38
- def test_fcmp
39
- red = Magick::Pixel.from_color('red')
40
- blue = Magick::Pixel.from_color('blue')
41
- assert_nothing_raised { red.fcmp(red) }
42
- assert(red.fcmp(red))
43
- assert(!red.fcmp(blue))
44
-
45
- assert_nothing_raised { red.fcmp(blue, 10) }
46
- assert_nothing_raised { red.fcmp(blue, 10, Magick::RGBColorspace) }
47
- assert_raises(TypeError) { red.fcmp(blue, 'x') }
48
- assert_raises(TypeError) { red.fcmp(blue, 10, 'x') }
49
- end
50
-
51
- def test_from_hsla
52
- assert_nothing_raised { Magick::Pixel.from_hsla(127, 50, 50) }
53
- assert_nothing_raised { Magick::Pixel.from_hsla(127, 50, 50, 0) }
54
- assert_nothing_raised { Magick::Pixel.from_hsla(127, '50%', 50, 0) }
55
- assert_nothing_raised { Magick::Pixel.from_hsla('10%', '50%', 50, 0) }
56
- assert_raise(TypeError) { Magick::Pixel.from_hsla([], 50, 50, 0) }
57
- assert_raise(TypeError) { Magick::Pixel.from_hsla(127, [], 50, 0) }
58
- assert_raise(TypeError) { Magick::Pixel.from_hsla(127, 50, [], 0) }
59
- assert_raise(TypeError) { Magick::Pixel.from_hsla(127, 50, 50, []) }
60
- assert_nothing_raised { @pixel.to_hsla }
61
-
62
- 18.times do |h|
63
- 25.times do |s|
64
- 25.times do |l|
65
- 5.times do |a|
66
- args = [20*h, s+25, l+25, a/5.0]
67
- px = Magick::Pixel.from_hsla(*args)
68
- hsla = px.to_hsla
69
- #puts "[#{args.join(', ')}] = [#{hsla.join(', ')}]"
70
- # Handle cases where the result is very near 360
71
- #hsla[0] = ((hsla[0] + 0.005) % 360.0) - 0.005
72
- #hsla[1] = ((hsla[1] + 0.005) % 360.0) - 0.005
73
- #hsla[2] = ((hsla[2] + 0.005) % 360.0) - 0.005
74
- assert_in_delta(args[0], hsla[0], 0.25, "expected #{args.inspect} got #{hsla.inspect}")
75
- assert_in_delta(args[1], hsla[1], 0.25, "expected #{args.inspect} got #{hsla.inspect}")
76
- assert_in_delta(args[2], hsla[2], 0.25, "expected #{args.inspect} got #{hsla.inspect}")
77
- assert_in_delta(args[3], hsla[3], 0.005, "expected #{args.inspect} got #{hsla.inspect}")
78
- end
79
- end
80
- end
81
- end
82
-
83
- # test percentages
84
- args = ['20%','20%','20%','20%']
85
- args2 = [360.0/5,255.0/5,255.0/5,1.0/5]
86
- px = Magick::Pixel.from_hsla(*args)
87
- hsla = px.to_hsla
88
- px2 = Magick::Pixel.from_hsla(*args2)
89
- hsla2 = px2.to_hsla
90
-
91
- assert_in_delta(hsla[0], hsla2[0], 0.25, "#{hsla.inspect} != #{hsla2.inspect} with args: #{args.inspect} and #{args2.inspect}")
92
- assert_in_delta(hsla[1], hsla2[1], 0.25, "#{hsla.inspect} != #{hsla2.inspect} with args: #{args.inspect} and #{args2.inspect}")
93
- assert_in_delta(hsla[2], hsla2[2], 0.25, "#{hsla.inspect} != #{hsla2.inspect} with args: #{args.inspect} and #{args2.inspect}")
94
- assert_in_delta(hsla[3], hsla2[3], 0.005, "#{hsla.inspect} != #{hsla2.inspect} with args: #{args.inspect} and #{args2.inspect}")
95
- end
96
-
97
- def test_to_color
98
- assert_nothing_raised { @pixel.to_color(Magick::AllCompliance) }
99
- assert_nothing_raised { @pixel.to_color(Magick::SVGCompliance) }
100
- assert_nothing_raised { @pixel.to_color(Magick::X11Compliance) }
101
- assert_nothing_raised { @pixel.to_color(Magick::XPMCompliance) }
102
- assert_nothing_raised { @pixel.to_color(Magick::AllCompliance, true) }
103
- assert_nothing_raised { @pixel.to_color(Magick::AllCompliance, false) }
104
- assert_nothing_raised { @pixel.to_color(Magick::AllCompliance, false, 8) }
105
- assert_nothing_raised { @pixel.to_color(Magick::AllCompliance, false, 16) }
106
- # test "hex" format
107
- assert_nothing_raised { @pixel.to_color(Magick::AllCompliance, false, 8, true) }
108
- assert_nothing_raised { @pixel.to_color(Magick::AllCompliance, false, 16, true) }
109
-
110
- assert_equal('#A52A2A', @pixel.to_color(Magick::AllCompliance, false, 8, true))
111
- assert_equal('#A5A52A2A2A2A', @pixel.to_color(Magick::AllCompliance, false, 16, true))
112
-
113
- assert_raise(ArgumentError) { @pixel.to_color(Magick::AllCompliance, false, 32) }
114
- assert_raise(TypeError) { @pixel.to_color(1) }
115
- end
116
- end
data/test/Preview.rb DELETED
@@ -1,57 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
-
3
- require 'rmagick'
4
- require 'test/unit'
5
- require 'test/unit/ui/console/testrunner' unless RUBY_VERSION[/^1\.9|^2/]
6
-
7
- class Preview_UT < Test::Unit::TestCase
8
- def test_preview
9
- preview_types = [
10
- Magick::RotatePreview,
11
- Magick::ShearPreview,
12
- Magick::RollPreview,
13
- Magick::HuePreview,
14
- Magick::SaturationPreview,
15
- Magick::BrightnessPreview,
16
- Magick::GammaPreview,
17
- Magick::SpiffPreview,
18
- Magick::DullPreview,
19
- Magick::GrayscalePreview,
20
- Magick::QuantizePreview,
21
- Magick::DespecklePreview,
22
- Magick::ReduceNoisePreview,
23
- Magick::AddNoisePreview,
24
- Magick::SharpenPreview,
25
- Magick::BlurPreview,
26
- Magick::ThresholdPreview,
27
- Magick::EdgeDetectPreview,
28
- Magick::SpreadPreview,
29
- Magick::SolarizePreview,
30
- Magick::ShadePreview,
31
- Magick::RaisePreview,
32
- Magick::SegmentPreview,
33
- Magick::SwirlPreview,
34
- Magick::ImplodePreview,
35
- Magick::WavePreview,
36
- Magick::OilPaintPreview,
37
- Magick::CharcoalDrawingPreview,
38
- Magick::JPEGPreview ]
39
-
40
- hat = Magick::Image.read(IMAGES_DIR+'/Flower_Hat.jpg').first
41
- assert_nothing_raised do
42
- prev = hat.preview(Magick::RotatePreview)
43
- assert_instance_of(Magick::Image, prev)
44
- end
45
- puts "\n"
46
- preview_types.each do |type|
47
- puts "testing #{type}..."
48
- assert_nothing_raised { hat.preview(type) }
49
- end
50
- assert_raise(TypeError) { hat.preview(2) }
51
- end
52
- end
53
-
54
- if __FILE__ == $PROGRAM_NAME
55
- IMAGES_DIR = '../doc/ex/images'
56
- Test::Unit::UI::Console::TestRunner.run(Preview_UT) unless RUBY_VERSION[/^1\.9|^2/]
57
- end
data/test/cmyk.icm DELETED
Binary file
data/test/srgb.icm DELETED
Binary file
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env ruby -w
2
- puts RUBY_VERSION
3
- puts RUBY_VERSION.class
4
- root_dir = File.expand_path('../..', __FILE__)
5
- IMAGES_DIR = File.join(root_dir, 'doc/ex/images')
6
- FILES = Dir[IMAGES_DIR+'/Button_*.gif'].sort
7
- FLOWER_HAT = IMAGES_DIR+'/Flower_Hat.jpg'
8
- IMAGE_WITH_PROFILE = IMAGES_DIR+'/image_with_profile.jpg'
9
-
10
- require 'test/unit'
11
- if RUBY_VERSION < '1.9'
12
- require 'test/unit/ui/console/testrunner'
13
- $LOAD_PATH.push(root_dir)
14
- else
15
- require 'simplecov'
16
- $LOAD_PATH.unshift(File.join(root_dir, 'lib'))
17
- $LOAD_PATH.unshift(File.join(root_dir, 'test'))
18
- end
19
-
20
- require 'rmagick'
21
-
22
- Magick::Magick_version =~ /ImageMagick (\d+\.\d+\.\d+)-(\d+) /
23
- abort 'Unable to get ImageMagick version' unless $1 && $2
24
-
25
- IM_VERSION = Gem::Version.new($1)
26
- IM_REVISION = Gem::Version.new($2)
27
-
28
- require 'Image1.rb'
29
- require 'Image2.rb'
30
- require 'Image3.rb'
31
- require 'ImageList1.rb'
32
- require 'ImageList2.rb'
33
- require 'Image_attributes.rb'
34
- require 'Import_Export.rb'
35
- require 'Pixel.rb'
36
- require 'Preview.rb'
37
- require 'Info.rb'
38
- require 'Magick.rb'
data/test/tmpnam_test.rb DELETED
@@ -1,50 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'rmagick'
3
-
4
- class TmpnamTest < Minitest::Test
5
- # test the @@_tmpnam_ class variable
6
- # the count is incremented by Image::Info#texture=,
7
- # ImageList::Montage#texture=, and Draw.composite
8
- def test_tmpnam
9
- tmpfiles = Dir[ENV['HOME'] + '/tmp/magick*'].length
10
-
11
- texture = Magick::Image.read('granite:') { self.size = '20x20' }.first
12
- info = Magick::Image::Info.new
13
-
14
- # does not exist at first
15
- assert_raise(NameError) { x = Magick._tmpnam_ }
16
-
17
- info.texture = texture
18
-
19
- # now it exists
20
- assert_nothing_raised { x = Magick._tmpnam_ }
21
- assert_equal(1, Magick._tmpnam_)
22
-
23
- info.texture = texture
24
- assert_equal(2, Magick._tmpnam_)
25
-
26
- mon = Magick::ImageList::Montage.new
27
- mon.texture = texture
28
- assert_equal(3, Magick._tmpnam_)
29
-
30
- mon.texture = texture
31
- assert_equal(4, Magick._tmpnam_)
32
-
33
- gc = Magick::Draw.new
34
- gc.composite(0, 0, 20, 20, texture)
35
- assert_equal(5, Magick._tmpnam_)
36
-
37
- gc.composite(0, 0, 20, 20, texture)
38
- assert_equal(6, Magick._tmpnam_)
39
-
40
- tmpfiles2 = Dir[ENV['HOME'] + '/tmp/magick*'].length
41
-
42
- # The 2nd montage texture deletes the first.
43
- # The 2nd info texture deletes the first.
44
- # Both composite images are still alive.
45
- # Therefore only 4 tmp files are left.
46
- #assert_equal(tmpfiles+4, tmpfiles2)
47
- # 6.4.1-5 - only 1 tmpfile?
48
- assert_equal(tmpfiles, tmpfiles2)
49
- end
50
- end
data/wercker.yml DELETED
@@ -1,10 +0,0 @@
1
- box: centos:6
2
- build:
3
- steps:
4
- - script:
5
- name: deps
6
- code: sudo yum install -y ruby ruby-devel rubygems ImageMagick-devel gcc git
7
- - bundle-install
8
- - script:
9
- name: tests
10
- code: bundle exec rake