wovnrb 0.1.69 → 0.1.70

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: afab139e1be1f8c818b1b106e84fe492a0f89520
4
- data.tar.gz: 5484d22f34e056ecd2915e816a6d569270606283
3
+ metadata.gz: 4776a67c2ad218f974c0f0b4f3c0b832c90a5a09
4
+ data.tar.gz: cc37e82b4c978abe5ce1ea7ac395a9d185998dca
5
5
  SHA512:
6
- metadata.gz: 8d4f7a9f1efdac922e1dff2bb87ec5465d60b6e242bf45e90719ed067111be604f470d99a2f5b690f8365b534b04f16408968f5725167a9655d65ae54495a7d0
7
- data.tar.gz: 90a7be9c2c2f27d4655273a92d441877f6c4741bed90d65d34a1ddcffbf278b5d75c2795f7a2e6e2230fedb0d58e11846a7c9d56ff95ccfacebd9a63ebb37ae9
6
+ metadata.gz: 96e887e480911dc72395cd152840e9762dc1ae0037e10c34934c3cd4c2a55dafc39b5da62c4bd8dab77f9e91de1a973df8a562b0dfb0157f113f0492fff3e036
7
+ data.tar.gz: 41c97ebc38bf12c946f9ad0046fe916b8d37caf217a9ae9981bab406b8d0da768bbf2075a7b07cfc30994c4501cc52006ddae896097b9b3b0d68405df1246225
@@ -154,7 +154,7 @@ module Wovnrb
154
154
  when 'query'
