zena 0.16.3 → 0.16.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. data/.gitignore +1 -0
  2. data/History.txt +11 -0
  3. data/app/controllers/nodes_controller.rb +1 -1
  4. data/app/controllers/versions_controller.rb +1 -1
  5. data/app/controllers/virtual_classes_controller.rb +29 -2
  6. data/app/models/cached_page.rb +3 -3
  7. data/app/models/document.rb +1 -20
  8. data/app/models/iformat.rb +4 -4
  9. data/app/models/image.rb +1 -1
  10. data/app/models/image_content.rb +5 -5
  11. data/app/models/node.rb +25 -0
  12. data/app/models/text_document_version.rb +11 -3
  13. data/app/models/virtual_class.rb +50 -0
  14. data/app/views/{nodes → sites}/404.html +0 -0
  15. data/app/views/templates/edit_tabs/_image.rhtml +1 -1
  16. data/app/views/versions/_list.rhtml +3 -1
  17. data/app/views/virtual_classes/_li.erb +2 -2
  18. data/app/views/virtual_classes/index.erb +9 -1
  19. data/bricks/tags/patch/node.rb +1 -1
  20. data/config/bricks.yml +1 -1
  21. data/config/gems.yml +4 -2
  22. data/db/migrate/047_change_default_link_id_to_zero.rb +1 -1
  23. data/db/migrate/20090825201159_insert_zero_link.rb +1 -1
  24. data/lib/bricks.rb +2 -2
  25. data/lib/bricks/requirements_validation.rb +13 -8
  26. data/lib/gettext_strings.rb +1 -0
  27. data/lib/tasks/zena.rake +15 -6
  28. data/lib/zena.rb +9 -3
  29. data/lib/{base_additions.rb → zena/base_additions.rb} +0 -0
  30. data/lib/{core_ext → zena/core_ext}/date_time.rb +0 -0
  31. data/lib/{core_ext → zena/core_ext}/dir.rb +0 -0
  32. data/lib/zena/core_ext/file_utils.rb +13 -0
  33. data/lib/{core_ext → zena/core_ext}/fixnum.rb +0 -0
  34. data/lib/{core_ext → zena/core_ext}/string.rb +0 -0
  35. data/lib/zena/deploy.rb +1 -1
  36. data/lib/zena/deploy/start.html +1 -1
  37. data/lib/zena/deploy/template.rb +5 -1
  38. data/lib/{fix_rails_layouts.rb → zena/fix_rails_layouts.rb} +0 -0
  39. data/lib/zena/info.rb +2 -2
  40. data/lib/zena/routes.rb +1 -1
  41. data/lib/zena/use/fixtures.rb +1 -1
  42. data/lib/zena/use/html_tags.rb +3 -3
  43. data/lib/zena/use/image_builder.rb +329 -0
  44. data/lib/zena/use/query_comment.rb +96 -0
  45. data/lib/zena/use/query_node.rb +408 -0
  46. data/lib/zena/use/query_node_finders.rb +91 -0
  47. data/lib/zena/use/rendering.rb +2 -2
  48. data/lib/{webdav_adapter.rb → zena/webdav_adapter.rb} +0 -0
  49. data/locale/de/LC_MESSAGES/zena.mo +0 -0
  50. data/locale/de/zena.po +1456 -0
  51. data/locale/en/LC_MESSAGES/zena.mo +0 -0
  52. data/locale/en/zena.po +626 -1197
  53. data/locale/fr/LC_MESSAGES/zena.mo +0 -0
  54. data/locale/fr/zena.po +895 -1221
  55. data/locale/zena.pot +527 -1027
  56. data/public/calendar/lang/calendar-de-utf8.js +128 -0
  57. data/public/calendar/menuarrow.gif +0 -0
  58. data/public/stylesheets/admin.css +2 -1
  59. data/test/custom_queries/complex.host.yml +1 -1
  60. data/test/fixtures/files/vclasses.yml +12 -0
  61. data/test/functional/virtual_classes_controller_test.rb +9 -0
  62. data/test/helpers/{node_query → query_node}/basic.yml +0 -0
  63. data/test/helpers/{node_query → query_node}/comments.yml +0 -0
  64. data/test/helpers/{node_query → query_node}/complex.yml +0 -0
  65. data/test/helpers/{node_query → query_node}/filters.yml +0 -0
  66. data/test/helpers/{node_query → query_node}/relations.yml +0 -0
  67. data/test/helpers/{node_query_test.rb → query_node_test.rb} +1 -2
  68. data/test/integration/navigation_test.rb +2 -0
  69. data/test/test_helper.rb +1 -1
  70. data/test/test_zena.rb +1 -1
  71. data/test/unit/core_ext_test.rb +3 -3
  72. data/test/unit/iformat_test.rb +3 -3
  73. data/test/unit/image_builder_test.rb +34 -34
  74. data/test/unit/node_test.rb +15 -1
  75. data/test/unit/virtual_class_test.rb +106 -0
  76. data/test/unit/zena/use/upload_test.rb +3 -3
  77. data/vendor/plugins/gettext_i18n_rails/tasks/gettext_rails_i18n.rake +3 -3
  78. data/zena.gemspec +36 -29
  79. data/zena_console.rb +33 -0
  80. metadata +30 -23
  81. data/lib/comment_query.rb +0 -92
  82. data/lib/image_builder.rb +0 -325
  83. data/lib/zena/use/node_query_finders.rb +0 -494
  84. data/vendor/bricks/20070122-172926.txt +0 -282
