skeptick 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +14 -0
- data/README.md +63 -289
- data/lib/skeptick/command.rb +8 -19
- data/lib/skeptick/convert.rb +65 -82
- data/lib/skeptick/core.rb +1 -7
- data/lib/skeptick/dsl_context.rb +32 -0
- data/lib/skeptick/sugar.rb +13 -7
- data/lib/skeptick/sugar/canvas.rb +8 -0
- data/lib/skeptick/sugar/clone.rb +9 -0
- data/lib/skeptick/sugar/compose.rb +50 -0
- data/lib/skeptick/sugar/delete.rb +9 -0
- data/lib/skeptick/sugar/draw.rb +7 -0
- data/lib/skeptick/sugar/font.rb +7 -0
- data/lib/skeptick/sugar/format.rb +7 -0
- data/lib/skeptick/sugar/geometry.rb +25 -31
- data/lib/skeptick/sugar/resized_image.rb +15 -0
- data/lib/skeptick/sugar/rounded_corners_image.rb +42 -0
- data/lib/skeptick/sugar/swap.rb +12 -0
- data/lib/skeptick/sugar/text.rb +11 -0
- data/lib/skeptick/sugar/torn_paper_image.rb +32 -0
- data/lib/skeptick/sugar/write.rb +8 -0
- data/lib/skeptick/version.rb +1 -1
- data/logo.rb +12 -11
- data/refresh_preview.scpt +1 -1
- data/skeptick.gemspec +1 -0
- data/test/convert_test.rb +128 -33
- data/test/sugar/canvas_test.rb +16 -0
- data/test/sugar/clone_test.rb +41 -0
- data/test/sugar/{composition_test.rb → compose_test.rb} +35 -87
- data/test/sugar/delete_test.rb +41 -0
- data/test/sugar/draw_test.rb +11 -0
- data/test/sugar/font_test.rb +11 -0
- data/test/sugar/format_test.rb +12 -0
- data/test/sugar/{resizing_test.rb → resized_image_test.rb} +5 -5
- data/test/sugar/rounded_corners_image_test.rb +53 -0
- data/test/sugar/swap_test.rb +28 -0
- data/test/sugar/text_test.rb +22 -0
- data/test/sugar/torn_paper_image_test.rb +53 -0
- data/test/sugar/write_test.rb +14 -0
- metadata +57 -34
- data/lib/skeptick/chain.rb +0 -55
- data/lib/skeptick/chain/dsl_context.rb +0 -21
- data/lib/skeptick/convert/dsl_context.rb +0 -27
- data/lib/skeptick/helper.rb +0 -26
- data/lib/skeptick/image.rb +0 -69
- data/lib/skeptick/image/dsl_context.rb +0 -29
- data/lib/skeptick/sugar/composition.rb +0 -55
- data/lib/skeptick/sugar/debugging.rb +0 -12
- data/lib/skeptick/sugar/drawing.rb +0 -32
- data/lib/skeptick/sugar/edges.rb +0 -70
- data/lib/skeptick/sugar/formatting.rb +0 -12
- data/lib/skeptick/sugar/resizing.rb +0 -16
- data/lib/skeptick/sugar/sequence_manipulation.rb +0 -43
- data/test/chain_test.rb +0 -94
- data/test/image_test.rb +0 -145
- data/test/sugar/debugging_test.rb +0 -24
- data/test/sugar/drawing_test.rb +0 -86
- data/test/sugar/edges_test.rb +0 -99
- data/test/sugar/formatting_test.rb +0 -19
- 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
|
data/test/sugar/drawing_test.rb
DELETED
@@ -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
|
data/test/sugar/edges_test.rb
DELETED
@@ -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
|