weeler 1.0.4 → 1.1.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b26f9724a3db982ebf3fdcabeef2c359bdb1ec9e
4
- data.tar.gz: 22a1fb713b7410cf6208fbb4f7a5e3fd66be6ea6
3
+ metadata.gz: 68940eeb55fdefffd683777736dd8061caf8e998
4
+ data.tar.gz: 9140eb89f13bbc9a4da87eae17a8c8da335bd012
5
5
  SHA512:
6
- metadata.gz: 594d09844e775639e4b3524ebb0043eee62670336f81395c60af431277991cee1893772ebfdf355f7ceac644fd74f91b74d79f964dfd239b25d478adeb2b3010
7
- data.tar.gz: 115f31094c9019e21f877c0a5b43623ed4f6d62634e0ddbd360905984d64419da0947e629475d6e818740fbba0c0aac3839620541c9207f8b7c772748c8702c3
6
+ metadata.gz: 3294c821dd0927db19745f754d5e0accf08f3129aad52faef6b387a2d4b159a69baf88a7422fb33c52eaab9afdfb08bf4012a3b93186694271f9029fa263af61
7
+ data.tar.gz: 614afa34c328b29a96a1278e02de45af676584b79c2cbd9f018079b80e92bcd368853ca75fd6a8e2f6af5c588bd80ac4b26b8e17032162335509b4df3aa9c820
data/.gitignore CHANGED
@@ -18,3 +18,4 @@ tmp
18
18
  .coveralls.yml
19
19
  .DS_Store
20
20
  spec/dummy/log/test.log
21
+ rspec.html
@@ -7,5 +7,8 @@ rvm:
7
7
  - "2.1.3"
8
8
  - "2.1.4"
9
9
  - "2.1.5"
10
+ - "2.2.0"
11
+ - "jruby"
12
+ - "rbx-2.4.1"
10
13
  # uncomment this line if your project needs to run something other than `rake`:
11
14
  script: bundle exec rspec spec
@@ -1,3 +1,20 @@
1
+ ## 1.1.0
2
+
3
+ ### Features & Enhancements
4
+
5
+ * Add JRuby and Rubinius support.
6
+ * 'image_upload_field' accept only hash options (for JRuby support).
7
+ * Add 'empty_translation_acts_like_missing' config. Empty translations by
8
+ default is treat like missing translation.
9
+
10
+ ### Bug Fixes
11
+
12
+ * Translation html safe output bug fixed (Rails 4.2 bug)
13
+
14
+ ### Contributors
15
+
16
+ * Arturs Braucs
17
+
1
18
  ## 1.0.4
2
19
 
3
20
  ### Bug Fixes
@@ -13,7 +13,9 @@
13
13
  = seo_fields.hidden_field :id, :value => seo_fields.object.id if seo_fields.object.present?
14
14
  = seo_fields.hidden_field :section, :value => controller_name
15
15
 
16
- - seo_fields.globalize_fields_for lang do |g|
16
+ - seo_fields.fields_for :translations do |g|
17
+ = g.hidden_field :locale
18
+ = g.hidden_field :id
17
19
 
18
20
  .form-group
19
21
  .input-group
@@ -10,10 +10,8 @@
10
10
  .form-group
11
11
  %label.col-lg-2.col-md-2.control-label Value
12
12
  .col-lg-10.col-md-10
13
- - if translation.html?
14
- = f.text_area :value, {class: "form-control redactor"}
15
- - else
16
- = f.text_area :value, {class: "form-control" }
13
+ %textarea.form-control{class: "#{'redactor' if translation.html?}", name: 'i18n_backend_weeler_translation[value]', id: 'i18n_backend_weeler_translation_value'}
14
+ = translation.value
17
15
  %h4 Info
18
16
  .form-group
19
17
  %label.col-lg-2.col-md-2.control-label Variables
@@ -4,6 +4,7 @@ Weeler.setup do |config|
4
4
  #
5
5
  # config.use_weeler_i18n = true
6
6
  # config.create_missing_translations = true # Create translation in database if it missing
7
+ # config.empty_translation_acts_like_missing = true # Empty translations by default is treat like missing translation.
7
8
 
8
9
  # Require user method weeler use in before filter. (e.g. require_user)
9
10
  #
@@ -44,20 +44,24 @@ module I18n
44
44
  i18n_cache.clear
45
45
 
46
46
  Translation.all.each do |translation|
47
- i18n_cache.write [translation.locale, translation.key], translation if translation.value.present?
47
+ # Load in cache unless value is nil or it is blank and empty
48
+ # translation acts like missing
49
+ if !(translation.value.nil? || (::Weeler.empty_translation_acts_like_missing && translation.value.blank?))
50
+ i18n_cache.write [translation.locale, translation.key], translation
51
+ end
48
52
  end
49
53
 
50
54
  i18n_cache.write('UPDATED_AT', Settings.i18n_updated_at) if ActiveRecord::Base.connection.table_exists?('settings')
51
55
  end
52
56
 
53
- protected
57
+ protected
54
58
 
55
59
  def lookup(locale, key, scope = [], options = {})
56
60
  key = normalize_flat_keys(locale, key, scope, options[:separator])
57
61
  return lookup_in_cache(locale, key, scope, options)
58
62
  end
59
63
 
60
- private
64
+ private
61
65
 
62
66
  def lookup_in_cache locale, key, scope = [], options = {}
63
67
  # reload cache if cache timestamp differs from last translations update
@@ -71,7 +75,7 @@ module I18n
71
75
 
72
76
  result = i18n_cache.read([locale, check_key])
73
77
 
74
- return result.value unless result.blank?
78
+ return result.value unless result.blank?
75
79
  end
76
80
 
77
81
  # mark translation as missing
@@ -87,7 +91,7 @@ module I18n
87
91
  def lookup_in_database locale, key, scope = [], options = {}
88
92
  result = Translation.locale(locale).lookup(key).load
89
93
 
90
- if result.empty?
94
+ if result.nil? || (::Weeler.empty_translation_acts_like_missing && result.blank?)
91
95
  if ::Weeler.create_missing_translations
92
96
  return store_empty_translation locale, key, options
93
97
  else
@@ -8,7 +8,8 @@
8
8
  # was extracted from the original backend.
9
9
 
10
10
  begin
11
- require 'action_view/vendor/html-scanner'
11
+ # require 'sanitize'
12
+ require 'action_controller/base'
12
13
  rescue LoadError => e
13
14
  puts "can't use Html because: #{e.message}"
14
15
  end
@@ -16,11 +17,14 @@ end
16
17
  module I18n
17
18
  module Backend
18
19
  class Weeler
20
+
19
21
  module HtmlChecker
22
+
23
+ # include ActionView::Helpers::SanitizeHelper
20
24
 
21
25
  def html?
22
26
  if html_safe_translation_key?(self.key) ||
23
- (self.value.present? && HTML::FullSanitizer.new.sanitize(self.value.to_s).length != self.value.to_s.length)
27
+ (self.value.present? && ActionController::Base.helpers.sanitize(self.value.to_s, {tags: []}).length != self.value.to_s.length)
24
28
  return true
25
29
  else
26
30
  return false
@@ -54,7 +54,7 @@ module I18n
54
54
  serialize :value
55
55
  serialize :interpolations, Array
56
56
 
57
- scope :except_key, -> (key) { where("key NOT LIKE ?", "#{key}%") }
57
+ scope :except_key, lambda { |key| where("key NOT LIKE ?", "#{key}%") }
58
58
 
59
59
  validates :key, :uniqueness => { :scope => :locale }
60
60
  validates :key, presence: true