@@ -0,0 +1,128 @@
1
+ // ** I18N
2
+
3
+ // Calendar DE language
4
+ // Author: Jack (tR), <jack@jtr.de>
5
+ // Encoding: any
6
+ // Distributed under the same terms as the calendar itself.
7
+
8
+ // For translators: please use UTF-8 if possible. We strongly believe that
9
+ // Unicode is the answer to a real internationalized world. Also please
10
+ // include your contact information in the header, as can be seen above.
11
+
12
+ // full day names
13
+ Calendar._DN = new Array
14
+ ("Sonntag",
15
+ "Montag",
16
+ "Dienstag",
17
+ "Mittwoch",
18
+ "Donnerstag",
19
+ "Freitag",
20
+ "Samstag",
21
+ "Sonntag");
22
+
23
+ // First day of the week. "0" means display Sunday first, "1" means display
24
+ // Monday first, etc.
25
+ Calendar._FD = "1";
26
+
27
+ // Please note that the following array of short day names (and the same goes
28
+ // for short month names, _SMN) isn't absolutely necessary. We give it here
29
+ // for exemplification on how one can customize the short day names, but if
30
+ // they are simply the first N letters of the full name you can simply say:
31
+ //
32
+ // Calendar._SDN_len = N; // short day name length
33
+ // Calendar._SMN_len = N; // short month name length
34
+ //
35
+ // If N = 3 then this is not needed either since we assume a value of 3 if not
36
+ // present, to be compatible with translation files that were written before
37
+ // this feature.
38
+
39
+ // short day names
40
+ Calendar._SDN = new Array
41
+ ("So",
42
+ "Mo",
43
+ "Di",
44
+ "Mi",
45
+ "Do",
46
+ "Fr",
47
+ "Sa",
48
+ "So");
49
+
50
+ // full month names
51
+ Calendar._MN = new Array
52
+ ("Januar",
53
+ "Februar",
54
+ "M\u00e4rz",
55
+ "April",
56
+ "Mai",
57
+ "Juni",
58
+ "Juli",
59
+ "August",
60
+ "September",
61
+ "Oktober",
62
+ "November",
63
+ "Dezember");
64
+
65
+ // short month names
66
+ Calendar._SMN = new Array
67
+ ("Jan",
68
+ "Feb",
69
+ "M\u00e4r",
70
+ "Apr",
71
+ "May",
72
+ "Jun",
73
+ "Jul",
74
+ "Aug",
75
+ "Sep",
76
+ "Okt",
77
+ "Nov",
78
+ "Dez");
79
+
80
+ // tooltips
81
+ Calendar._TT = {};
82
+ Calendar._TT["INFO"] = "\u00DCber dieses Kalendarmodul";
83
+
84
+ Calendar._TT["ABOUT"] =
85
+ "DHTML Date/Time Selector\n" +
86
+ "(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this ;-)
87
+ "For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
88
+ "Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
89
+ "\n\n" +
90
+ "Datum ausw\u00e4hlen:\n" +
91
+ "- Benutzen Sie die \xab, \xbb Buttons um das Jahr zu w\u00e4hlen\n" +
92
+ "- Benutzen Sie die " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " Buttons um den Monat zu w\u00e4hlen\n" +
93
+ "- F\u00fcr eine Schnellauswahl halten Sie die Maustaste \u00fcber diesen Buttons fest.";
94
+ Calendar._TT["ABOUT_TIME"] = "\n\n" +
95
+ "Zeit ausw\u00e4hlen:\n" +
96
+ "- Klicken Sie auf die Teile der Uhrzeit, um diese zu erh\u00F6hen\n" +
97
+ "- oder klicken Sie mit festgehaltener Shift-Taste um diese zu verringern\n" +
98
+ "- oder klicken und festhalten f\u00fcr Schnellauswahl.";
99
+
100
+ Calendar._TT["TOGGLE"] = "Ersten Tag der Woche w\u00e4hlen";
101
+ Calendar._TT["PREV_YEAR"] = "Voriges Jahr (Festhalten f\u00fcr Schnellauswahl)";
102
+ Calendar._TT["PREV_MONTH"] = "Voriger Monat (Festhalten f\u00fcr Schnellauswahl)";
103
+ Calendar._TT["GO_TODAY"] = "Heute ausw\u00e4hlen";
104
+ Calendar._TT["NEXT_MONTH"] = "N\u00e4chst. Monat (Festhalten f\u00fcr Schnellauswahl)";
105
+ Calendar._TT["NEXT_YEAR"] = "N\u00e4chst. Jahr (Festhalten f\u00fcr Schnellauswahl)";
106
+ Calendar._TT["SEL_DATE"] = "Datum ausw\u00e4hlen";
107
+ Calendar._TT["DRAG_TO_MOVE"] = "Zum Bewegen festhalten";
108
+ Calendar._TT["PART_TODAY"] = " (Heute)";
109
+
110
+ // the following is to inform that "%s" is to be the first day of week
111
+ // %s will be replaced with the day name.
112
+ Calendar._TT["DAY_FIRST"] = "Woche beginnt mit %s ";
113
+
114
+ // This may be locale-dependent. It specifies the week-end days, as an array
115
+ // of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
116
+ // means Monday, etc.
117
+ Calendar._TT["WEEKEND"] = "0,6";
118
+
119
+ Calendar._TT["CLOSE"] = "Schlie\u00dfen";
120
+ Calendar._TT["TODAY"] = "Heute";
121
+ Calendar._TT["TIME_PART"] = "(Shift-)Klick oder Festhalten und Ziehen um den Wert zu \u00e4ndern";
122
+
123
+ // date formats
124
+ Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y";
125
+ Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
126
+
127
+ Calendar._TT["WK"] = "KW";
128
+ Calendar._TT["TIME"] = "Zeit:";
Binary file
@@ -17,6 +17,8 @@
17
17
 
