wovnrb 0.2.24 → 0.2.25
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/wovnrb/lang.rb +3 -2
- data/lib/wovnrb/version.rb +1 -1
- data/test/lib/lang_test.rb +16 -8
- data/test/lib/wovnrb_test.rb +6 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7fb36534c436a191a760359ec8eed7972616d09b
|
4
|
+
data.tar.gz: a53f3c30df5503b55b85efde0def6899e145f2a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97a24180cd6237673f95b406f07c1928ac7cc7032adfa7e3c45396b1ee0ae023feeb7e78c85a35e9ecb3ac619ef3d4ac10998dad3b90424f7b042dff5f7b2410
|
7
|
+
data.tar.gz: f37153ea07b8cfb5326849423fb3400afd575c6e63b0a3c8af1b65191d59d4d3aaebc6c90d9e47b9d8fe4aec8ef3902b7bd3b3bce4792002c49fbfef227d03bd
|
data/lib/wovnrb/lang.rb
CHANGED
@@ -150,7 +150,8 @@ module Wovnrb
|
|
150
150
|
# INSERT LANGUAGE METALINKS
|
151
151
|
parent_node = dom.at_css('head') || dom.at_css('body') || dom.at_css('html')
|
152
152
|
published_langs = get_langs(values)
|
153
|
-
published_langs.
|
153
|
+
all_langs = published_langs.add(store.settings['default_lang'])
|
154
|
+
all_langs.each do |l|
|
154
155
|
insert_node = Nokogiri::XML::Node.new('link', dom)
|
155
156
|
insert_node['rel'] = 'alternate'
|
156
157
|
insert_node['hreflang'] = Lang::iso_639_1_normalization(l)
|
@@ -160,7 +161,7 @@ module Wovnrb
|
|
160
161
|
|
161
162
|
# set lang property on HTML tag
|
162
163
|
if dom.at_css('html') || dom.at_css('HTML')
|
163
|
-
(dom.at_css('html') || dom.at_css('HTML')).set_attribute('lang', @lang_code)
|
164
|
+
(dom.at_css('html') || dom.at_css('HTML')).set_attribute('lang', Lang::iso_639_1_normalization(@lang_code))
|
164
165
|
end
|
165
166
|
|
166
167
|
dom.to_html.gsub(/href="([^"]*)"/) { |m| "href=\"#{URI.decode($1)}\"" }
|
data/lib/wovnrb/version.rb
CHANGED
data/test/lib/lang_test.rb
CHANGED
@@ -325,6 +325,7 @@ module Wovnrb
|
|
325
325
|
<head>
|
326
326
|
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
|
327
327
|
<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.ignore-page.com/\">
|
328
|
+
<link rel=\"alternate\" hreflang=\"en\" href=\"http://ignore-page.com/\">
|
328
329
|
</head>
|
329
330
|
<body>
|
330
331
|
<h1>
|
@@ -338,6 +339,7 @@ module Wovnrb
|
|
338
339
|
<head>
|
339
340
|
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
|
340
341
|
<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.page.com/\">
|
342
|
+
<link rel=\"alternate\" hreflang=\"en\" href=\"http://page.com/\">
|
341
343
|
</head>
|
342
344
|
<body>
|
343
345
|
<h1>
|
@@ -351,6 +353,7 @@ module Wovnrb
|
|
351
353
|
<head>
|
352
354
|
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
|
353
355
|
<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.ignore-page.com/\">
|
356
|
+
<link rel=\"alternate\" hreflang=\"en\" href=\"http://ignore-page.com/\">
|
354
357
|
</head>
|
355
358
|
<body wovn-ignore=\"\">
|
356
359
|
<h1>Mr. Belvedere Fan Club</h1>
|
@@ -369,17 +372,17 @@ module Wovnrb
|
|
369
372
|
when "value_double_quote"
|
370
373
|
body = "<html><body><h1>Mr.BelvedereFanClub</h1><div wovn-ignore=\"value\"><p>Hello</p></div></body></html>"
|
371
374
|
when "empty_translated"
|
372
|
-
body = "<html lang=\"ja\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.ignore-page.com/\">\n</head>\n<body>\n<h1>Mr.BelvedereFanClub</h1>\n<div wovn-ignore=\"\"><p>Hello</p></div>\n</body>\n</html>\n"
|
375
|
+
body = "<html lang=\"ja\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.ignore-page.com/\">\n<link rel=\"alternate\" hreflang=\"en\" href=\"http://ignore-page.com/\">\n</head>\n<body>\n<h1>Mr.BelvedereFanClub</h1>\n<div wovn-ignore=\"\"><p>Hello</p></div>\n</body>\n</html>\n"
|
373
376
|
when "empty_single_quote_translated"
|
374
|
-
body = "<html lang=\"ja\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.ignore-page.com/\">\n</head>\n<body>\n<h1>Mr.BelvedereFanClub</h1>\n<div wovn-ignore=\"\"><p>Hello</p></div>\n</body>\n</html>\n"
|
377
|
+
body = "<html lang=\"ja\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.ignore-page.com/\">\n<link rel=\"alternate\" hreflang=\"en\" href=\"http://ignore-page.com/\">\n</head>\n<body>\n<h1>Mr.BelvedereFanClub</h1>\n<div wovn-ignore=\"\"><p>Hello</p></div>\n</body>\n</html>\n"
|
375
378
|
when "empty_double_quote_translated"
|
376
|
-
body = "<html lang=\"ja\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.ignore-page.com/\">\n</head>\n<body>\n<h1>Mr.BelvedereFanClub</h1>\n<div wovn-ignore=\"\"><p>Hello</p></div>\n</body>\n</html>\n"
|
379
|
+
body = "<html lang=\"ja\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.ignore-page.com/\">\n<link rel=\"alternate\" hreflang=\"en\" href=\"http://ignore-page.com/\">\n</head>\n<body>\n<h1>Mr.BelvedereFanClub</h1>\n<div wovn-ignore=\"\"><p>Hello</p></div>\n</body>\n</html>\n"
|
377
380
|
when "value_single_quote_translated"
|
378
|
-
body = "<html lang=\"ja\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.ignore-page.com/\">\n</head>\n<body>\n<h1>Mr.BelvedereFanClub</h1>\n<div wovn-ignore=\"value\"><p>Hello</p></div>\n</body>\n</html>\n"
|
381
|
+
body = "<html lang=\"ja\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.ignore-page.com/\">\n<link rel=\"alternate\" hreflang=\"en\" href=\"http://ignore-page.com/\">\n</head>\n<body>\n<h1>Mr.BelvedereFanClub</h1>\n<div wovn-ignore=\"value\"><p>Hello</p></div>\n</body>\n</html>\n"
|
379
382
|
when "value_double_quote_translated"
|
380
|
-
body = "<html lang=\"ja\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.ignore-page.com/\">\n</head>\n<body>\n<h1>Mr.BelvedereFanClub</h1>\n<div wovn-ignore=\"value\"><p>Hello</p></div>\n</body>\n</html>\n"
|
383
|
+
body = "<html lang=\"ja\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.ignore-page.com/\">\n<link rel=\"alternate\" hreflang=\"en\" href=\"http://ignore-page.com/\">\n</head>\n<body>\n<h1>Mr.BelvedereFanClub</h1>\n<div wovn-ignore=\"value\"><p>Hello</p></div>\n</body>\n</html>\n"
|
381
384
|
when "meta_img_alt_tags_translated"
|
382
|
-
body = "<html lang=\"ja\">\n<head>\n<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n<meta name=\"description\" content=\"こんにちは\">\n<meta name=\"title\" content=\"こんにちは\">\n<meta property=\"og:title\" content=\"こんにちは\">\n<meta property=\"og:description\" content=\"こんにちは\">\n<meta property=\"twitter:title\" content=\"こんにちは\">\n<meta property=\"twitter:description\" content=\"こんにちは\">\n<link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.page.com/\">\n</head>\n<body>\n<h1>
|
385
|
+
body = "<html lang=\"ja\">\n<head>\n<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n<meta name=\"description\" content=\"こんにちは\">\n<meta name=\"title\" content=\"こんにちは\">\n<meta property=\"og:title\" content=\"こんにちは\">\n<meta property=\"og:description\" content=\"こんにちは\">\n<meta property=\"twitter:title\" content=\"こんにちは\">\n<meta property=\"twitter:description\" content=\"こんにちは\">\n<link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.page.com/\">\n<link rel=\"alternate\" hreflang=\"en\" href=\"http://page.com/\">\n</head>\n<body>\n<h1>
|
383
386
|
<!--wovn-src:Mr. Belvedere Fan Club-->ベルベデアさんファンクラブ</h1>\n<div><p><!--wovn-src:Hello-->こんにちは</p></div>\n<!--wovn-src:Hello--><img src=\"http://example.com/photo.png\" alt=\"こんにちは\">\n</body>\n</html>\n"
|
384
387
|
when "meta_img_alt_tags"
|
385
388
|
body = "<html><head><meta name =\"description\" content=\"Hello\">\n<meta name=\"title\" content=\"Hello\">\n<meta property=\"og:title\" content=\"Hello\">\n<meta property=\"og:description\" content=\"Hello\">\n<meta property=\"twitter:title\" content=\"Hello\">\n<meta property=\"twitter:description\" content=\"Hello\"></head>
|
@@ -396,6 +399,7 @@ module Wovnrb
|
|
396
399
|
<head>
|
397
400
|
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
|
398
401
|
<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.page.com/\">
|
402
|
+
<link rel=\"alternate\" hreflang=\"en\" href=\"http://page.com/\">
|
399
403
|
</head>
|
400
404
|
<body>
|
401
405
|
<h1>
|
@@ -426,7 +430,7 @@ module Wovnrb
|
|
426
430
|
end
|
427
431
|
|
428
432
|
def test_switch_dom_lang_for_simplified_chinese
|
429
|
-
lang = Lang.new('
|
433
|
+
lang = Lang.new('zh-CHS')
|
430
434
|
h = Wovnrb::Headers.new(Wovnrb.get_env('url' => 'http://page.com'), Wovnrb.get_settings('url_pattern' => 'subdomain', 'url_pattern_reg' => '^(?<lang>[^.]+).'))
|
431
435
|
dom = generate_dom
|
432
436
|
values = generate_values
|
@@ -436,10 +440,12 @@ module Wovnrb
|
|
436
440
|
swapped_body = lang.switch_dom_lang(dom, Store.instance, values, url, h)
|
437
441
|
assert(/hreflang="zh-Hans"/ =~ swapped_body)
|
438
442
|
assert(!(/hreflang="zh-CHS"/ =~ swapped_body))
|
443
|
+
assert(/html lang="zh-Hans"/ =~ swapped_body)
|
444
|
+
assert(!(/html lang="zh-CHS"/ =~ swapped_body))
|
439
445
|
end
|
440
446
|
|
441
447
|
def test_switch_dom_lang_for_traditional_chinese
|
442
|
-
lang = Lang.new('
|
448
|
+
lang = Lang.new('zh-CHT')
|
443
449
|
h = Wovnrb::Headers.new(Wovnrb.get_env('url' => 'http://page.com'), Wovnrb.get_settings('url_pattern' => 'subdomain', 'url_pattern_reg' => '^(?<lang>[^.]+).'))
|
444
450
|
dom = generate_dom
|
445
451
|
values = generate_values
|
@@ -449,6 +455,8 @@ module Wovnrb
|
|
449
455
|
swapped_body = lang.switch_dom_lang(dom, Store.instance, values, url, h)
|
450
456
|
assert(/hreflang="zh-Hant"/ =~ swapped_body)
|
451
457
|
assert(!(/hreflang="zh-CHT"/ =~ swapped_body))
|
458
|
+
assert(/html lang="zh-Hant"/ =~ swapped_body)
|
459
|
+
assert(!(/html lang="zh-CHT"/ =~ swapped_body))
|
452
460
|
end
|
453
461
|
|
454
462
|
def test_switch_lang
|
data/test/lib/wovnrb_test.rb
CHANGED
@@ -64,6 +64,7 @@ class WovnrbTest < Minitest::Test
|
|
64
64
|
<head>
|
65
65
|
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
|
66
66
|
<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.page.com/\">
|
67
|
+
<link rel=\"alternate\" hreflang=\"en\" href=\"http://page.com/\">
|
67
68
|
</head>
|
68
69
|
<body>
|
69
70
|
<h1>
|
@@ -148,6 +149,7 @@ HTML
|
|
148
149
|
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
|
149
150
|
<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><noscript><div>test</div></noscript>
|
150
151
|
<link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.page.com/\">
|
152
|
+
<link rel=\"alternate\" hreflang=\"en\" href=\"http://page.com/\">
|
151
153
|
</head>
|
152
154
|
<body>
|
153
155
|
<h1>
|
@@ -178,6 +180,7 @@ HTML
|
|
178
180
|
<div>test</div>
|
179
181
|
</noscript>
|
180
182
|
<link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.page.com/\">
|
183
|
+
<link rel=\"alternate\" hreflang=\"en\" href=\"http://page.com/\">
|
181
184
|
</head>
|
182
185
|
<body>
|
183
186
|
<h1>
|
@@ -206,6 +209,7 @@ HTML
|
|
206
209
|
<title>plop</title>
|
207
210
|
<noscript><div>test2</div></noscript>
|
208
211
|
<link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.page.com/\">
|
212
|
+
<link rel=\"alternate\" hreflang=\"en\" href=\"http://page.com/\">
|
209
213
|
</head>
|
210
214
|
<body>
|
211
215
|
<h1>
|
@@ -232,6 +236,7 @@ HTML
|
|
232
236
|
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
|
233
237
|
<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><noscript><!-- --><div>test</div></noscript>
|
234
238
|
<link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.page.com/\">
|
239
|
+
<link rel=\"alternate\" hreflang=\"en\" href=\"http://page.com/\">
|
235
240
|
</head>
|
236
241
|
<body>
|
237
242
|
<h1>
|
@@ -257,6 +262,7 @@ HTML
|
|
257
262
|
<head>
|
258
263
|
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
|
259
264
|
<script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=&backend=true&currentLang=ja&defaultLang=en&urlPattern=path&langCodeAliases={}&version=#{Wovnrb::VERSION}\"> </script><!--<noscript><div>test</div></noscript>--><link rel=\"alternate\" hreflang=\"ja\" href=\"http://ja.page.com/\">
|
265
|
+
<link rel=\"alternate\" hreflang=\"en\" href=\"http://page.com/\">
|
260
266
|
</head>
|
261
267
|
<body>
|
262
268
|
<h1>
|
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.2.
|
4
|
+
version: 0.2.25
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Sandford
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-10-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogumbo
|