zena 0.16.3 → 0.16.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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