18
18
  table.admin, table.admin table { border-collapse:separate; border-width:0; margin:auto; border-color:#666; border-style:solid; }
19
19
  table.admin { width:500px; }
20
+ .admin_group { display:table; margin:1em auto; width:500px; border:1px solid grey; padding:5px; background:#eee;}
21
+ .admin_group .btn_validate { float:right;}
20
22
  table.admin table { width:90%; }
21
23
  table.admin table td { text-align:left; }
22
24
  table.admin td:first-child { border-left: 1px solid #666; }
@@ -38,7 +40,6 @@ table.admin td:first-child { border-left: 1px solid #666; }
38
40
  .admin .adm_add table { border: 0; margin:10px;}
39
41
  .admin .adm_add table td { border: 0; font-size:inherit; padding: 2px; }
40
42
  .admin .btn_validate { float:right; margin-right:30px; }
41
- .btn_validate input { background:#C8D8C7; border:1px outset black;}
42
43
  .admin .label {width:150px; line-height:1.9em;}
43
44
  .admin th { color:#450009; }
44
45
  .admin .source, .admin .source_role { background:#DBBFBF;}
@@ -52,7 +52,7 @@
52
52
  # roger 5 tinformation[~12] / 2002-05-05
53
53
  # roger 1 radio[~24]
54
54
 
55
- NodeQuery:
55
+ 'Zena::Use::QueryNode':
56
56
  # find all courses that an employee must follow
57
57
  emp_form_date:
58
58
  # find courses assigned_to pages in job assigned_to CURRENT_NODE (employee)
@@ -0,0 +1,12 @@
1
+ Foo:
2
+ superclass: Bar
3
+
4
+ Bar:
5
+ superclass: Note
6
+
7
+ Baz:
8
+ superclass: Node
9
+
10
+ # this one will fail
11
+ Post:
12
+ superclass: Page
@@ -59,4 +59,13 @@ class VirtualClassesControllerTest < Zena::Controller::TestCase
59
59
  end
60
60
  assert_redirected_to virtual_classes_path
61
61
  end
62
+
63
+ context 'importing virtual class definitions' do
64
+ should 'create virtual_classes' do
65
+ assert_difference('VirtualClass.count', 3) do
66
+ post :import, :attachment => uploaded_fixture('vclasses.yml', 'text/yaml')
67
+ end
68
+ list = assigns(:virtual_classes)
69
+ end
70
+ end
62
71
  end
File without changes
File without changes
File without changes
@@ -1,9 +1,8 @@
1
1
  require 'test_helper'
2
2
  require 'yamltest'
3
3
 
4
- class NodeQueryTest < Zena::Unit::TestCase
4
+ class QueryNodeTest < Zena::Unit::TestCase
5
5
  yamltest
6
-
7
6
  def yt_do_test(file, test)
8
7
  context = Hash[*(yt_get('context', file, test).map{|k,v| [k.to_sym, v]}.flatten)]
9
8
 
@@ -189,6 +189,8 @@ class NavigationTest < ActionController::IntegrationTest
189
189
  assert_redirected_to 'http://test.host/en/1'
190
190
  follow_redirect!
191
191
  assert_response :missing
192
+ assert Thread.current[:visitor]
193
+ assert_match %r{Node-\+notFound}, @response.rendered[:template].to_s
192
194
  end
193
195
 
194
196
  def test_change_session_lang_on_login
data/test/test_helper.rb CHANGED
@@ -23,7 +23,7 @@ end
23
23
  class SubPagerDummy < PagerDummy
24
24
  end
25
25
 
26
- NodeQuery.load_custom_queries File.join(Zena::ROOT, 'test', 'custom_queries')
26
+ Zena::Use::QueryNode.load_custom_queries File.join(Zena::ROOT, 'test', 'custom_queries')
27
27
 
28
28
  class ActiveSupport::TestCase
29
29
  # Transactional fixtures accelerate your tests by wrapping each test method
data/test/test_zena.rb CHANGED
@@ -135,4 +135,4 @@ class ZenaTestController < ActionController::TestCase
135
135
  #include Zena::Test::TestController
136
136
  end
137
137
 
138
- NodeQuery.insert_zero_link(Link)
138
+ Zena::Use::QueryNode.insert_zero_link(Link)
@@ -2,9 +2,9 @@ require 'rubygems'
2
2
  require 'tzinfo'
3
3
  require 'test/unit'
4
4
  require 'fileutils'
5
- require File.join(File.dirname(__FILE__), '../../lib/core_ext/string')
6
- require File.join(File.dirname(__FILE__), '../../lib/core_ext/fixnum')
7
- require File.join(File.dirname(__FILE__), '../../lib/core_ext/dir')
5
+ require File.join(File.dirname(__FILE__), '../../lib/zena/core_ext/string')
6
+ require File.join(File.dirname(__FILE__), '../../lib/zena/core_ext/fixnum')
7
+ require File.join(File.dirname(__FILE__), '../../lib/zena/core_ext/dir')
8
8
 
9
9
  class StringExtTest < Test::Unit::TestCase
10
10
  def test_abs_rel_path
@@ -15,7 +15,7 @@ class IformatTest < Zena::Unit::TestCase
15
15
  def test_redefined_format
16
16
  login(:lion)
17
17
  fmt = Iformat['med']
18
- assert_not_equal ImageBuilder::DEFAULT_FORMATS['med'], fmt
18
+ assert_not_equal Zena::Use::ImageBuilder::DEFAULT_FORMATS['med'], fmt
19
19
  assert_equal ({:name => 'med', :width=>300, :height=>200, :gravity=>Magick::CenterGravity, :size=>:limit, :hash_id => 389519063846, :popup => {:show=> %w{navigation v_title v_summary}, :name=>'std', :options=>{'v_title'=>'link'}}}), fmt
20
20
  end
21
21
 
@@ -35,7 +35,7 @@ class IformatTest < Zena::Unit::TestCase
35
35
 
36
36
  def test_other_site
37
37
  login(:whale)
38
- assert_equal ImageBuilder::DEFAULT_FORMATS['med'], Iformat['med']
38
+ assert_equal Zena::Use::ImageBuilder::DEFAULT_FORMATS['med'], Iformat['med']
39
39
  end
40
40
 
41
41
  def test_defined_format
@@ -182,7 +182,7 @@ class IformatTest < Zena::Unit::TestCase
182
182
  def test_new_from_default
183
183
  login(:lion)
184
184
  imf = Iformat.new_from_default('pv')
185
- assert_equal ImageBuilder::DEFAULT_FORMATS['pv'], imf.as_hash
185
+ assert_equal Zena::Use::ImageBuilder::DEFAULT_FORMATS['pv'], imf.as_hash
186
186
  assert_equal 70, imf[:height]
187
187
  assert_equal 70, imf[:width]
188
188
  assert_equal 2, imf[:size]
@@ -1,12 +1,12 @@
1
1
  require 'test_helper'
2
2
 
3
- class ImageBuilderTest < Zena::Unit::TestCase
3
+ class Zena::Use::ImageBuilderTest < Zena::Unit::TestCase
4
4
 
5
5
  # Dummy tests
6
- if ImageBuilder.dummy?
6
+ if Zena::Use::ImageBuilder.dummy?
7
7
  def test_dummy
8
8
  img = nil
9
- assert_nothing_raised { img = ImageBuilder.new(:path=>uploaded_jpg('bird.jpg').path, :width=>100, :height=>30) }
9
+ assert_nothing_raised { img = Zena::Use::ImageBuilder.new(:path=>uploaded_jpg('bird.jpg').path, :width=>100, :height=>30) }
10
10
  assert img.dummy?, 'Image is a dummy'
11
11
  assert_nil img.read
12
12
  assert_equal 100, img.width
@@ -14,20 +14,20 @@ class ImageBuilderTest < Zena::Unit::TestCase
14
14
  end
15
15
 
16
16
  def test_render_img
17
- img = ImageBuilder.new(:path=>uploaded_jpg('bird.jpg').path, :width=>100, :height=>30)
17
+ img = Zena::Use::ImageBuilder.new(:path=>uploaded_jpg('bird.jpg').path, :width=>100, :height=>30)
18
18
  assert_raise(IOError) { img.render_img }
19
19
  end
20
20
 
21
21
  def test_rows_0
22
- img = ImageBuilder.new(:path=>uploaded_jpg('bird.jpg').path)
22
+ img = Zena::Use::ImageBuilder.new(:path=>uploaded_jpg('bird.jpg').path)
23
23
  assert_nil img.width
24
24
  assert_nil img.height
25
25
  end
26
26
  else
27
27
  def test_dummy
28
28
  img = nil
29
- assert_nothing_raised { img = ImageBuilder.new(:path=>uploaded_jpg('bird.jpg').path, :width=>100, :height=>30) }
30
- assert ! ImageBuilder.dummy?, 'Image is not a dummy'
29
+ assert_nothing_raised { img = Zena::Use::ImageBuilder.new(:path=>uploaded_jpg('bird.jpg').path, :width=>100, :height=>30) }
30
+ assert ! Zena::Use::ImageBuilder.dummy?, 'Image is not a dummy'
31
31
  assert_nothing_raised { img.render_img }
32
32
  assert img.read
33
33
  assert_equal 100, img.width
@@ -35,20 +35,20 @@ class ImageBuilderTest < Zena::Unit::TestCase
35
35
  end
36
36
 
37
37
  def test_render_without_img
38
- img = ImageBuilder.new(:width=>100, :height=>30)
39
- assert ! ImageBuilder.dummy?, 'Class is not a dummy'
38
+ img = Zena::Use::ImageBuilder.new(:width=>100, :height=>30)
39
+ assert ! Zena::Use::ImageBuilder.dummy?, 'Class is not a dummy'
40
40
  assert img.dummy?, 'Image is a dummy'
41
41
  assert_raise(IOError) { img.render_img }
42
42
  assert_nil img.read
43
43
  end
44
44
 
45
45
  def test_render_img
46
- img = ImageBuilder.new(:path=>uploaded_jpg('bird.jpg').path, :width=>100, :height=>30)
46
+ img = Zena::Use::ImageBuilder.new(:path=>uploaded_jpg('bird.jpg').path, :width=>100, :height=>30)
47
47
  assert_nothing_raised { img.render_img }
48
48
  end
49
49
 
50
50
  def test_write_sepia
51
- img = ImageBuilder.new(:path=>uploaded_jpg('bird.jpg').path)
51
+ img = Zena::Use::ImageBuilder.new(:path=>uploaded_jpg('bird.jpg').path)
52
52
  img.transform!(:size=>:limit, :width=>280, :ratio=>2/3.0, :post=>Proc.new {|img| img.sepiatone(Magick::MaxRGB * 0.8)})
53
53
  assert !File.exist?("#{SITES_ROOT}/test.host/sepia.jpg"), "File does not exist"
54
54
  assert_nothing_raised { img.write("#{SITES_ROOT}/test.host/sepia.jpg")}
@@ -58,14 +58,14 @@ class ImageBuilderTest < Zena::Unit::TestCase
58
58
 
59
59
  def test_png
60
60
  path = "#{Zena::ROOT}/public/images/ext/pdf.png"
61
- img = ImageBuilder.new(:path=>path, :width=>30, :height=>30)
61
+ img = Zena::Use::ImageBuilder.new(:path=>path, :width=>30, :height=>30)
62
62
  img.transform!(:size=>:force, :width=>70, :height=>79)
63
63
  assert_nothing_raised { data = img.read }
64
64
  end
65
65
 
66
66
  def test_format
67
67
  path = "#{Zena::ROOT}/public/images/ext/pdf.png"
68
- img = ImageBuilder.new(:path=>path, :width=>30, :height=>30)
68
+ img = Zena::Use::ImageBuilder.new(:path=>path, :width=>30, :height=>30)
69
69
  img.format = 'jpg'
70
70
  new_img = img.render_img
71
71
  assert_kind_of Magick::ImageList, new_img
@@ -74,7 +74,7 @@ class ImageBuilderTest < Zena::Unit::TestCase
74
74
 
75
75
  def test_limit_size
76
76
  path = "#{Zena::ROOT}/test/fixtures/files/bird.jpg"
77
- img = ImageBuilder.new(:path=>path, :width=>30, :height=>30)
77
+ img = Zena::Use::ImageBuilder.new(:path=>path, :width=>30, :height=>30)
78
78
  assert_equal 56243, File.stat(path).size
79
79
  img.max_filesize = 40000
80
80
  new_img = img.render_img
@@ -86,90 +86,90 @@ class ImageBuilderTest < Zena::Unit::TestCase
86
86
  end
87
87
 
88
88
  def test_image_content_type
89
- assert ImageBuilder.image_content_type?('image/jpeg'), "jpeg is an image"
90
- assert ImageBuilder.image_content_type?('image/png'), "png is an image"
91
- assert !ImageBuilder.image_content_type?('application/pdf'), "pdf is not an image"
89
+ assert Zena::Use::ImageBuilder.image_content_type?('image/jpeg'), "jpeg is an image"
90
+ assert Zena::Use::ImageBuilder.image_content_type?('image/png'), "png is an image"
91
+ assert ! Zena::Use::ImageBuilder.image_content_type?('application/pdf'), "pdf is not an image"
92
92
  end
93
93
 
94
94
  def test_resize
95
- img = ImageBuilder.new(:width=>100, :height=>30)
95
+ img = Zena::Use::ImageBuilder.new(:width=>100, :height=>30)
96
96
  img.resize!(0.5)
97
97
  assert_equal 50, img.width
98
98
  assert_equal 15, img.height
99
99
  end
100
100
 
101
101
  def test_crop_min
102
- img = ImageBuilder.new(:width=>100, :height=>30)
102
+ img = Zena::Use::ImageBuilder.new(:width=>100, :height=>30)
103
103
  img.crop_min!(80, 70)
104
104
  assert_equal 80, img.width
105
105
  assert_equal 30, img.height
106
106
  end
107
107
 
108
108
  def test_crop
109
- img = ImageBuilder.new(:width=>100, :height=>30)
109
+ img = Zena::Use::ImageBuilder.new(:width=>100, :height=>30)
110
110
  img.crop!(5, 10, 80, 70)
111
111
  assert_equal 80, img.width
112
112
  assert_equal 20, img.height
113
113
  end
114
114
 
115
115
  def test_set_background
116
- img = ImageBuilder.new(:width=>100, :height=>30)
116
+ img = Zena::Use::ImageBuilder.new(:width=>100, :height=>30)
117
117
  img.set_background!(Magick::MaxRGB,120,15)
118
118
  assert_equal 120, img.width
119
119
  assert_equal 30, img.height
120
120
  end
121
121
 
122
122
  def test_transform_limit
123
- img = ImageBuilder.new(:width=>100, :height=>30)
123
+ img = Zena::Use::ImageBuilder.new(:width=>100, :height=>30)
124
124
  img.transform!(:size=>:limit, :width=>80, :height=>60)
125
125
  assert_equal 80, img.width
126
126
  assert_equal 24, img.height
127
127
  end
128
128
 
129
129
  def test_transform_force
130
- img = ImageBuilder.new(:width=>100, :height=>30)
130
+ img = Zena::Use::ImageBuilder.new(:width=>100, :height=>30)
131
131
  img.transform!(:size=>:force, :width=>80, :height=>60)
132
132
  assert_equal 80, img.width
133
133
  assert_equal 60, img.height
134
134
  end
135
135
 
136
136
  def test_transform_force_no_crop
137
- img = ImageBuilder.new(:width=>100, :height=>30)
137
+ img = Zena::Use::ImageBuilder.new(:width=>100, :height=>30)
138
138
  img.transform!(:size=>:force_no_crop, :width=>80, :height=>60)
139
139
  assert_equal 80, img.width
140
140
  assert_equal 60, img.height
141
141
  end
142
142
 
143
143
  def test_transform_ratio
144
- img = ImageBuilder.new(:width=>100, :height=>30)
144
+ img = Zena::Use::ImageBuilder.new(:width=>100, :height=>30)
145
145
  img.transform!(:size=>:force, :height=>30, :ratio=>3.0/4)
146
146
  assert_equal 30, img.height
147
147
  assert_equal 40, img.width
148
148
  end
149
149
 
150
150
  def test_transform_ratio_width
151
- img = ImageBuilder.new(:width=>30, :height=>100)
151
+ img = Zena::Use::ImageBuilder.new(:width=>30, :height=>100)
152
152
  img.transform!(:size=>:force, :width=>40, :ratio=>3.0/4.0)
153
153
  assert_equal 30, img.height
154
154
  assert_equal 40, img.width
155
155
  end
156
156
 
157
157
  def test_transform_scale
158
- img = ImageBuilder.new(:width=>30, :height=>100)
158
+ img = Zena::Use::ImageBuilder.new(:width=>30, :height=>100)
159
159
  img.transform!(:size=>:force, :scale=>0.5)
160
160
  assert_equal 15, img.width
161
161
  assert_equal 50, img.height
162
162
  end
163
163
 
164
164
  def test_transform_scale_up
165
- img = ImageBuilder.new(:width=>30, :height=>100)
165
+ img = Zena::Use::ImageBuilder.new(:width=>30, :height=>100)
166
166
  img.transform!(:size=>:force, :scale=>2.0)
167
167
  assert_equal 60, img.width
168
168
  assert_equal 200, img.height
169
169
  end
170
170
 
171
171
  def test_transform_scale_up_no_size
172
- img = ImageBuilder.new(:width=>30, :height=>100)
172
+ img = Zena::Use::ImageBuilder.new(:width=>30, :height=>100)
173
173
  img.transform!(:scale=>2.0)
174
174
  assert_equal 60, img.width
175
175
  assert_equal 200, img.height
@@ -182,15 +182,15 @@ class ImageBuilderTest < Zena::Unit::TestCase
182
182
  end
183
183
 
184
184
  def test_transform_limit_with_ratio
185
- img = ImageBuilder.new(:width=>30, :height=>100)
185
+ img = Zena::Use::ImageBuilder.new(:width=>30, :height=>100)
186
186
  img.transform!(:size=>:limit, :height=>50, :ratio=>2.0/1.0)
187
187
  assert_equal 15, img.width
188
188
  assert_equal 50, img.height
189
- img = ImageBuilder.new(:width=>30, :height=>100)
189
+ img = Zena::Use::ImageBuilder.new(:width=>30, :height=>100)
190
190
  img.transform!(:size=>:limit, :height=>200, :ratio=>4.0/1.0)
191
191
  assert_equal 30, img.width
192
192
  assert_equal 100, img.height
193
- img = ImageBuilder.new(:width=>30, :height=>100)
193
+ img = Zena::Use::ImageBuilder.new(:width=>30, :height=>100)
194
194
  img.transform!(:height=>50, :ratio=>1.0/3.0)
195
195
  assert_equal 15, img.width
196
196
  assert_equal 50, img.height
@@ -198,7 +198,7 @@ class ImageBuilderTest < Zena::Unit::TestCase
198
198
 
199
199
  def test_exif
200
200
  path = "#{Zena::ROOT}/test/fixtures/files/exif_sample.jpg"
201
- img = ImageBuilder.new(:path=>path)
201
+ img = Zena::Use::ImageBuilder.new(:path=>path)
202
202
  exif = img.exif
203
203
 
204
204
  assert exif['DateTime']
@@ -207,7 +207,7 @@ class ImageBuilderTest < Zena::Unit::TestCase
207
207
 
208
208
  def test_parse_dates_in_exif
209
209
  path = "#{Zena::ROOT}/test/fixtures/files/exif_sample.jpg"
210
- img = ImageBuilder.new(:path=>path)
210
+ img = Zena::Use::ImageBuilder.new(:path=>path)
211
211
  assert_equal "1998:01:01 00:00:00", img.exif['DateTime']
212
212
  assert_equal Time.parse("1998-01-01 00:00:00"), img.exif.date_time
213
213
  end