@@ -71,7 +71,7 @@ module I18n
71
71
 
72
72
  unless separator.empty?
73
73
  warn "[DEPRECATION] Giving a separator to Translation.lookup is deprecated. " <<
74
- "You can change the internal separator by overwriting FLATTEN_SEPARATOR."
74
+ "You can change the internal separator by overwriting FLATTEN_SEPARATOR."
75
75
  end
76
76
 
77
77
  namespace = "#{keys.last}#{I18n::Backend::Flatten::FLATTEN_SEPARATOR}%"
@@ -27,6 +27,9 @@ module Weeler
27
27
 
28
28
  mattr_accessor :use_weeler_i18n
29
29
  @@use_weeler_i18n = true
30
+
31
+ mattr_accessor :empty_translation_acts_like_missing
32
+ @@empty_translation_acts_like_missing = true
30
33
 
31
34
  mattr_accessor :required_user_method
32
35
  @@required_user_method = nil
@@ -19,15 +19,14 @@ module Weeler
19
19
  #
20
20
  # Also with remove_image action in controller and route for that,
21
21
  # it removes only image from object.
22
- def image_upload_field(name, size_info: "200x80", image_url_method: nil)
22
+ def image_upload_field(name, options = {})
23
+ options = options.reverse_merge({size_info: "200x80", image_url_method: "#{name.to_s}.url(\"original\")"})
23
24
  self.multipart = true
24
25
 
25
- image_url_method = "#{name.to_s}.url(\"original\")" unless image_url_method.present?
26
-
27
26
  buffer = @template.label(@object_name, name, :class => "col-lg-2 col-md-2 control-label")
28
27
 
29
- buffer += image_upload_field_file_block name, size_info
30
- buffer += image_upload_field_preview_block name, image_url_method if File.exist?(@object.instance_eval(image_url_method))
28
+ buffer += image_upload_field_file_block name, options[:size_info]
29
+ buffer += image_upload_field_preview_block name, options[:image_url_method] if File.exist?(@object.instance_eval(options[:image_url_method]))
31
30
 
32
31
  buffer
33
32
  end
@@ -62,7 +61,7 @@ module Weeler
62
61
  build_route = true
63
62
  begin
64
63
  @template.link_to("Remove", action: "remove_image")
65
- rescue Exception => e
64
+ rescue Exception
66
65
  build_route = false
67
66
  end
68
67
 
@@ -1,8 +1,8 @@
1
1
  module Weeler
2
2
  module VERSION
3
3
  MAJOR = 1
4
- MINOR = 0
5
- TINY = 4
4
+ MINOR = 1
5
+ TINY = 0
6
6
  PRE = nil
7
7
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
8
8
  end
@@ -13,7 +13,7 @@
13
13
 
14
14
  ActiveRecord::Schema.define(version: 20140726151210) do
15
15
 
16
- create_table "posts", force: true do |t|
16
+ create_table "posts", force: :cascade do |t|
17
17
  t.string "title"
18
18
  t.text "body"
19
19
  t.integer "sequence", default: 0
@@ -22,7 +22,7 @@ ActiveRecord::Schema.define(version: 20140726151210) do
22
22
  t.datetime "updated_at"
23
23
  end
24
24
 
25
- create_table "settings", force: true do |t|
25
+ create_table "settings", force: :cascade do |t|
26
26
  t.string "var", null: false
27
27
  t.text "value"
28
28
  t.integer "thing_id"
@@ -33,7 +33,7 @@ ActiveRecord::Schema.define(version: 20140726151210) do
33
33
 
34
34
  add_index "settings", ["thing_type", "thing_id", "var"], name: "index_settings_on_thing_type_and_thing_id_and_var", unique: true
35
35
 
36
- create_table "translations", force: true do |t|
36
+ create_table "translations", force: :cascade do |t|
37
37
  t.integer "post_id"
38
38
  t.string "locale"
39
39
  t.string "title"
@@ -44,7 +44,7 @@ ActiveRecord::Schema.define(version: 20140726151210) do
44
44
 
45
45
  add_index "translations", ["post_id"], name: "index_translations_on_post_id"
46
46
 
47
- create_table "weeler_seo_translations", force: true do |t|
47
+ create_table "weeler_seo_translations", force: :cascade do |t|
48
48
  t.integer "weeler_seo_id", null: false
49
49
  t.string "locale", null: false
50
50
  t.datetime "created_at"
@@ -57,7 +57,7 @@ ActiveRecord::Schema.define(version: 20140726151210) do
57
57
  add_index "weeler_seo_translations", ["locale"], name: "index_weeler_seo_translations_on_locale"
58
58
  add_index "weeler_seo_translations", ["weeler_seo_id"], name: "index_weeler_seo_translations_on_weeler_seo_id"
59
59
 
60
- create_table "weeler_seos", force: true do |t|
60
+ create_table "weeler_seos", force: :cascade do |t|
61
61
  t.string "title"
62
62
  t.text "description"
63
63
  t.text "keywords"
@@ -69,9 +69,9 @@ ActiveRecord::Schema.define(version: 20140726151210) do
69
69
  end
70
70
 
71
71
  add_index "weeler_seos", ["section"], name: "index_weeler_seos_on_section"
72
- add_index "weeler_seos", ["seoable_id", "seoable_type"], name: "index_weeler_seos_on_seoable_id_and_seoable_type"
72
+ add_index "weeler_seos", ["seoable_type", "seoable_id"], name: "index_weeler_seos_on_seoable_type_and_seoable_id"
73
73
 
74
- create_table "weeler_translations", force: true do |t|
74
+ create_table "weeler_translations", force: :cascade do |t|
75
75
  t.string "locale"
76
76
  t.string "key"
77
77
  t.text "value"
Binary file
@@ -136,7 +136,7 @@ describe Weeler::ActionController::Acts::Restful, type: :controller do
136
136
 
137
137
  context "permited all with block" do
138
138
  controller Weeler::FoosController do
139
- acts_as_restful Post, permit_params: -> (params) { params.require(:post).permit! }
139
+ acts_as_restful Post, permit_params: lambda { |params| params.require(:post).permit! }
140
140
  end
141
141
 
142
142
  describe "actions" do
@@ -23,5 +23,13 @@ describe Weeler::ActionView::Helpers::FormHelper, :type => :helper do
23
23
  expect(output).to include 'src="'+ Rails.root.join('sample/original.png').to_s+'"'
24
24
  expect(output).to include 'style="height: 80px;"'
25
25
  end
26
+
27
+ context 'change size info and image url method' do
28
+
29
+ it 'works on none java platforms' do
30
+ expect(helper.image_upload_field(:image, image_url_method: "image.url('small')", size_info: "200x100")).to include("200x100")
31
+ end
32
+
33
+ end
26
34
 
27
35
  end
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  require "spec_helper"
2
3
 
3
4
  describe I18n::Backend::Weeler do
@@ -70,7 +71,7 @@ describe I18n::Backend::Weeler do
70
71
  before(:all) do
71
72
  @html_key_translation = I18n::Backend::Weeler::Translation.create(:key => 'methods.body_html', :value => "Super duper", :locale => :en)
72
73
  @html_value_translation = I18n::Backend::Weeler::Translation.create(:key => 'methods.body', :value => "Super <b>duper</b>", :locale => :en)
73
- @html_fake_value_translation = I18n::Backend::Weeler::Translation.create(:key => 'methods.body_fake', :value => "Super < b", :locale => :en)
74
+ @html_fake_value_translation = I18n::Backend::Weeler::Translation.create(:key => 'methods.body_fake', :value => "Super b", :locale => :en)
74
75
  end
