rewritten 0.9.0 → 0.9.1

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: e1abdc39d5f840f0792d1f903d000b5d6d36e95b
4
- data.tar.gz: 2746b966bf4d31bb8254fc1a452951a59cdb451c
3
+ metadata.gz: 37841f437483adb3768e967970d71867cb642c7f
4
+ data.tar.gz: 9e3f522b3cf8f71f1ca71a5d4b1283fdfda63e58
5
5
  SHA512:
6
- metadata.gz: 56b3daa7c907ffc0c845bb341d8348201eb486d08729882c574cf9469e7f8c3c314d4a7cd3e9d26338df6c58c6e425f1505e96f122c4fd06bf583862232bb57d
7
- data.tar.gz: f6613822fafe35ccffa7a85b705395a9646421dabdf6cd1a0d5341b7ab234c9eb035916b1e0a085c8b3b475636a1d1ed6d1a18e565930cb5faa2ff57080aa7f0
6
+ metadata.gz: ccd2858e30f1b317f3d2b879ee8e246090203713a0047f0fa67183075fa7feb927d61ba5ba72ef98b59a0652bd020d4901c7aa110ccc1a8a72eeb49f1736f730
7
+ data.tar.gz: f0223d07fd9ebdafb2f6e9835d99f4bba4fa45e7d99a7088d891f3500496de033198f2fc57cf2851b53c35b568361e3d0de0fe35bb0b530b1bfdad1c23ae71d4
data/lib/rack/html.rb CHANGED
@@ -20,8 +20,15 @@ module Rack
20
20
  links = line.scan(/href="([^"]+)"/).flatten.uniq
21
21
  res = line
22
22
  links.each do |link|
23
- t = ::Rewritten.get_current_translation(link)
24
- res.gsub!(/href="#{link}"/, %Q|href="#{t}"|) if t
23
+
24
+ if ::Rewritten.exist_translation_for?(link)
25
+ t = ::Rewritten.get_current_translation(link)
26
+ res.gsub!(%Q|href="#{link}"|, %Q|href="#{t}"|) if t
27
+ res.gsub!(%Q|href='#{link}'|, %Q|href='#{t}'|) if t
28
+ res.gsub!(%Q|href="#{link}?|, %Q|href="#{t}?|) if t
29
+ res.gsub!(%Q|href='#{link}?|, %Q|href='#{t}?|) if t
30
+ end
31
+
25
32
  end
26
33
  new_response << res
27
34
  end
@@ -1,4 +1,4 @@
1
1
  module Rewritten
2
- VERSION = "0.9.0"
2
+ VERSION = "0.9.1"
3
3
  end
4
4
 
@@ -0,0 +1,49 @@
1
+ require 'test_helper'
2
+
3
+ describe Rack::Rewritten::Url do
4
+
5
+ before {
6
+ Rewritten.add_translation '/foo/bar', '/products/1'
7
+ Rewritten.add_translation '/foo/baz', '/products/1'
8
+ Rewritten.add_translation '/foo/with/params', '/products/2?w=1'
9
+ }
10
+
11
+ describe "substition behavior" do
12
+
13
+ before {
14
+ @html_body = <<-HTML
15
+ <html>
16
+ <body>
17
+ <a href="/">home</a>
18
+ <a href="/foo">foo</a>
19
+ <a href="/foo?d=1">foo</a>
20
+ <a href='/foo?s=1'>foo</a>
21
+ <a href='/foolmenot'>fool</a>
22
+ <a href="#">nolink</a>
23
+ <a href="/bookings/new?booking[starts]=1371623400&amp;booking[ends]=1371624300&amp;booking[calendar_id]=50ed77ffed284b0002000008&amp;booking[problem_id]=4d7dfc412696e7790f00002d&amp;booking[service_ids][]=50ed77ffed284b000200000f&amp;insurance=public">time</a>
24
+ </body>
25
+ </html>
26
+ HTML
27
+
28
+ @rack = Rack::Rewritten::Html.new(lambda{|env| [200, {}, [@html_body]]})
29
+ }
30
+
31
+ it "must ignore everything" do
32
+ res,env,body = @rack.call({})
33
+ html = body.join("")
34
+ html.must_equal @html_body
35
+ end
36
+
37
+ it "must replace links with translations" do
38
+ Rewritten.add_translation('/bar', '/foo')
39
+ res,env,body = @rack.call({})
40
+ html = body.join("")
41
+ assert ! (html =~ (/foo\??["']/) ), "didn't replace all /foo links"
42
+ assert html.include? "/bar"
43
+ assert html.include?("/foolmenot"), "must not mess with similar links"
44
+ end
45
+
46
+ end
47
+
48
+ end
49
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rewritten
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kai Rubarth
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-15 00:00:00.000000000 Z
11
+ date: 2013-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis-namespace
@@ -179,6 +179,7 @@ files:
179
179
  - lib/rewritten/server/views/translations.erb
180
180
  - lib/rewritten/version.rb
181
181
  - rewritten.gemspec
182
+ - test/rack/rewritten_html_test.rb
182
183
  - test/rack/rewritten_url_test.rb
183
184
  - test/rewritten_test.rb
184
185
  - test/test_helper.rb