weeler 1.0.4 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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>