75
76
 
76
77
  it "is true if key is html" do
@@ -86,11 +87,6 @@ describe I18n::Backend::Weeler do
86
87
  expect(@html_fake_value_translation.html?).to be(false)
87
88
  end
88
89
 
89
- end
90
-
91
- describe "#lookup" do
92
-
93
-
94
90
  end
95
91
 
96
92
  describe "groups" do
@@ -197,13 +193,43 @@ describe I18n::Backend::Weeler do
197
193
  end
198
194
 
199
195
  context "already stored" do
200
- before(:all) do
201
- FactoryGirl.create(:translation, key: "weeler.test.cms_title", locale: "en", value: nil)
202
- end
203
196
 
204
- it "saves the fallback backend value" do
205
- I18n.t('weeler.test.cms_title')
206
- expect(I18n::Backend::Weeler::Translation.locale(:en).find_by_key('weeler.test.cms_title').value).to eq("Weeler is cool")
197
+ context "value is empty" do
198
+ context "empty as existing" do
199
+ before(:all) do
200
+ Weeler.empty_translation_acts_like_missing = false
201
+ FactoryGirl.create(:translation, key: "weeler.test.cms_title", locale: "en", value: "")
202
+ end
203
+
204
+ it "saves the fallback backend value" do
205
+ I18n.t('weeler.test.cms_title')
206
+ expect(I18n::Backend::Weeler::Translation.locale(:en).find_by_key('weeler.test.cms_title').value).to eq("")
207
+ end
208
+
209
+ after(:all) do
210
+ Weeler.empty_translation_acts_like_missing = true
211
+ end
212
+ end
213
+ context "empty as missing" do
214
+ before(:all) do
215
+ FactoryGirl.create(:translation, key: "weeler.test.cms_title", locale: "en", value: "")
216
+ end
217
+
218
+ it "saves the fallback backend value" do
219
+ I18n.t('weeler.test.cms_title')
220
+ expect(I18n::Backend::Weeler::Translation.locale(:en).find_by_key('weeler.test.cms_title').value).to eq("Weeler is cool")
221
+ end
222
+ end
223
+ end
224
+ context "value is nil" do
225
+ before(:all) do
226
+ FactoryGirl.create(:translation, key: "weeler.test.cms_title", locale: "en", value: nil)
227
+ end
228
+
229
+ it "saves the fallback backend value" do
230
+ I18n.t('weeler.test.cms_title')
231
+ expect(I18n::Backend::Weeler::Translation.locale(:en).find_by_key('weeler.test.cms_title').value).to eq("Weeler is cool")
232
+ end
207
233
  end
208
234
  end
209
235
  end
@@ -39,7 +39,11 @@ Gem::Specification.new do |spec|
39
39
  spec.add_development_dependency 'webrat'
40
40
  spec.add_development_dependency 'capybara'
41
41
  spec.add_development_dependency 'factory_girl_rails'
42
- spec.add_development_dependency 'sqlite3'
42
+ if RUBY_PLATFORM == 'java'
43
+ spec.add_development_dependency 'activerecord-jdbcsqlite3-adapter'
44
+ else
45
+ spec.add_development_dependency 'sqlite3'
46
+ end
43
47
  spec.add_development_dependency 'database_cleaner'
44
48
  spec.add_development_dependency 'shoulda-matchers'
45
49
  spec.add_development_dependency 'coveralls'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: weeler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artūrs Braučs
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-01-12 00:00:00.000000000 Z
12
+ date: 2015-01-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -446,7 +446,6 @@ files:
446
446
  - lib/weeler/deprecator.rb
447
447
  - lib/weeler/engine.rb
448
448
  - lib/weeler/version.rb
449
- - rspec.html
450
449
  - spec/.DS_Store
451
450
  - spec/controllers/translations_controller_spec.rb
452
451
  - spec/dummy/README.rdoc
