skeptick 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +14 -0
  3. data/README.md +63 -289
  4. data/lib/skeptick/command.rb +8 -19
  5. data/lib/skeptick/convert.rb +65 -82
  6. data/lib/skeptick/core.rb +1 -7
  7. data/lib/skeptick/dsl_context.rb +32 -0
  8. data/lib/skeptick/sugar.rb +13 -7
  9. data/lib/skeptick/sugar/canvas.rb +8 -0
  10. data/lib/skeptick/sugar/clone.rb +9 -0
  11. data/lib/skeptick/sugar/compose.rb +50 -0
  12. data/lib/skeptick/sugar/delete.rb +9 -0
  13. data/lib/skeptick/sugar/draw.rb +7 -0
  14. data/lib/skeptick/sugar/font.rb +7 -0
  15. data/lib/skeptick/sugar/format.rb +7 -0
  16. data/lib/skeptick/sugar/geometry.rb +25 -31
  17. data/lib/skeptick/sugar/resized_image.rb +15 -0
  18. data/lib/skeptick/sugar/rounded_corners_image.rb +42 -0
  19. data/lib/skeptick/sugar/swap.rb +12 -0
  20. data/lib/skeptick/sugar/text.rb +11 -0
  21. data/lib/skeptick/sugar/torn_paper_image.rb +32 -0
  22. data/lib/skeptick/sugar/write.rb +8 -0
  23. data/lib/skeptick/version.rb +1 -1
  24. data/logo.rb +12 -11
  25. data/refresh_preview.scpt +1 -1
  26. data/skeptick.gemspec +1 -0
  27. data/test/convert_test.rb +128 -33
  28. data/test/sugar/canvas_test.rb +16 -0
  29. data/test/sugar/clone_test.rb +41 -0
  30. data/test/sugar/{composition_test.rb → compose_test.rb} +35 -87
  31. data/test/sugar/delete_test.rb +41 -0
  32. data/test/sugar/draw_test.rb +11 -0
  33. data/test/sugar/font_test.rb +11 -0
  34. data/test/sugar/format_test.rb +12 -0
  35. data/test/sugar/{resizing_test.rb → resized_image_test.rb} +5 -5
  36. data/test/sugar/rounded_corners_image_test.rb +53 -0
  37. data/test/sugar/swap_test.rb +28 -0
  38. data/test/sugar/text_test.rb +22 -0
  39. data/test/sugar/torn_paper_image_test.rb +53 -0
  40. data/test/sugar/write_test.rb +14 -0
  41. metadata +57 -34
  42. data/lib/skeptick/chain.rb +0 -55
  43. data/lib/skeptick/chain/dsl_context.rb +0 -21
  44. data/lib/skeptick/convert/dsl_context.rb +0 -27
  45. data/lib/skeptick/helper.rb +0 -26
  46. data/lib/skeptick/image.rb +0 -69
  47. data/lib/skeptick/image/dsl_context.rb +0 -29
  48. data/lib/skeptick/sugar/composition.rb +0 -55
  49. data/lib/skeptick/sugar/debugging.rb +0 -12
  50. data/lib/skeptick/sugar/drawing.rb +0 -32
  51. data/lib/skeptick/sugar/edges.rb +0 -70
  52. data/lib/skeptick/sugar/formatting.rb +0 -12
  53. data/lib/skeptick/sugar/resizing.rb +0 -16
  54. data/lib/skeptick/sugar/sequence_manipulation.rb +0 -43
  55. data/test/chain_test.rb +0 -94
  56. data/test/image_test.rb +0 -145
  57. data/test/sugar/debugging_test.rb +0 -24
  58. data/test/sugar/drawing_test.rb +0 -86
  59. data/test/sugar/edges_test.rb +0 -99
  60. data/test/sugar/formatting_test.rb +0 -19
  61. data/test/sugar/sequence_manipulation_test.rb +0 -98
