refinerycms-i18n 1.0.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +63 -0
- data/Rakefile +14 -29
- data/{public → app/assets}/images/refinery/icons/flags/ad.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ae.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/af.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ag.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ai.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/al.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/am.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/an.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ao.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ar.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/as.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/at.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/au.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/aw.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ax.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/az.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ba.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bb.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bd.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/be.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bf.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bg.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bh.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bi.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bj.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bm.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bn.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bo.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bs.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bt.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bv.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bw.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/by.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/bz.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ca.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/catalonia.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/cc.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/cd.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/cf.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/cg.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ch.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ci.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ck.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/cl.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/cm.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/cn.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/co.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/cr.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/cs.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/cu.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/cv.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/cx.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/cy.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/da.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/de.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/dj.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/dm.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/do.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/dz.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ec.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/eg.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/eh.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/el.png +0 -0
- data/{public/images/refinery/icons/flags/gb.png → app/assets/images/refinery/icons/flags/en.png} +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/england.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/er.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/es.png +0 -0
- data/{public/images/refinery/icons/flags/ee.png → app/assets/images/refinery/icons/flags/et.png} +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/europeanunion.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/fam.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/fi.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/fj.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/fk.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/fm.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/fo.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/fr.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ga.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gd.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ge.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gf.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gh.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gi.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gl.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gm.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gn.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gp.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gq.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gr.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gs.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gt.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gu.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gw.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/gy.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/hk.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/hm.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/hn.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/hr.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ht.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/hu.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/id.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ie.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/il.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/in.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/io.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/iq.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ir.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/is.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/it.png +0 -0
- data/{public/images/refinery/icons/flags/jp.png → app/assets/images/refinery/icons/flags/ja.png} +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/jm.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/jo.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ke.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/kg.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/kh.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ki.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/km.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/kn.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/kp.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/kr.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/kw.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ky.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/kz.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/la.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/lb.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/lc.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/li.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/lk.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/lr.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ls.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/lt.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/lu.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/lv.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ly.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ma.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mc.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/md.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/me.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mg.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mh.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mk.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ml.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mm.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mn.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mo.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mp.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mq.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mr.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ms.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mt.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mu.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mv.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mw.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mx.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/my.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/mz.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/na.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/nb.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/nc.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ne.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/nf.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ng.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ni.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/nl.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/nn.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/np.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/nr.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/nu.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/nz.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/om.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/pa.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/pe.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/pf.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/pg.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ph.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/pk.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/pl.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/pm.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/pn.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/pr.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ps.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/pt-BR.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/pt.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/pw.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/py.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/qa.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/re.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ro.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/rs.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ru.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/rw.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/sa.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/sb.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/sc.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/scotland.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/sd.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/sg.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/sh.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/si.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/sj.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/sk.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/sl.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/sm.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/sn.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/so.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/sr.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/st.png +0 -0
- data/{public/images/refinery/icons/flags/se.png → app/assets/images/refinery/icons/flags/sv.png} +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/sy.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/sz.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/tc.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/td.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/tf.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/tg.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/th.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/tj.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/tk.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/tl.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/tm.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/tn.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/to.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/tr.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/tt.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/tv.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/tw.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/tz.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ua.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ug.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/um.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/us.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/uy.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/uz.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/va.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/vc.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ve.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/vg.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/vi.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/vn.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/vu.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/wales.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/wf.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ws.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/ye.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/yt.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/za.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/zh-CN.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/zh-TW.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/zm.png +0 -0
- data/{public → app/assets}/images/refinery/icons/flags/zw.png +0 -0
- data/config/locales/bg.yml +102 -23
- data/config/locales/{jp.yml → ja.yml} +4 -1
- data/lib/gemspec.rb +5 -8
- data/lib/generators/refinery/i18n_generator.rb +10 -0
- data/lib/generators/refinery/templates/config/initializers/refinery/i18n.rb.erb +15 -0
- data/lib/refinery/i18n/configuration.rb +15 -0
- data/lib/refinery/i18n/engine.rb +80 -0
- data/lib/refinery/i18n-filter.rb +1 -3
- data/lib/refinery/i18n.rb +37 -191
- data/lib/refinerycms-i18n.rb +1 -1
- data/spec/requests/dashboard_locale_picker_spec.rb +32 -0
- data/spec/spec_helper.rb +56 -0
- data/tasks/rspec.rake +4 -0
- metadata +290 -286
- data/config/i18n-js.yml +0 -4
- data/features/dashboard.feature +0 -28
- data/i18n-js-readme.rdoc +0 -249
- data/lib/generators/refinerycms_i18n_generator.rb +0 -10
- data/lib/refinery/i18n-js/railtie.rb +0 -9
- data/lib/refinery/i18n-js/version.rb +0 -10
- data/lib/refinery/i18n-js.rb +0 -128
- data/lib/refinery/i18n-js.yml +0 -4
- data/lib/refinery/i18n.js +0 -339
- data/lib/tasks/i18n-js_tasks.rake +0 -16
- data/public/images/refinery/icons/flags/en.png +0 -0
- data/public/images/refinery/icons/flags/et.png +0 -0
- data/public/images/refinery/icons/flags/sv.png +0 -0
- data/test/i18n-test.html +0 -50
- data/test/i18n-test.js +0 -661
- data/test/i18n_js_test.rb +0 -168
- data/test/jsunittest/jsunittest.js +0 -1017
- data/test/jsunittest/unittest.css +0 -54
- data/test/resources/custom_path.yml +0 -4
- data/test/resources/default.yml +0 -4
- data/test/resources/locales.yml +0 -76
- data/test/resources/multiple_files.yml +0 -6
- data/test/resources/no_scope.yml +0 -3
- data/test/resources/simple_scope.yml +0 -4
- data/test/test_helper.rb +0 -24
data/test/i18n_js_test.rb
DELETED
@@ -1,168 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class I18nJSTest < ActiveSupport::TestCase
|
4
|
-
setup do
|
5
|
-
# Remove temporary directory if already present
|
6
|
-
FileUtils.rm_r(Rails.root) if File.exist?(Rails.root)
|
7
|
-
|
8
|
-
# Create temporary directory to test the files generation
|
9
|
-
%w( config public/javascripts ).each do |path|
|
10
|
-
FileUtils.mkdir_p Rails.root.join(path)
|
11
|
-
end
|
12
|
-
|
13
|
-
# Overwrite defaut locales path to use fixtures
|
14
|
-
I18n.load_path = [File.dirname(__FILE__) + "/resources/locales.yml"]
|
15
|
-
end
|
16
|
-
|
17
|
-
teardown do
|
18
|
-
# Remove temporary directory
|
19
|
-
FileUtils.rm_r(Rails.root)
|
20
|
-
end
|
21
|
-
|
22
|
-
test "copy configuration file" do
|
23
|
-
assert_equal false, File.file?(SimplesIdeias::I18n::CONFIG_FILE)
|
24
|
-
SimplesIdeias::I18n.setup!
|
25
|
-
assert File.file?(SimplesIdeias::I18n::CONFIG_FILE)
|
26
|
-
end
|
27
|
-
|
28
|
-
test "don't overwrite existing configuration file" do
|
29
|
-
File.open(SimplesIdeias::I18n::CONFIG_FILE, "w+") {|f| f << "ORIGINAL"}
|
30
|
-
SimplesIdeias::I18n.setup!
|
31
|
-
|
32
|
-
assert_equal "ORIGINAL", File.read(SimplesIdeias::I18n::CONFIG_FILE)
|
33
|
-
end
|
34
|
-
|
35
|
-
test "copy JavaScript library" do
|
36
|
-
path = Rails.root.join("public/javascripts/i18n.js")
|
37
|
-
|
38
|
-
assert_equal false, File.file?(path)
|
39
|
-
SimplesIdeias::I18n.setup!
|
40
|
-
assert File.file?(path)
|
41
|
-
end
|
42
|
-
|
43
|
-
test "load configuration file" do
|
44
|
-
SimplesIdeias::I18n.setup!
|
45
|
-
|
46
|
-
assert SimplesIdeias::I18n.config?
|
47
|
-
assert_kind_of HashWithIndifferentAccess, SimplesIdeias::I18n.config
|
48
|
-
assert SimplesIdeias::I18n.config.any?
|
49
|
-
end
|
50
|
-
|
51
|
-
test "export messages to default path when configuration file doesn't exist" do
|
52
|
-
SimplesIdeias::I18n.export!
|
53
|
-
assert File.file?(Rails.root.join("public/javascripts/translations.js"))
|
54
|
-
end
|
55
|
-
|
56
|
-
test "export messages using the default configuration file" do
|
57
|
-
set_config "default.yml"
|
58
|
-
SimplesIdeias::I18n.expects(:save).with(translations, "public/javascripts/translations.js")
|
59
|
-
SimplesIdeias::I18n.export!
|
60
|
-
end
|
61
|
-
|
62
|
-
test "export messages using custom output path" do
|
63
|
-
set_config "custom_path.yml"
|
64
|
-
SimplesIdeias::I18n.expects(:save).with(translations, "public/javascripts/translations/all.js")
|
65
|
-
SimplesIdeias::I18n.export!
|
66
|
-
end
|
67
|
-
|
68
|
-
test "set default scope to * when not specified" do
|
69
|
-
set_config "no_scope.yml"
|
70
|
-
SimplesIdeias::I18n.expects(:save).with(translations, "public/javascripts/no_scope.js")
|
71
|
-
SimplesIdeias::I18n.export!
|
72
|
-
end
|
73
|
-
|
74
|
-
test "export to multiple files" do
|
75
|
-
set_config "multiple_files.yml"
|
76
|
-
SimplesIdeias::I18n.export!
|
77
|
-
|
78
|
-
assert File.file?(Rails.root.join("public/javascripts/all.js"))
|
79
|
-
assert File.file?(Rails.root.join("public/javascripts/tudo.js"))
|
80
|
-
end
|
81
|
-
|
82
|
-
test "filtered translations using scope *.date.formats" do
|
83
|
-
result = SimplesIdeias::I18n.filter(translations, "*.date.formats")
|
84
|
-
assert_equal [:formats], result[:en][:date].keys
|
85
|
-
assert_equal [:formats], result[:fr][:date].keys
|
86
|
-
end
|
87
|
-
|
88
|
-
test "filtered translations using scope [*.date.formats, *.number.currency.format]" do
|
89
|
-
result = SimplesIdeias::I18n.scoped_translations(["*.date.formats", "*.number.currency.format"])
|
90
|
-
assert_equal %w[ date number ], result[:en].keys.collect(&:to_s).sort
|
91
|
-
assert_equal %w[ date number ], result[:fr].keys.collect(&:to_s).sort
|
92
|
-
end
|
93
|
-
|
94
|
-
test "filtered translations using multi-star scope" do
|
95
|
-
result = SimplesIdeias::I18n.scoped_translations("*.*.formats")
|
96
|
-
|
97
|
-
assert_equal %w[ date time ], result[:en].keys.collect(&:to_s).sort
|
98
|
-
assert_equal %w[ date time ], result[:fr].keys.collect(&:to_s).sort
|
99
|
-
|
100
|
-
assert_equal [:formats], result[:en][:date].keys
|
101
|
-
assert_equal [:formats], result[:en][:time].keys
|
102
|
-
|
103
|
-
assert_equal [:formats], result[:fr][:date].keys
|
104
|
-
assert_equal [:formats], result[:fr][:time].keys
|
105
|
-
end
|
106
|
-
|
107
|
-
test "filtered translations using alternated stars" do
|
108
|
-
result = SimplesIdeias::I18n.scoped_translations("*.admin.*.title")
|
109
|
-
|
110
|
-
assert_equal %w[ edit show ], result[:en][:admin].keys.collect(&:to_s).sort
|
111
|
-
assert_equal %w[ edit show ], result[:fr][:admin].keys.collect(&:to_s).sort
|
112
|
-
|
113
|
-
assert_equal "Show", result[:en][:admin][:show][:title]
|
114
|
-
assert_equal "Visualiser", result[:fr][:admin][:show][:title]
|
115
|
-
|
116
|
-
assert_equal "Edit", result[:en][:admin][:edit][:title]
|
117
|
-
assert_equal "Editer", result[:fr][:admin][:edit][:title]
|
118
|
-
end
|
119
|
-
|
120
|
-
test "deep merge" do
|
121
|
-
target = {:a => {:b => 1}}
|
122
|
-
result = SimplesIdeias::I18n.deep_merge(target, {:a => {:c => 2}})
|
123
|
-
|
124
|
-
assert_equal result[:a], {:b => 1, :c => 2}
|
125
|
-
end
|
126
|
-
|
127
|
-
test "deep banged merge" do
|
128
|
-
target = {:a => {:b => 1}}
|
129
|
-
SimplesIdeias::I18n.deep_merge!(target, {:a => {:c => 2}})
|
130
|
-
|
131
|
-
assert_equal target[:a], {:b => 1, :c => 2}
|
132
|
-
end
|
133
|
-
|
134
|
-
test "sorted hash" do
|
135
|
-
assert_equal [:c, :a, :b], {:b => 1, :a => 2, :c => 3}.keys
|
136
|
-
assert_equal [:a, :b, :c], SimplesIdeias::I18n.sorted_hash(:b => 1, :a => 2, :c => 3).keys
|
137
|
-
end
|
138
|
-
|
139
|
-
test "sorted multi-levels hash" do
|
140
|
-
hash = {
|
141
|
-
:foo => {:b => 1, :a => 2, :c => 3}
|
142
|
-
}
|
143
|
-
|
144
|
-
assert_equal [:c, :a, :b], hash[:foo].keys
|
145
|
-
assert_equal [:a, :b, :c], SimplesIdeias::I18n.sorted_hash(hash[:foo]).keys
|
146
|
-
end
|
147
|
-
|
148
|
-
test "update javascript library" do
|
149
|
-
FakeWeb.register_uri(:get, "http://github.com/fnando/i18n-js/raw/master/lib/i18n.js", :body => "UPDATED")
|
150
|
-
|
151
|
-
SimplesIdeias::I18n.setup!
|
152
|
-
SimplesIdeias::I18n.update!
|
153
|
-
assert_equal "UPDATED", File.read(SimplesIdeias::I18n::JAVASCRIPT_FILE)
|
154
|
-
end
|
155
|
-
|
156
|
-
private
|
157
|
-
# Set the configuration as the current one
|
158
|
-
def set_config(path)
|
159
|
-
config = HashWithIndifferentAccess.new(YAML.load_file(File.dirname(__FILE__) + "/resources/#{path}"))
|
160
|
-
SimplesIdeias::I18n.expects(:config?).returns(true)
|
161
|
-
SimplesIdeias::I18n.expects(:config).returns(config)
|
162
|
-
end
|
163
|
-
|
164
|
-
# Shortcut to SimplesIdeias::I18n.translations
|
165
|
-
def translations
|
166
|
-
SimplesIdeias::I18n.translations
|
167
|
-
end
|
168
|
-
end
|