data/rspec.html DELETED
@@ -1,798 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang='en'>
3
- <head>
4
- <title>RSpec results</title>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
- <meta http-equiv="Expires" content="-1" />
7
- <meta http-equiv="Pragma" content="no-cache" />
8
- <style type="text/css">
9
- body {
10
- margin: 0;
11
- padding: 0;
12
- background: #fff;
13
- font-size: 80%;
14
- }
15
- </style>
16
- <script type="text/javascript">
17
- // <![CDATA[
18
-
19
- function addClass(element_id, classname) {
20
- document.getElementById(element_id).className += (" " + classname);
21
- }
22
-
23
- function removeClass(element_id, classname) {
24
- var elem = document.getElementById(element_id);
25
- var classlist = elem.className.replace(classname,'');
26
- elem.className = classlist;
27
- }
28
-
29
- function moveProgressBar(percentDone) {
30
- document.getElementById("rspec-header").style.width = percentDone +"%";
31
- }
32
-
33
- function makeRed(element_id) {
34
- removeClass(element_id, 'passed');
35
- removeClass(element_id, 'not_implemented');
36
- addClass(element_id,'failed');
37
- }
38
-
39
- function makeYellow(element_id) {
40
- var elem = document.getElementById(element_id);
41
- if (elem.className.indexOf("failed") == -1) { // class doesn't includes failed
42
- if (elem.className.indexOf("not_implemented") == -1) { // class doesn't include not_implemented
43
- removeClass(element_id, 'passed');
44
- addClass(element_id,'not_implemented');
45
- }
46
- }
47
- }
48
-
49
- function apply_filters() {
50
- var passed_filter = document.getElementById('passed_checkbox').checked;
51
- var failed_filter = document.getElementById('failed_checkbox').checked;
52
- var pending_filter = document.getElementById('pending_checkbox').checked;
53
-
54
- assign_display_style("example passed", passed_filter);
55
- assign_display_style("example failed", failed_filter);
56
- assign_display_style("example not_implemented", pending_filter);
57
-
58
- assign_display_style_for_group("example_group passed", passed_filter);
59
- assign_display_style_for_group("example_group not_implemented", pending_filter, pending_filter || passed_filter);
60
- assign_display_style_for_group("example_group failed", failed_filter, failed_filter || pending_filter || passed_filter);
61
- }
62
-
63
- function get_display_style(display_flag) {
64
- var style_mode = 'none';
65
- if (display_flag == true) {
66
- style_mode = 'block';
67
- }
68
- return style_mode;
69
- }
70
-
71
- function assign_display_style(classname, display_flag) {
72
- var style_mode = get_display_style(display_flag);
73
- var elems = document.getElementsByClassName(classname)
74
- for (var i=0; i<elems.length;i++) {
75
- elems[i].style.display = style_mode;
76
- }
77
- }
78
-
79
- function assign_display_style_for_group(classname, display_flag, subgroup_flag) {
80
- var display_style_mode = get_display_style(display_flag);
81
- var subgroup_style_mode = get_display_style(subgroup_flag);
82
- var elems = document.getElementsByClassName(classname)
83
- for (var i=0; i<elems.length;i++) {
84
- var style_mode = display_style_mode;
85
- if ((display_flag != subgroup_flag) && (elems[i].getElementsByTagName('dt')[0].innerHTML.indexOf(", ") != -1)) {
86
- elems[i].style.display = subgroup_style_mode;
87
- } else {
88
- elems[i].style.display = display_style_mode;
89
- }
90
- }
91
- }
92
-
93
- // ]]>
94
- </script>
95
- <style type="text/css">
96
- #rspec-header {
97
- background: #65C400; color: #fff; height: 4em;
98
- }
99
-
100
- .rspec-report h1 {
101
- margin: 0px 10px 0px 10px;
102
- padding: 10px;
103
- font-family: "Lucida Grande", Helvetica, sans-serif;
104
- font-size: 1.8em;
105
- position: absolute;
106
- }
107
-
108
- #label {
109
- float:left;
110
- }
111
-
112
- #display-filters {
113
- float:left;
114
- padding: 28px 0 0 40%;
115
- font-family: "Lucida Grande", Helvetica, sans-serif;
116
- }
117
-
118
- #summary {
119
- float:right;
120
- padding: 5px 10px;
121
- font-family: "Lucida Grande", Helvetica, sans-serif;
122
- text-align: right;
123
- }
124
-
125
- #summary p {
126
- margin: 0 0 0 2px;
127
- }
128
-
129
- #summary #totals {
130
- font-size: 1.2em;
131
- }
132
-
133
- .example_group {
134
- margin: 0 10px 5px;
135
- background: #fff;
136
- }
137
-
138
- dl {
139
- margin: 0; padding: 0 0 5px;
140
- font: normal 11px "Lucida Grande", Helvetica, sans-serif;
141
- }
142
-
143
- dt {
144
- padding: 3px;
145
- background: #65C400;
146
- color: #fff;
147
- font-weight: bold;
148
- }
149
-
150
- dd {
151
- margin: 5px 0 5px 5px;
152
- padding: 3px 3px 3px 18px;
153
- }
154
-
155
- dd .duration {
156
- padding-left: 5px;
157
- text-align: right;
158
- right: 0px;
159
- float:right;
160
- }
161
-
162
- dd.example.passed {
163
- border-left: 5px solid #65C400;
164
- border-bottom: 1px solid #65C400;
165
- background: #DBFFB4; color: #3D7700;
166
- }
167
-
168
- dd.example.not_implemented {
169
- border-left: 5px solid #FAF834;
170
- border-bottom: 1px solid #FAF834;
171
- background: #FCFB98; color: #131313;
172
- }
173
-
174
- dd.example.pending_fixed {
175
- border-left: 5px solid #0000C2;
176
- border-bottom: 1px solid #0000C2;
177
- color: #0000C2; background: #D3FBFF;
178
- }
179
-
180
- dd.example.failed {
181
- border-left: 5px solid #C20000;
182
- border-bottom: 1px solid #C20000;
183
- color: #C20000; background: #FFFBD3;
184
- }
185
-
186
-
187
- dt.not_implemented {
188
- color: #000000; background: #FAF834;
189
- }
190
-
191
- dt.pending_fixed {
192
- color: #FFFFFF; background: #C40D0D;
193
- }
194
-
195
- dt.failed {
196
- color: #FFFFFF; background: #C40D0D;
197
- }
198
-
199
-
200
- #rspec-header.not_implemented {
201
- color: #000000; background: #FAF834;
202
- }
203
-
204
- #rspec-header.pending_fixed {
205
- color: #FFFFFF; background: #C40D0D;
206
- }
207
-
208
- #rspec-header.failed {
209
- color: #FFFFFF; background: #C40D0D;
210
- }
211
-
212
-
213
- .backtrace {
214
- color: #000;
215
- font-size: 12px;
216
- }
217
-
218
- a {
219
- color: #BE5C00;
220
- }
221
-
222
- /* Ruby code, style similar to vibrant ink */
223
- .ruby {
224
- font-size: 12px;
225
- font-family: monospace;
226
- color: white;
227
- background-color: black;
228
- padding: 0.1em 0 0.2em 0;
229
- }
230
-
231
- .ruby .keyword { color: #FF6600; }
232
- .ruby .constant { color: #339999; }
233
- .ruby .attribute { color: white; }
234
- .ruby .global { color: white; }
235
- .ruby .module { color: white; }
236
- .ruby .class { color: white; }
237
- .ruby .string { color: #66FF00; }
238
- .ruby .ident { color: white; }
239
- .ruby .method { color: #FFCC00; }
240
- .ruby .number { color: white; }
241
- .ruby .char { color: white; }
242
- .ruby .comment { color: #9933CC; }
243
- .ruby .symbol { color: white; }
244
- .ruby .regex { color: #44B4CC; }
245
- .ruby .punct { color: white; }
246
- .ruby .escape { color: white; }
247
- .ruby .interp { color: white; }
248
- .ruby .expr { color: white; }
249
-
250
- .ruby .offending { background-color: gray; }
251
- .ruby .linenum {
252
- width: 75px;
253
- padding: 0.1em 1em 0.2em 0;
254
- color: #000000;
255
- background-color: #FFFBD3;
256
- }
257
-
258
- </style>
259
- </head>
260
- <body>
261
- <div class="rspec-report">
262
-
263
- <div id="rspec-header">
264
- <div id="label">
265
- <h1>RSpec Code Examples</h1>
266
- </div>
267
-
268
- <div id="display-filters">
269
- <input id="passed_checkbox" name="passed_checkbox" type="checkbox" checked="checked" onchange="apply_filters()" value="1" /> <label for="passed_checkbox">Passed</label>
270
- <input id="failed_checkbox" name="failed_checkbox" type="checkbox" checked="checked" onchange="apply_filters()" value="2" /> <label for="failed_checkbox">Failed</label>
271
- <input id="pending_checkbox" name="pending_checkbox" type="checkbox" checked="checked" onchange="apply_filters()" value="3" /> <label for="pending_checkbox">Pending</label>
272
- </div>
273
-
274
- <div id="summary">
275
- <p id="totals">&#160;</p>
276
- <p id="duration">&#160;</p>
277
- </div>
278
- </div>
279
-
280
-
281
- <div class="results">
282
- <div id="div_group_1" class="example_group passed">
283
- <dl style="margin-left: 0px;">
284
- <dt id="example_group_1" class="passed">I18n::Backend::Weeler::Exporter</dt>
285
- </dl>
286
- </div>
287
- <div id="div_group_2" class="example_group passed">
288
- <dl style="margin-left: 15px;">
289
- <dt id="example_group_2" class="passed">as_xlsx_package</dt>
290
- </dl>
291
- </div>
292
- <div id="div_group_3" class="example_group passed">
293
- <dl style="margin-left: 30px;">
294
- <dt id="example_group_3" class="passed">all translations</dt>
295
- <script type="text/javascript">moveProgressBar('1.2');</script>
296
- <dd class="example passed"><span class="passed_spec_name">other row with two translation</span><span class='duration'>0.07887s</span></dd>
297
- <script type="text/javascript">moveProgressBar('2.4');</script>
298
- <dd class="example passed"><span class="passed_spec_name">should have 3 rows</span><span class='duration'>0.00621s</span></dd>
299
- <script type="text/javascript">moveProgressBar('3.6');</script>
300
- <dd class="example passed"><span class="passed_spec_name">other row with one translation</span><span class='duration'>0.00581s</span></dd>
301
- <script type="text/javascript">moveProgressBar('4.8');</script>
302
- <dd class="example passed"><span class="passed_spec_name">first row should be title</span><span class='duration'>0.00574s</span></dd>
303
- </dl>
304
- </div>
305
- <div id="div_group_4" class="example_group passed">
306
- <dl style="margin-left: 30px;">
307
- <dt id="example_group_4" class="passed">selected translations</dt>
308
- <script type="text/javascript">moveProgressBar('6.0');</script>
309
- <dd class="example passed"><span class="passed_spec_name">other row with one translation</span><span class='duration'>0.00763s</span></dd>
310
- <script type="text/javascript">moveProgressBar('7.2');</script>
311
- <dd class="example passed"><span class="passed_spec_name">should have 2 rows</span><span class='duration'>0.00779s</span></dd>
312
- <script type="text/javascript">moveProgressBar('8.4');</script>
313
- <dd class="example passed"><span class="passed_spec_name">first row should be title</span><span class='duration'>0.00608s</span></dd>
314
- </dl>
315
- </div>
316
- <div id="div_group_5" class="example_group passed">
317
- <dl style="margin-left: 0px;">
318
- <dt id="example_group_5" class="passed">Weeler::TranslationsController</dt>
319
- </dl>
320
- </div>
321
- <div id="div_group_6" class="example_group passed">
322
- <dl style="margin-left: 15px;">
323
- <dt id="example_group_6" class="passed">POST #import</dt>
324
- </dl>
325
- </div>
326
- <div id="div_group_7" class="example_group passed">
327
- <dl style="margin-left: 30px;">
328
- <dt id="example_group_7" class="passed">submiting a file</dt>
329
- <script type="text/javascript">moveProgressBar('9.6');</script>
330
- <dd class="example passed"><span class="passed_spec_name">adds translation from files</span><span class='duration'>0.36659s</span></dd>
331
- </dl>
332
- </div>
333
- <div id="div_group_8" class="example_group passed">
334
- <dl style="margin-left: 30px;">
335
- <dt id="example_group_8" class="passed">no file</dt>
336
- <script type="text/javascript">moveProgressBar('10.8');</script>
337
- <dd class="example passed"><span class="passed_spec_name">redirects back</span><span class='duration'>0.04332s</span></dd>
338
- </dl>
339
- </div>
340
- <div id="div_group_9" class="example_group passed">
341
- <dl style="margin-left: 15px;">
342
- <dt id="example_group_9" class="passed">GET #new</dt>
343
- <script type="text/javascript">moveProgressBar('12.0');</script>
344
- <dd class="example passed"><span class="passed_spec_name">retern new translation form</span><span class='duration'>0.05938s</span></dd>
345
- </dl>
346
- </div>
347
- <div id="div_group_10" class="example_group passed">
348
- <dl style="margin-left: 15px;">
349
- <dt id="example_group_10" class="passed">#create</dt>
350
- <script type="text/javascript">moveProgressBar('13.2');</script>
351
- <dd class="example passed"><span class="passed_spec_name">creates translation in DB</span><span class='duration'>0.08486s</span></dd>
352
- <script type="text/javascript">moveProgressBar('14.4');</script>
353
- <dd class="example passed"><span class="passed_spec_name">doesnt create a duplicate key</span><span class='duration'>0.17436s</span></dd>
354
- </dl>
355
- </div>
356
- <div id="div_group_11" class="example_group passed">
357
- <dl style="margin-left: 15px;">
358
- <dt id="example_group_11" class="passed">GET #export</dt>
359
- <script type="text/javascript">moveProgressBar('15.6');</script>
360
- <dd class="example passed"><span class="passed_spec_name">retursns translation file</span><span class='duration'>0.05055s</span></dd>
361
- </dl>
362
- </div>
363
- <div id="div_group_12" class="example_group passed">
364
- <dl style="margin-left: 15px;">
365
- <dt id="example_group_12" class="passed">GET #edit</dt>
366
- <script type="text/javascript">moveProgressBar('16.8');</script>
367
- <dd class="example passed"><span class="passed_spec_name">retern edit translation form</span><span class='duration'>0.04457s</span></dd>
368
- </dl>
369
- </div>
370
- <div id="div_group_13" class="example_group passed">
371
- <dl style="margin-left: 15px;">
372
- <dt id="example_group_13" class="passed">GET #index</dt>
373
- <script type="text/javascript">moveProgressBar('18.0');</script>
374
- <dd class="example passed"><span class="passed_spec_name">list translations</span><span class='duration'>0.06114s</span></dd>
375
- </dl>
376
- </div>
377
- <div id="div_group_14" class="example_group passed">
378
- <dl style="margin-left: 15px;">
379
- <dt id="example_group_14" class="passed">PUT #update</dt>
380
- <script type="text/javascript">moveProgressBar('19.2');</script>
381
- <dd class="example passed"><span class="passed_spec_name">update translation in DB</span><span class='duration'>0.06285s</span></dd>
382
- <script type="text/javascript">moveProgressBar('20.4');</script>
383
- <dd class="example passed"><span class="passed_spec_name">dont updates if key is empty</span><span class='duration'>0.12468s</span></dd>
384
- </dl>
385
- </div>
386
- <div id="div_group_15" class="example_group passed">
387
- <dl style="margin-left: 15px;">
388
- <dt id="example_group_15" class="passed">DELETE #destroy</dt>
389
- <script type="text/javascript">moveProgressBar('21.6');</script>
390
- <dd class="example passed"><span class="passed_spec_name">destroys translation</span><span class='duration'>0.06130s</span></dd>
391
- </dl>
392
- </div>
393
- <div id="div_group_16" class="example_group passed">
394
- <dl style="margin-left: 0px;">
395
- <dt id="example_group_16" class="passed">Weeler::ActionController::Acts::Restful</dt>
396
- </dl>
397
- </div>
398
- <div id="div_group_17" class="example_group passed">
399
- <dl style="margin-left: 15px;">
400
- <dt id="example_group_17" class="passed">acts_as_restful</dt>
401
- </dl>
402
- </div>
403
- <div id="div_group_18" class="example_group passed">
404
- <dl style="margin-left: 30px;">
405
- <dt id="example_group_18" class="passed">permited all with block</dt>
406
- </dl>
407
- </div>
408
- <div id="div_group_19" class="example_group passed">
409
- <dl style="margin-left: 45px;">
410
- <dt id="example_group_19" class="passed">GET #index</dt>
411
- <script type="text/javascript">moveProgressBar('22.8');</script>
412
- <dd class="example passed"><span class="passed_spec_name">users order by for ordering</span><span class='duration'>0.06440s</span></dd>
413
- </dl>
414
- </div>
415
- <div id="div_group_20" class="example_group passed">
416
- <dl style="margin-left: 30px;">
417
- <dt id="example_group_20" class="passed">permited title with array</dt>
418
- </dl>
419
- </div>
420
- <div id="div_group_21" class="example_group passed">
421
- <dl style="margin-left: 45px;">
422
- <dt id="example_group_21" class="passed">model</dt>
423
- <script type="text/javascript">moveProgressBar('24.0');</script>
424
- <dd class="example passed"><span class="passed_spec_name">returns current controller model</span><span class='duration'>0.04312s</span></dd>
425
- </dl>
426
- </div>
427
- <div id="div_group_22" class="example_group passed">
428
- <dl style="margin-left: 45px;">
429
- <dt id="example_group_22" class="passed">actions</dt>
430
- <script type="text/javascript">moveProgressBar('25.3');</script>
431
- <dd class="example passed"><span class="passed_spec_name">POST #order</span><span class='duration'>0.05351s</span></dd>
432
- </dl>
433
- </div>
434
- <div id="div_group_23" class="example_group passed">
435
- <dl style="margin-left: 60px;">
436
- <dt id="example_group_23" class="passed">POST #create</dt>
437
- <script type="text/javascript">moveProgressBar('26.5');</script>
438
- <dd class="example passed"><span class="passed_spec_name">redirects to edit path</span><span class='duration'>0.05178s</span></dd>
439
- <script type="text/javascript">moveProgressBar('27.7');</script>
440
- <dd class="example passed"><span class="passed_spec_name">sets only permited params</span><span class='duration'>0.05649s</span></dd>
441
- </dl>
442
- </div>
443
- <div id="div_group_24" class="example_group passed">
444
- <dl style="margin-left: 60px;">
445
- <dt id="example_group_24" class="passed">PUT #update</dt>
446
- <script type="text/javascript">moveProgressBar('28.9');</script>
447
- <dd class="example passed"><span class="passed_spec_name">sets only permited params</span><span class='duration'>0.05057s</span></dd>
448
- </dl>
449
- </div>
450
- <div id="div_group_25" class="example_group passed">
451
- <dl style="margin-left: 60px;">
452
- <dt id="example_group_25" class="passed">GET #new</dt>
453
- <script type="text/javascript">moveProgressBar('30.1');</script>
454
- <dd class="example passed"><span class="passed_spec_name">returns success status</span><span class='duration'>0.07341s</span></dd>
455
- </dl>
456
- </div>
457
- <div id="div_group_26" class="example_group passed">
458
- <dl style="margin-left: 60px;">
459
- <dt id="example_group_26" class="passed">GET #index</dt>
460
- <script type="text/javascript">moveProgressBar('31.3');</script>
461
- <dd class="example passed"><span class="passed_spec_name">index returns success</span><span class='duration'>0.05013s</span></dd>
462
- <script type="text/javascript">moveProgressBar('32.5');</script>
463
- <dd class="example passed"><span class="passed_spec_name">assigns posts</span><span class='duration'>0.04941s</span></dd>
464
- </dl>
465
- </div>
466
- <div id="div_group_27" class="example_group passed">
467
- <dl style="margin-left: 60px;">
468
- <dt id="example_group_27" class="passed">GET #edit</dt>
469
- <script type="text/javascript">moveProgressBar('33.7');</script>
470
- <dd class="example passed"><span class="passed_spec_name">returns success status</span><span class='duration'>0.06116s</span></dd>
471
- </dl>
472
- </div>
473
- <div id="div_group_28" class="example_group passed">
474
- <dl style="margin-left: 60px;">
475
- <dt id="example_group_28" class="passed">DELETE #destroy</dt>
476
- <script type="text/javascript">moveProgressBar('34.9');</script>
477
- <dd class="example passed"><span class="passed_spec_name">destroys item</span><span class='duration'>0.05277s</span></dd>
478
- </dl>
479
- </div>
480
- <div id="div_group_29" class="example_group passed">
481
- <dl style="margin-left: 30px;">
482
- <dt id="example_group_29" class="passed">permited all with block</dt>
483
- </dl>
484
- </div>
485
- <div id="div_group_30" class="example_group passed">
486
- <dl style="margin-left: 45px;">
487
- <dt id="example_group_30" class="passed">actions</dt>
488
- </dl>
489
- </div>
490
- <div id="div_group_31" class="example_group passed">
491
- <dl style="margin-left: 60px;">
492
- <dt id="example_group_31" class="passed">POST #create</dt>
493
- <script type="text/javascript">moveProgressBar('36.1');</script>
494
- <dd class="example passed"><span class="passed_spec_name">sets only permited params</span><span class='duration'>0.05593s</span></dd>
495
- </dl>
496
- </div>
497
- <div id="div_group_32" class="example_group passed">
498
- <dl style="margin-left: 30px;">
499
- <dt id="example_group_32" class="passed">no permited params</dt>
500
- </dl>
501
- </div>
502
- <div id="div_group_33" class="example_group passed">
503
- <dl style="margin-left: 45px;">
504
- <dt id="example_group_33" class="passed">actions</dt>
505
- </dl>
506
- </div>
507
- <div id="div_group_34" class="example_group passed">
508
- <dl style="margin-left: 60px;">
509
- <dt id="example_group_34" class="passed">POST #create</dt>
510
- <script type="text/javascript">moveProgressBar('37.3');</script>
511
- <dd class="example passed"><span class="passed_spec_name">sets only permited params</span><span class='duration'>0.05463s</span></dd>
512
- <script type="text/javascript">moveProgressBar('38.5');</script>
513
- <dd class="example passed"><span class="passed_spec_name">warns developer</span><span class='duration'>0.05039s</span></dd>
514
- </dl>
515
- </div>
516
- <div id="div_group_35" class="example_group passed">
517
- <dl style="margin-left: 0px;">
518
- <dt id="example_group_35" class="passed">#&lt;ActionDispatch::Routing::RouteSet:0x007fd9e5073430&gt;</dt>
519
- </dl>
520
- </div>
521
- <div id="div_group_36" class="example_group passed">
522
- <dl style="margin-left: 15px;">
523
- <dt id="example_group_36" class="passed">#weeler_resources</dt>
524
- <script type="text/javascript">moveProgressBar('39.7');</script>
525
- <dd class="example passed"><span class="passed_spec_name">mounts resource destroy route</span><span class='duration'>0.04838s</span></dd>
526
- <script type="text/javascript">moveProgressBar('40.9');</script>
527
- <dd class="example passed"><span class="passed_spec_name">mounts resource create route</span><span class='duration'>0.04047s</span></dd>
528
- <script type="text/javascript">moveProgressBar('42.1');</script>
529
- <dd class="example passed"><span class="passed_spec_name">mounts resource edit route</span><span class='duration'>0.04458s</span></dd>
530
- <script type="text/javascript">moveProgressBar('43.3');</script>
531
- <dd class="example passed"><span class="passed_spec_name">mounts resource show route</span><span class='duration'>0.04252s</span></dd>
532
- <script type="text/javascript">moveProgressBar('44.5');</script>
533
- <dd class="example passed"><span class="passed_spec_name">mounts resources index route</span><span class='duration'>0.04348s</span></dd>
534
- <script type="text/javascript">moveProgressBar('45.7');</script>
535
- <dd class="example passed"><span class="passed_spec_name">mounts resource new route</span><span class='duration'>0.04880s</span></dd>
536
- <script type="text/javascript">moveProgressBar('46.9');</script>
537
- <dd class="example passed"><span class="passed_spec_name">mounts resource update route</span><span class='duration'>0.03990s</span></dd>
538
- </dl>
539
- </div>
540
- <div id="div_group_37" class="example_group passed">
541
- <dl style="margin-left: 30px;">
542
- <dt id="example_group_37" class="passed">when destroy route is skiped within with only: option</dt>
543
- <script type="text/javascript">moveProgressBar('48.1');</script>
544
- <dd class="example passed"><span class="passed_spec_name">does not mount destroy confirm route</span><span class='duration'>0.06545s</span></dd>
545
- </dl>
546
- </div>
547
- <div id="div_group_38" class="example_group passed">
548
- <dl style="margin-left: 30px;">
549
- <dt id="example_group_38" class="passed">when custom block given</dt>
550
- <script type="text/javascript">moveProgressBar('49.3');</script>
551
- <dd class="example passed"><span class="passed_spec_name">calls it within resources method</span><span class='duration'>0.06077s</span></dd>
552
- </dl>
553
- </div>
554
- <div id="div_group_39" class="example_group passed">
555
- <dl style="margin-left: 15px;">
556
- <dt id="example_group_39" class="passed">#mount Weeler::Engine</dt>
557
- <script type="text/javascript">moveProgressBar('50.6');</script>
558
- <dd class="example passed"><span class="passed_spec_name">/weeler returns home</span><span class='duration'>0.03856s</span></dd>
559
- </dl>
560
- </div>
561
- <div id="div_group_40" class="example_group passed">
562
- <dl style="margin-left: 15px;">
563
- <dt id="example_group_40" class="passed">#add_menu_item</dt>
564
- <script type="text/javascript">moveProgressBar('51.8');</script>
565
- <dd class="example passed"><span class="passed_spec_name">adds resource to weeler menu item</span><span class='duration'>0.03303s</span></dd>
566
- </dl>
567
- </div>
568
- <div id="div_group_41" class="example_group passed">
569
- <dl style="margin-left: 0px;">
570
- <dt id="example_group_41" class="passed">I18n::HumanizeMissingTranslations</dt>
571
- </dl>
572
- </div>
573
- <div id="div_group_42" class="example_group passed">
574
- <dl style="margin-left: 15px;">
575
- <dt id="example_group_42" class="passed">.call</dt>
576
- </dl>
577
- </div>
578
- <div id="div_group_43" class="example_group passed">
579
- <dl style="margin-left: 30px;">
580
- <dt id="example_group_43" class="passed">when exception is I18n::MissingTranslation</dt>
581
- <script type="text/javascript">moveProgressBar('53.0');</script>
582
- <dd class="example passed"><span class="passed_spec_name">humanizes missing translations</span><span class='duration'>0.01760s</span></dd>
583
- </dl>
584
- </div>
585
- <div id="div_group_44" class="example_group passed">
586
- <dl style="margin-left: 30px;">
587
- <dt id="example_group_44" class="passed">when exception is not I18n::MissingTranslation</dt>
588
- <script type="text/javascript">moveProgressBar('54.2');</script>
589
- <dd class="example passed"><span class="passed_spec_name">does not intercept it</span><span class='duration'>0.02617s</span></dd>
590
- </dl>
591
- </div>
592
- <div id="div_group_45" class="example_group passed">
593
- <dl style="margin-left: 0px;">
594
- <dt id="example_group_45" class="passed">Weeler::ActionView::Helpers::FormHelper</dt>
595
- <script type="text/javascript">moveProgressBar('55.4');</script>
596
- <dd class="example passed"><span class="passed_spec_name">creates img preview tag</span><span class='duration'>0.02510s</span></dd>
597
- <script type="text/javascript">moveProgressBar('56.6');</script>
598
- <dd class="example passed"><span class="passed_spec_name">create file field</span><span class='duration'>0.01413s</span></dd>
599
- <script type="text/javascript">moveProgressBar('57.8');</script>
600
- <dd class="example passed"><span class="passed_spec_name">creates a label</span><span class='duration'>0.01307s</span></dd>
601
- </dl>
602
- </div>
603
- <div id="div_group_46" class="example_group passed">
604
- <dl style="margin-left: 0px;">
605
- <dt id="example_group_46" class="passed">I18n::Backend::Weeler::Importer</dt>
606
- </dl>
607
- </div>
608
- <div id="div_group_47" class="example_group passed">
609
- <dl style="margin-left: 15px;">
610
- <dt id="example_group_47" class="passed">import</dt>
611
- </dl>
612
- </div>
613
- <div id="div_group_48" class="example_group passed">
614
- <dl style="margin-left: 30px;">
615
- <dt id="example_group_48" class="passed">empty db</dt>
616
- <script type="text/javascript">moveProgressBar('59.0');</script>
617
- <dd class="example passed"><span class="passed_spec_name">returns nil if value is not file</span><span class='duration'>0.20385s</span></dd>
618
- <script type="text/javascript">moveProgressBar('60.2');</script>
619
- <dd class="example passed"><span class="passed_spec_name">translation stores all translation in each locale</span><span class='duration'>0.21122s</span></dd>
620
- <script type="text/javascript">moveProgressBar('61.4');</script>
621
- <dd class="example passed"><span class="passed_spec_name">returns value if value is in file</span><span class='duration'>0.23474s</span></dd>
622
- </dl>
623
- </div>
624
- <div id="div_group_49" class="example_group passed">
625
- <dl style="margin-left: 30px;">
626
- <dt id="example_group_49" class="passed">full db</dt>
627
- <script type="text/javascript">moveProgressBar('62.6');</script>
628
- <dd class="example passed"><span class="passed_spec_name">file import overrides value</span><span class='duration'>0.25205s</span></dd>
629
- </dl>
630
- </div>
631
- <div id="div_group_50" class="example_group passed">
632
- <dl style="margin-left: 0px;">
633
- <dt id="example_group_50" class="passed">Weeler::ActionView::Helpers::TranslationHelper</dt>
634
- <script type="text/javascript">moveProgressBar('63.8');</script>
635
- <dd class="example passed"><span class="passed_spec_name">dont renders key</span><span class='duration'>0.01624s</span></dd>
636
- </dl>
637
- </div>
638
- <div id="div_group_51" class="example_group passed">
639
- <dl style="margin-left: 0px;">
640
- <dt id="example_group_51" class="passed">I18n::Backend::Weeler</dt>
641
- </dl>
642
- </div>
643
- <div id="div_group_52" class="example_group passed">
644
- <dl style="margin-left: 15px;">
645
- <dt id="example_group_52" class="passed">#store_translations</dt>
646
- <script type="text/javascript">moveProgressBar('65.0');</script>
647
- <dd class="example passed"><span class="passed_spec_name">can store translations with keys that are translations containing special chars</span><span class='duration'>0.01758s</span></dd>
648
- <script type="text/javascript">moveProgressBar('66.2');</script>
649
- <dd class="example passed"><span class="passed_spec_name">store_translations does not allow ambiguous keys (1)</span><span class='duration'>0.03392s</span></dd>
650
- <script type="text/javascript">moveProgressBar('67.4');</script>
651
- <dd class="example passed"><span class="passed_spec_name">store_translations does not allow ambiguous keys (2)</span><span class='duration'>0.03034s</span></dd>
652
- </dl>
653
- </div>
654
- <div id="div_group_53" class="example_group passed">
655
- <dl style="margin-left: 15px;">
656
- <dt id="example_group_53" class="passed">groups</dt>
657
- <script type="text/javascript">moveProgressBar('68.6');</script>
658
- <dd class="example passed"><span class="passed_spec_name">returns 2 groups</span><span class='duration'>0.00869s</span></dd>
659
- <script type="text/javascript">moveProgressBar('69.8');</script>
660
- <dd class="example passed"><span class="passed_spec_name">returns ordered list</span><span class='duration'>0.00789s</span></dd>
661
- </dl>
662
- </div>
663
- <div id="div_group_54" class="example_group passed">
664
- <dl style="margin-left: 15px;">
665
- <dt id="example_group_54" class="passed">#reload_cache</dt>
666
- <script type="text/javascript">moveProgressBar('71.0');</script>
667
- <dd class="example passed"><span class="passed_spec_name">loads all translated data to cache</span><span class='duration'>0.02609s</span></dd>
668
- <script type="text/javascript">moveProgressBar('72.2');</script>
669
- <dd class="example passed"><span class="passed_spec_name">clears translations cache</span><span class='duration'>0.00846s</span></dd>
670
- <script type="text/javascript">moveProgressBar('73.4');</script>
671
- <dd class="example passed"><span class="passed_spec_name">writes last translations update timestamp to cache</span><span class='duration'>0.01427s</span></dd>
672
- </dl>
673
- </div>
674
- <div id="div_group_55" class="example_group passed">
675
- <dl style="margin-left: 15px;">
676
- <dt id="example_group_55" class="passed">#value</dt>
677
- <script type="text/javascript">moveProgressBar('74.6');</script>
678
- <dd class="example passed"><span class="passed_spec_name">returns boolean if translation boolean</span><span class='duration'>0.02133s</span></dd>
679
- <script type="text/javascript">moveProgressBar('75.9');</script>
680
- <dd class="example passed"><span class="passed_spec_name">runs kernel if translation is_proc</span><span class='duration'>0.01404s</span></dd>
681
- </dl>
682
- </div>
683
- <div id="div_group_56" class="example_group passed">
684
- <dl style="margin-left: 15px;">
685
- <dt id="example_group_56" class="passed">#lookup</dt>
686
- <script type="text/javascript">moveProgressBar('77.1');</script>
687
- <dd class="example passed"><span class="passed_spec_name">show warning</span><span class='duration'>0.00731s</span></dd>
688
- <script type="text/javascript">moveProgressBar('78.3');</script>
689
- <dd class="example passed"><span class="passed_spec_name">returns translation</span><span class='duration'>0.01563s</span></dd>
690
- </dl>
691
- </div>
692
- <div id="div_group_57" class="example_group passed">
693
- <dl style="margin-left: 30px;">
694
- <dt id="example_group_57" class="passed">cache</dt>
695
- </dl>
696
- </div>
697
- <div id="div_group_58" class="example_group passed">
698
- <dl style="margin-left: 45px;">
699
- <dt id="example_group_58" class="passed">differs from settings timestamp</dt>
700
- <script type="text/javascript">moveProgressBar('79.5');</script>
701
- <dd class="example passed"><span class="passed_spec_name">reloads cache</span><span class='duration'>0.02136s</span></dd>
702
- </dl>
703
- </div>
704
- <div id="div_group_59" class="example_group passed">
705
- <dl style="margin-left: 45px;">
706
- <dt id="example_group_59" class="passed">is same as updates timestamp</dt>
707
- <script type="text/javascript">moveProgressBar('80.7');</script>
708
- <dd class="example passed"><span class="passed_spec_name">does not reload cache</span><span class='duration'>0.01490s</span></dd>
709
- </dl>
710
- </div>
711
- <div id="div_group_60" class="example_group passed">
712
- <dl style="margin-left: 30px;">
713
- <dt id="example_group_60" class="passed">missing translations</dt>
714
- <script type="text/javascript">moveProgressBar('81.9');</script>
715
- <dd class="example passed"><span class="passed_spec_name">creates a stub per pluralization when a custom separator is used</span><span class='duration'>0.03016s</span></dd>
716
- <script type="text/javascript">moveProgressBar('83.1');</script>
717
- <dd class="example passed"><span class="passed_spec_name">creates one stub per pluralization</span><span class='duration'>0.02424s</span></dd>
718
- <script type="text/javascript">moveProgressBar('84.3');</script>
719
- <dd class="example passed"><span class="passed_spec_name">lookup does not persist the key twice</span><span class='duration'>0.02052s</span></dd>
720
- <script type="text/javascript">moveProgressBar('85.5');</script>
721
- <dd class="example passed"><span class="passed_spec_name">creates a stub when a custom separator is used and the key contains the flatten separator (a dot character)</span><span class='duration'>0.02182s</span></dd>
722
- <script type="text/javascript">moveProgressBar('86.7');</script>
723
- <dd class="example passed"><span class="passed_spec_name">creates no stub for base key in pluralization</span><span class='duration'>0.03195s</span></dd>
724
- <script type="text/javascript">moveProgressBar('87.9');</script>
725
- <dd class="example passed"><span class="passed_spec_name">persists the key</span><span class='duration'>0.02231s</span></dd>
726
- <script type="text/javascript">moveProgressBar('89.1');</script>
727
- <dd class="example passed"><span class="passed_spec_name">lookup persists interpolation keys when looked up directly</span><span class='duration'>0.01723s</span></dd>
728
- <script type="text/javascript">moveProgressBar('90.3');</script>
729
- <dd class="example passed"><span class="passed_spec_name">creates a stub when a custom separator is used</span><span class='duration'>0.02281s</span></dd>
730
- </dl>
731
- </div>
732
- <div id="div_group_61" class="example_group passed">
733
- <dl style="margin-left: 45px;">
734
- <dt id="example_group_61" class="passed">exist in yml</dt>
735
- </dl>
736
- </div>
737
- <div id="div_group_62" class="example_group passed">
738
- <dl style="margin-left: 60px;">
739
- <dt id="example_group_62" class="passed">new translation</dt>
740
- <script type="text/javascript">moveProgressBar('91.5');</script>
741
- <dd class="example passed"><span class="passed_spec_name">persist it</span><span class='duration'>0.02194s</span></dd>
742
- </dl>
743
- </div>
744
- <div id="div_group_63" class="example_group passed">
745
- <dl style="margin-left: 60px;">
746
- <dt id="example_group_63" class="passed">already stored</dt>
747
- <script type="text/javascript">moveProgressBar('92.7');</script>
748
- <dd class="example passed"><span class="passed_spec_name">saves the fallback backend value</span><span class='duration'>0.01834s</span></dd>
749
- </dl>
750
- </div>
751
- <div id="div_group_64" class="example_group passed">
752
- <dl style="margin-left: 15px;">
753
- <dt id="example_group_64" class="passed">#html?</dt>
754
- <script type="text/javascript">moveProgressBar('93.9');</script>
755
- <dd class="example passed"><span class="passed_spec_name">is false if value not contains html</span><span class='duration'>0.01682s</span></dd>
756
- <script type="text/javascript">moveProgressBar('95.1');</script>
757
- <dd class="example passed"><span class="passed_spec_name">is true if key is html</span><span class='duration'>0.00709s</span></dd>
758
- <script type="text/javascript">moveProgressBar('96.3');</script>
759
- <dd class="example passed"><span class="passed_spec_name">is true if value contains html</span><span class='duration'>0.00682s</span></dd>
760
- </dl>
761
- </div>
762
- <div id="div_group_65" class="example_group passed">
763
- <dl style="margin-left: 15px;">
764
- <dt id="example_group_65" class="passed">#interpolations</dt>
765
- <script type="text/javascript">moveProgressBar('97.5');</script>
766
- <dd class="example passed"><span class="passed_spec_name">can persist</span><span class='duration'>0.01811s</span></dd>
767
- </dl>
768
- </div>
769
- <div id="div_group_66" class="example_group passed">
770
- <dl style="margin-left: 15px;">
771
- <dt id="example_group_66" class="passed">#available_locales</dt>
772
- <script type="text/javascript">moveProgressBar('98.7');</script>
773
- <dd class="example passed"><span class="passed_spec_name">finds one locale</span><span class='duration'>0.00823s</span></dd>
774
- </dl>
775
- </div>
776
- <div id="div_group_67" class="example_group passed">
777
- <dl style="margin-left: 0px;">
778
- <dt id="example_group_67" class="passed">I18n::Backend::Weeler::Dedupe</dt>
779
- </dl>
780
- </div>
781
- <div id="div_group_68" class="example_group passed">
782
- <dl style="margin-left: 15px;">
783
- <dt id="example_group_68" class="passed">#dedupe</dt>
784
- </dl>
785
- </div>
786
- <div id="div_group_69" class="example_group passed">
787
- <dl style="margin-left: 30px;">
788
- <dt id="example_group_69" class="passed">empty db</dt>
789
- <script type="text/javascript">moveProgressBar('100.0');</script>
790
- <dd class="example passed"><span class="passed_spec_name">translation stores all translation in each locale</span><span class='duration'>0.14833s</span></dd>
791
- </dl>
792
- </div>
793
- <script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>4.36667 seconds</strong>";</script>
794
- <script type="text/javascript">document.getElementById('totals').innerHTML = "83 examples, 0 failures";</script>
795
- </div>
796
- </div>
797
- </body>
798
- </html>