@@ -1,24 +0,0 @@
1
- require_relative '../test_helper'
2
- require 'skeptick/sugar/debugging'
3
-
4
- class DebuggingTest < Skeptick::TestCase
5
- include Skeptick
6
-
7
- def test_save_in_image
8
- img = image do
9
- image 'foo'
10
- save 'path'
11
- end
12
-
13
- cmd = convert(img)
14
- assert_equal 'convert foo -write path miff:-', cmd.to_s
15
- end
16
-
17
- def test_save_in_convert
18
- cmd = convert('foo') do
19
- save 'path'
20
- end
21
-
22
- assert_equal 'convert foo -write path miff:-', cmd.to_s
23
- end
24
- end
@@ -1,86 +0,0 @@
1
- require_relative '../test_helper'
2
- require 'skeptick/sugar/drawing'
3
-
4
- class DrawingTest < Skeptick::TestCase
5
- include Skeptick
6
-
7
- def test_canvas_in_image_with_size
8
- img = image { canvas :none, size: '100x200' }
9
- cmd = convert(img)
10
-
11
- assert_equal 'convert -size 100x200 canvas:none miff:-', cmd.to_s
12
- end
13
-
14
- def test_canvas_in_image_without_size
15
- img = image { canvas :none }
16
- cmd = convert(img)
17
- assert_equal 'convert canvas:none miff:-', cmd.to_s
18
- end
19
-
20
- def test_canvas_in_convert_with_size
21
- cmd = convert { canvas :none, size: '100x200' }
22
- assert_equal 'convert -size 100x200 canvas:none miff:-', cmd.to_s
23
- end
24
-
25
- def test_canvas_in_convert_without_size
26
- cmd = convert { canvas :none }
27
- assert_equal 'convert canvas:none miff:-', cmd.to_s
28
- end
29
-
30
- def test_draw_in_image
31
- img = image { draw 'fill none bezier 1,2 3,4' }
32
- cmd = convert(img)
33
- assert_equal 'convert -draw fill\ none\ bezier\ 1,2\ 3,4 miff:-', cmd.to_s
34
- end
35
-
36
- def test_draw_in_convert
37
- cmd = convert { draw 'fill none bezier 1,2 3,4' }
38
- assert_equal 'convert -draw fill\ none\ bezier\ 1,2\ 3,4 miff:-', cmd.to_s
39
- end
40
-
41
- def test_write_in_image_without_left_top
42
- img = image { write 'Foo bar baz.' }
43
- cmd = convert(img)
44
- assert_equal 'convert -draw text\ \\\'Foo\ bar\ baz.\\\' miff:-', cmd.to_s
45
- end
46
-
47
- def test_write_in_image_with_left_top
48
- img = image { write 'Foo bar baz.', left: 7, top: 9 }
49
- cmd = convert(img)
50
- assert_equal 'convert -draw text\ 7,9\ \\\'Foo\ bar\ baz.\\\' miff:-',
51
- cmd.to_s
52
- end
53
-
54
- def test_write_in_image_with_left_only
55
- img = image { write 'Foo bar baz.', left: 7 }
56
- cmd = convert(img)
57
- assert_equal 'convert -draw text\ \\\'Foo\ bar\ baz.\\\' miff:-', cmd.to_s
58
- end
59
-
60
- def test_write_in_convert_without_left_top
61
- cmd = convert { write 'Foo bar baz.' }
62
- assert_equal 'convert -draw text\ \\\'Foo\ bar\ baz.\\\' miff:-', cmd.to_s
63
- end
64
-
65
- def test_write_in_convert_with_left_top
66
- cmd = convert { write 'Foo bar baz.', left: 7, top: 9 }
67
- assert_equal 'convert -draw text\ 7,9\ \\\'Foo\ bar\ baz.\\\' miff:-',
68
- cmd.to_s
69
- end
70
-
71
- def test_write_in_convert_with_top_only
72
- cmd = convert { write 'Foo bar baz.', top: 9 }
73
- assert_equal 'convert -draw text\ \\\'Foo\ bar\ baz.\\\' miff:-', cmd.to_s
74
- end
75
-
76
- def test_font_in_image
77
- img = image { font 'handwriting - dakota Regular' }
78
- cmd = convert(img)
79
- assert_equal 'convert -font Handwriting---Dakota-Regular miff:-', cmd.to_s
80
- end
81
-
82
- def test_font_in_convert
83
- cmd = convert { font 'handwriting - dakota Regular' }
84
- assert_equal 'convert -font Handwriting---Dakota-Regular miff:-', cmd.to_s
85
- end
86
- end
@@ -1,99 +0,0 @@
1
- require_relative '../test_helper'
2
- require 'skeptick/sugar/edges'
3
-
4
- class EdgesTest < Skeptick::TestCase
5
- include Skeptick
6
-
7
- def test_rounded_corners_image_without_block_and_radius
8
- img = rounded_corners_image('foo', size: '200x300')
9
-
10
- assert_equal 'convert foo ( +clone -alpha transparent -background none ' +
11
- '-draw roundrectangle\ 1,1\ 200,300\ 15,15 ) -alpha set -compose dstin ' +
12
- '-composite miff:-', img.to_s
13
- end
14
-
15
- def test_rounded_corners_image_with_block_and_radius
16
- img = rounded_corners_image(size: '200x300', radius: 20) do
17
- image 'tile:granite:'
18
- apply '-brightness-contrast', '38x-33'
19
- end
20
-
21
- assert_equal 'convert tile:granite: -brightness-contrast 38x-33 ( +clone ' +
22
- '-alpha transparent -background none -draw roundrectangle\ 1,1\ ' +
23
- '200,300\ 20,20 ) -alpha set -compose dstin -composite miff:-', img.to_s
24
- end
25
-
26
- def test_nested_rounded_corners_image
27
- cmd = convert(to: 'bar') do
28
- rounded_corners_image('foo', size: '200x300', radius: 5)
29
- end
30
-
31
- assert_equal 'convert ( foo ( +clone -alpha transparent -background none ' +
32
- '-draw roundrectangle\\ 1,1\\ 200,300\\ 5,5 ) -alpha set -compose ' +
33
- 'dstin -composite ) bar', cmd.to_s
34
- end
35
-
36
- def test_nested_rounded_corners_image_via_lvar_arg
37
- img = rounded_corners_image('foo', size: '200x300', radius: 5)
38
- cmd = convert(img, to: 'bar')
39
-
40
- assert_equal 'convert ( foo ( +clone -alpha transparent -background none ' +
41
- '-draw roundrectangle\\ 1,1\\ 200,300\\ 5,5 ) -alpha set -compose ' +
42
- 'dstin -composite ) bar', cmd.to_s
43
- end
44
-
45
- def test_nested_rounded_corners_image_via_lvar_in_block
46
- img = rounded_corners_image('foo', size: '200x300', radius: 5)
47
- cmd = convert(to: 'bar') { image(img) }
48
-
49
- assert_equal 'convert ( foo ( +clone -alpha transparent -background none ' +
50
- '-draw roundrectangle\\ 1,1\\ 200,300\\ 5,5 ) -alpha set -compose ' +
51
- 'dstin -composite ) bar', cmd.to_s
52
- end
53
-
54
- def test_torn_paper_image_without_block_spread_blur_threshold
55
- img = torn_paper_image('foo')
56
- assert_equal 'convert foo ( +clone -alpha extract -virtual-pixel black ' +
57
- '-spread 1 -blur 0x.7 -threshold 50% ) -alpha off ' +
58
- '-compose copy_opacity -composite miff:-', img.to_s
59
- end
60
-
61
- def test_torn_paper_image_with_block_spread_blur_threshold
62
- img = torn_paper_image('foo', spread: 17, blur: '1x4', threshold: 70) do
63
- image 'tile:granite:'
64
- apply '-brightness-contrast', '38x-33'
65
- end
66
-
67
- assert_equal 'convert tile:granite: -brightness-contrast 38x-33 ( +clone ' +
68
- '-alpha extract -virtual-pixel black -spread 17 -blur 1x4 -threshold ' +
69
- '70% ) -alpha off -compose copy_opacity -composite miff:-', img.to_s
70
- end
71
-
72
- def test_nested_torn_paper_image
73
- cmd = convert(to: 'bar') do
74
- torn_paper_image('foo')
75
- end
76
-
77
- assert_equal 'convert ( foo ( +clone -alpha extract -virtual-pixel black ' +
78
- '-spread 1 -blur 0x.7 -threshold 50% ) -alpha off -compose ' +
79
- 'copy_opacity -composite ) bar', cmd.to_s
80
- end
81
-
82
- def test_nested_torn_paper_image_via_lvar_arg
83
- img = torn_paper_image('foo')
84
- cmd = convert(img, to: 'bar')
85
-
86
- assert_equal 'convert ( foo ( +clone -alpha extract -virtual-pixel black ' +
87
- '-spread 1 -blur 0x.7 -threshold 50% ) -alpha off -compose ' +
88
- 'copy_opacity -composite ) bar', cmd.to_s
89
- end
90
-
91
- def test_nested_torn_paper_image_via_lvar_in_block
92
- img = torn_paper_image('foo')
93
- cmd = convert(to: 'bar') { image(img) }
94
-
95
- assert_equal 'convert ( foo ( +clone -alpha extract -virtual-pixel black ' +
96
- '-spread 1 -blur 0x.7 -threshold 50% ) -alpha off -compose ' +
97
- 'copy_opacity -composite ) bar', cmd.to_s
98
- end
99
- end
@@ -1,19 +0,0 @@
1
- require_relative '../test_helper'
2
- require 'skeptick/sugar/formatting'
3
-
4
- class FormattingTest < Skeptick::TestCase
5
- include Skeptick
6
-
7
- def test_format_in_image
8
- img = image { format "roundrectangle 1,1 %[fx:w], %[fx:h] 5,5" }
9
- cmd = convert(img)
10
- assert_equal 'convert -format roundrectangle\ 1,1\ \%\[fx:w\],\ ' +
11
- '\%\[fx:h\]\ 5,5 miff:-', cmd.to_s
12
- end
13
-
14
- def test_format_in_convert
15
- cmd = convert { format "roundrectangle 1,1 %[fx:w], %[fx:h] 5,5" }
16
- assert_equal 'convert -format roundrectangle\ 1,1\ \%\[fx:w\],\ ' +
17
- '\%\[fx:h\]\ 5,5 miff:-', cmd.to_s
18
- end
19
- end
@@ -1,98 +0,0 @@
1
- require_relative '../test_helper'
2
- require 'skeptick/sugar/sequence_manipulation'
3
-
4
- class SequenceManipulationTest < Skeptick::TestCase
5
- include Skeptick
6
-
7
- def test_clone_without_args
8
- cmd = convert { clone }
9
- assert_equal 'convert +clone miff:-', cmd.to_s
10
- end
11
-
12
- def test_clone_with_one_arg
13
- cmd = convert { clone(1) }
14
- assert_equal 'convert -clone 1 miff:-', cmd.to_s
15
- end
16
-
17
- def test_clone_with_two_args
18
- cmd = convert { clone(1,3) }
19
- assert_equal 'convert -clone 1,3 miff:-', cmd.to_s
20
- end
21
-
22
- def test_clone_with_array
23
- cmd = convert { clone([1,3]) }
24
- assert_equal 'convert -clone 1,3 miff:-', cmd.to_s
25
- end
26
-
27
- def test_clone_with_inclusive_range
28
- cmd = convert { clone(1..3) }
29
- assert_equal 'convert -clone 1-3 miff:-', cmd.to_s
30
- end
31
-
32
- def test_clone_with_exclusive_range
33
- cmd = convert { clone(1...3) }
34
- assert_equal 'convert -clone 1-2 miff:-', cmd.to_s
35
- end
36
-
37
- def test_clone_in_nested_convert
38
- cmd = convert { convert { clone } }
39
- assert_equal 'convert ( +clone ) miff:-', cmd.to_s
40
- end
41
-
42
- def test_delete_without_args
43
- cmd = convert { delete }
44
- assert_equal 'convert +delete miff:-', cmd.to_s
45
- end
46
-
47
- def test_delete_with_one_arg
48
- cmd = convert { delete(1) }
49
- assert_equal 'convert -delete 1 miff:-', cmd.to_s
50
- end
51
-
52
- def test_delete_with_two_args
53
- cmd = convert { delete(1,3) }
54
- assert_equal 'convert -delete 1,3 miff:-', cmd.to_s
55
- end
56
-
57
- def test_delete_with_array
58
- cmd = convert { delete([1,3]) }
59
- assert_equal 'convert -delete 1,3 miff:-', cmd.to_s
60
- end
61
-
62
- def test_delete_with_inclusive_range
63
- cmd = convert { delete(1..3) }
64
- assert_equal 'convert -delete 1-3 miff:-', cmd.to_s
65
- end
66
-
67
- def test_delete_with_exclusive_range
68
- cmd = convert { delete(1...3) }
69
- assert_equal 'convert -delete 1-2 miff:-', cmd.to_s
70
- end
71
-
72
- def test_delete_in_nested_convert
73
- cmd = convert { convert { delete } }
74
- assert_equal 'convert ( +delete ) miff:-', cmd.to_s
75
- end
76
-
77
- def test_swap_without_args
78
- cmd = convert { swap }
79
- assert_equal 'convert +swap miff:-', cmd.to_s
80
- end
81
-
82
- def test_swap_with_one_arg_raises_error
83
- assert_raises(ArgumentError) do
84
- convert{ swap(1) }.to_s
85
- end
86
- end
87
-
88
- def test_swap_with_two_args
89
- cmd = convert { swap(1,2) }
90
- assert_equal 'convert -swap 1,2 miff:-', cmd.to_s
91
- end
92
-
93
- def test_swap_with_three_args_raises_error
94
- assert_raises(ArgumentError) do
95
- convert{ swap(1,2,3) }.to_s
96
- end
97
- end
98
- end