155
155
  return uri.sub(/(^|\?|&)wovn=#{lang}(&|$)/, '\1').gsub(/(\?|&)$/, '')
156
156
  when 'subdomain'
157
- rp = Regexp.new('(^|(//))' + lang + '\.')
157
+ rp = Regexp.new('(^|(//))' + lang + '\.', 'i')
158
158
  return uri.sub(rp, '\1')
159
159
  #when 'path'
160
160
  else
@@ -1,3 +1,3 @@
1
1
  module Wovnrb
2
- VERSION = "0.1.69"
2
+ VERSION = "0.1.70"
3
3
  end
@@ -1,28 +1,56 @@
1
- #require 'wovnrb'
2
- #require 'wovnrb/headers'
3
- #require 'minitest/autorun'
4
- #require 'pry'
5
- #require 'mocha/mini_test'
6
- #
7
- #class WovnrbTest < Minitest::Test
8
- #
9
- # def test_initialize
10
- # i = Wovnrb::Interceptor.new(get_app)
11
- # refute_nil(i)
12
- # end
13
- #
14
- # # def test_call(env)
15
- # # end
16
- #
17
- # # def test_switch_lang(body, values, url, lang=STORE.settings['default_lang'], headers)
18
- # # end
19
- #
20
- # # def test_get_langs(values)
21
- # # end
22
- #
23
- # def get_app()
24
- # end
25
- #
1
+ require 'wovnrb'
2
+ require 'wovnrb/headers'
3
+ require 'minitest/autorun'
4
+ require 'pry'
5
+
6
+ class WovnrbTest < Minitest::Test
7
+
8
+ def test_initialize
9
+ i = Wovnrb::Interceptor.new(get_app)
10
+ refute_nil(i)
11
+ end
12
+
13
+ # def test_call(env)
14
+ # end
15
+
16
+ # def test_switch_lang(body, values, url, lang=STORE.settings['default_lang'], headers)
17
+ # end
18
+
19
+ # def test_get_langs(values)
20
+ # end
21
+
22
+ def get_app()
23
+ end
24
+
25
+ def test_add_lang_code_trad_chinese
26
+ i = Wovnrb::Interceptor.new(get_app)
27
+ h = Wovnrb::Headers.new(get_env('url' => 'http://favy.tips'), get_settings('url_pattern' => 'subdomain', 'url_pattern_reg' => '^(?<lang>[^.]+).'))
28
+ assert_equal("http://zh-cht.favy.tips/topics/31", i.add_lang_code("http://favy.tips/topics/31", 'subdomain', 'zh-cht', h))
29
+ end
30
+
31
+ def test_add_lang_code_trad_chinese_2
32
+ i = Wovnrb::Interceptor.new(get_app)
33
+ h = Wovnrb::Headers.new(get_env('url' => 'http://zh-cht.favy.tips'), get_settings('url_pattern' => 'subdomain', 'url_pattern_reg' => '^(?<lang>[^.]+).'))
34
+ assert_equal("http://zh-cht.favy.tips/topics/31", i.add_lang_code("/topics/31", 'subdomain', 'zh-cht', h))
35
+ end
36
+
37
+ def test_add_lang_code_trad_chinese_lang_in_link_already
38
+ i = Wovnrb::Interceptor.new(get_app)
39
+ h = Wovnrb::Headers.new(get_env('url' => 'http://zh-cht.favy.tips'), get_settings('url_pattern' => 'subdomain', 'url_pattern_reg' => '^(?<lang>[^.]+).'))
40
+ assert_equal("http://zh-cht.favy.tips/topics/31", i.add_lang_code("http://zh-cht.favy.tips/topics/31", 'subdomain', 'zh-cht', h))
41
+ end
42
+
43
+ def test_add_lang_code_no_protocol
44
+ i = Wovnrb::Interceptor.new(get_app)
45
+ h = Wovnrb::Headers.new(get_env('url' => 'https://zh-cht.google.com'), get_settings('url_pattern' => 'subdomain', 'url_pattern_reg' => '^(?<lang>[^.]+).'))
46
+ assert_equal("//zh-cht.google.com", i.add_lang_code("//google.com", 'subdomain', 'zh-cht', h))
47
+ end
48
+
49
+ def test_add_lang_code_no_protocol_2
50
+ i = Wovnrb::Interceptor.new(get_app)
51
+ h = Wovnrb::Headers.new(get_env('url' => 'https://zh-cht.favy.tips'), get_settings('url_pattern' => 'subdomain', 'url_pattern_reg' => '^(?<lang>[^.]+).'))
52
+ assert_equal("//google.com", i.add_lang_code("//google.com", 'subdomain', 'zh-cht', h))
53
+ end
26
54
  # def test_add_lang_code_nil_href
27
55
  # i = Wovnrb::Interceptor.new(get_app)
28
56
  # assert_equal(nil, i.add_lang_code(nil,'path', 'en', nil))
@@ -157,4 +185,49 @@
157
185
  # headers.expects(:pathname).returns('/hello/tab.html')
158
186
  # assert_equal('/fr/hello/hey/index.html', i.add_lang_code('hey/index.html', 'path', 'fr', headers))
159
187
  # end
160
- #end
188
+
189
+ def get_settings(options={})
190
+ settings = {}
191
+ settings['user_token'] = 'OHYx9'
192
+ settings['url_pattern'] = 'path'
193
+ settings['url_pattern_reg'] = "/(?<lang>[^/.?]+)"
194
+ settings['query'] = []
195
+ settings['backend_host'] = 'localhost'
196
+ settings['backend_port'] = '6379'
197
+ settings['default_lang'] = 'en'
198
+ settings['supported_langs'] = []
199
+ settings['secret_key'] = ''
200
+ return settings.merge(options)
201
+ end
202
+
203
+ def get_env(options={})
204
+ env = {}
205
+ env['rack.url_scheme'] = 'http'
206
+ env['HTTP_HOST'] = 'wovn.io'
207
+ env['REQUEST_URI'] = '/dashboard?param=val&hey=you'
208
+ env['SERVER_NAME'] = 'wovn.io'
209
+ env['HTTP_COOKIE'] = "olfsk=olfsk021093478426337242; hblid=KB8AAMzxzu2DSxnB4X7BJ26rBGVeF0yJ; optimizelyEndUserId=oeu1426233718869r0.5398541854228824; __zlcmid=UFeZqrVo6Mv3Yl; wovn_selected_lang=en; optimizelySegments=%7B%7D; optimizelyBuckets=%7B%7D; _equalizer_session=eDFwM3M2QUZJZFhoby9JZlArckcvSUJwNFRINXhUeUxtNnltQXZhV0tqdGhZQjJMZ01URnZTK05ydFVWYmM3U0dtMVN0M0Z0UnNDVG8vdUNDTUtPc21jY0FHREgrZ05CUnBTb0hyUlkvYlBWQVhQR3RZdnhjMWsrRW5rOVp1Z3V3bkgyd3NpSlRZQWU1dlZvNmM1THp6aUZVeE83Y1pWWENRNTBUVFIrV05WeTdDMlFlem1tUzdxaEtndFZBd2dtUjU2ak5EUmJPa3RWWmMyT1pSVWdMTm8zOVZhUWhHdGQ3L1c5bm91RmNSdFRrcC90Tml4N2t3ZWlBaDRya2lLT1I0S0J2TURhUWl6Uk5rOTQ4Y1MwM3VKYnlLMUYraEt5clhRdFd1eGdEWXdZd3pFbWQvdE9vQndhdDVQbXNLcHBURm9CbnZKenU2YnNXRFdqRVl0MVV3bmRyYjhvMDExcGtUVU9tK1lqUGswM3p6M05tbVRnTjE3TUl5cEdpTTZ4a2gray8xK0FvTC9wUDVka1JSeE5GM1prZmRjWDdyVzRhWW5uS2Mxc1BxOEVVTTZFS3N5bTlVN2p5eE5YSjNZWGI2UHd3Vzc0bDM5QjIwL0l5Mm85NmQyWFAwdVQ3ZzJYYk1QOHY2NVJpY2c9LS1KNU96eHVycVJxSDJMbEc4Rm9KVXpBPT0%3D--17e47555d692fb9cde20ef78a09a5eabbf805bb3; mp_a0452663eb7abb7dfa9c94007ebb0090_mixpanel=%7B%22distinct_id%22%3A%20%2253ed9ffa4a65662e37000000%22%2C%22%24initial_referrer%22%3A%20%22http%3A%2F%2Fp.dev-wovn.io%3A8080%2Fhttp%3A%2F%2Fdev-wovn.io%3A3000%22%2C%22%24initial_referring_domain%22%3A%20%22p.dev-wovn.io%3A8080%22%2C%22__mps%22%3A%20%7B%7D%2C%22__mpso%22%3A%20%7B%7D%2C%22__mpa%22%3A%20%7B%7D%2C%22__mpu%22%3A%20%7B%7D%2C%22__mpap%22%3A%20%5B%5D%7D"
210
+ env['HTTP_ACCEPT_LANGUAGE'] = 'ja,en-US;q=0.8,en;q=0.6'
211
+ env['QUERY_STRING'] = 'param=val&hey=you'
212
+ env['ORIGINAL_FULLPATH'] = '/dashboard?param=val&hey=you'
213
+ #env['HTTP_REFERER'] =
214
+ env['REQUEST_PATH'] = '/dashboard'
215
+ env['PATH_INFO'] = '/dashboard'
216
+
217
+ if options['url']
218
+ url = URI.parse(options['url'])
219
+ env['rack.url_scheme'] = url.scheme
220
+ env['HTTP_HOST'] = url.host
221
+ if (url.scheme == 'http' && url.port != 80) || (url.scheme == 'https' && url.port != 443)
222
+ env['HTTP_HOST'] += ":#{url.port}"
223
+ end
224
+ env['SERVER_NAME'] = url.host
225
+ env['REQUEST_URI'] = url.request_uri
226
+ env['ORIGINAL_FULLPATH'] = url.request_uri
227
+ env['QUERY_STRING'] = url.query
228
+ env['REQUEST_PATH'] = url.path
229
+ env['PATH_INFO'] = url.path
230
+ end
231
+ return env.merge(options)
232
+ end
233
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wovnrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.69
4
+ version: 0.1.70
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Sandford