mobylette 1.6.0 → 2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. data/README.rdoc +35 -22
  2. data/Rakefile +0 -19
  3. data/lib/mobylette.rb +1 -4
  4. data/lib/mobylette/helmet.rb +0 -2
  5. data/lib/mobylette/railtie.rb +0 -6
  6. data/lib/mobylette/respond_to_mobile_requests.rb +135 -0
  7. data/lib/mobylette/version.rb +1 -1
  8. data/spec/controllers/application_controller_spec.rb +37 -0
  9. data/spec/dummy/app/controllers/application_controller.rb +0 -1
  10. data/spec/dummy/log/development.log +116 -0
  11. data/spec/dummy/log/test.log +21 -585
  12. data/spec/dummy/tmp/cache/assets/C82/3E0/sprockets%2F48eb4ac616538f8f36870451073315da +14 -0
  13. data/spec/dummy/tmp/cache/assets/CE4/1C0/sprockets%2F18d93e1533d585b2f64ec90b33176ac9 +0 -0
  14. data/spec/dummy/tmp/cache/assets/CED/A70/sprockets%2F621683d8791730a9cc7ce45e17a7e46d +0 -0
  15. data/spec/dummy/tmp/cache/assets/CFC/200/sprockets%2F716f89d85d4855706b8a9abec1969c62 +16 -0
  16. data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  17. data/spec/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4 +16 -0
  18. data/spec/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +14 -0
  19. data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  20. data/spec/lib/respond_to_mobile_requests_spec.rb +253 -0
  21. data/spec/spec_helper.rb +3 -0
  22. metadata +45 -107
  23. data/lib/mobylette/controllers/helpers.rb +0 -53
  24. data/lib/mobylette/controllers/respond_to_mobile_requests.rb +0 -125
  25. data/lib/mobylette/helmet/faker.rb +0 -19
  26. data/lib/mobylette/helmet/helpers.rb +0 -36
  27. data/spec/controllers/actioncontroller_base_spec.rb +0 -24
  28. data/spec/controllers/default_fallback_controller_spec.rb +0 -37
  29. data/spec/controllers/desktop_only_controller_spec.rb +0 -18
  30. data/spec/controllers/force_fallback_controller_spec.rb +0 -46
  31. data/spec/controllers/home_controller_spec.rb +0 -145
  32. data/spec/controllers/no_fallback_controller_spec.rb +0 -58
  33. data/spec/controllers/skip_xhr_request_controller_spec.rb +0 -19
  34. data/spec/dummy/app/controllers/default_fallback_controller.rb +0 -13
  35. data/spec/dummy/app/controllers/desktop_only_controller.rb +0 -2
  36. data/spec/dummy/app/controllers/fallbacks_controller.rb +0 -7
  37. data/spec/dummy/app/controllers/force_fallback_controller.rb +0 -13
  38. data/spec/dummy/app/controllers/home_controller.rb +0 -20
  39. data/spec/dummy/app/controllers/no_fallback_controller.rb +0 -13
  40. data/spec/dummy/app/controllers/skip_xhr_request_controller.rb +0 -7
  41. data/spec/dummy/app/controllers/testing_controller.rb +0 -9
  42. data/spec/dummy/app/views/default_fallback/index.html.erb +0 -1
  43. data/spec/dummy/app/views/default_fallback/index.js.erb +0 -1
  44. data/spec/dummy/app/views/default_fallback/index.mobile.erb +0 -1
  45. data/spec/dummy/app/views/default_fallback/test.html.erb +0 -1
  46. data/spec/dummy/app/views/default_fallback/test.js.erb +0 -1
  47. data/spec/dummy/app/views/fallbacks/index.html.erb +0 -2
  48. data/spec/dummy/app/views/fallbacks/index.js.erb +0 -1
  49. data/spec/dummy/app/views/fallbacks/index.mobile.erb +0 -0
  50. data/spec/dummy/app/views/fallbacks/index.xml.erb +0 -0
  51. data/spec/dummy/app/views/fallbacks/no_mobile.html.erb +0 -0
  52. data/spec/dummy/app/views/force_fallback/index.html.erb +0 -1
  53. data/spec/dummy/app/views/force_fallback/index.js.erb +0 -1
  54. data/spec/dummy/app/views/force_fallback/index.mobile.erb +0 -1
  55. data/spec/dummy/app/views/force_fallback/test.html.erb +0 -1
  56. data/spec/dummy/app/views/force_fallback/test.js.erb +0 -1
  57. data/spec/dummy/app/views/home/desktop.html.erb +0 -3
  58. data/spec/dummy/app/views/home/index.html.erb +0 -9
  59. data/spec/dummy/app/views/home/index.js.erb +0 -1
  60. data/spec/dummy/app/views/home/index.mobile.erb +0 -9
  61. data/spec/dummy/app/views/home/mobile.mobile.erb +0 -3
  62. data/spec/dummy/app/views/home/no_mobile_view.html.erb +0 -3
  63. data/spec/dummy/app/views/ignore_mobile_path/index.mobile.erb +0 -1
  64. data/spec/dummy/app/views/no_fallback/index.html.erb +0 -1
  65. data/spec/dummy/app/views/no_fallback/index.js.erb +0 -1
  66. data/spec/dummy/app/views/no_fallback/index.mobile.erb +0 -1
  67. data/spec/dummy/app/views/no_fallback/test.html.erb +0 -1
  68. data/spec/dummy/app/views/no_fallback/test.js.erb +0 -1
  69. data/spec/dummy/app/views/skip_xhr_request/index.html.erb +0 -9
  70. data/spec/dummy/app/views/skip_xhr_request/index.js.erb +0 -1
  71. data/spec/dummy/app/views/skip_xhr_request/index.mobile.erb +0 -9
  72. data/spec/dummy/app/views/view_path/index.mobile.erb +0 -1
  73. data/spec/helpers/mobylette_helpers_spec.rb +0 -59
@@ -1,58 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe NoFallbackController do
4
- # This controller has fallbacks disabled by: respond_to_mobile_requests :fall_back => false
5
-
6
- render_views
7
-
8
- it "should find the correct view when it exists" do
9
- force_mobile_request_agent
10
- get :index
11
- response.should render_template(:index)
12
- response.body.should contain("MOBILE VIEW")
13
- end
14
-
15
- it "should find the correct view when it exists" do
16
- reset_test_request_agent
17
- get :index
18
- response.should render_template(:index)
19
- response.body.should contain("HTML VIEW")
20
- end
21
-
22
- it "should give an error when there is no mobile view (original format -> html)" do
23
- force_mobile_request_agent
24
- was_error = false
25
- begin
26
- get(:test)
27
- rescue ActionView::MissingTemplate => e
28
- was_error = true
29
- ensure
30
- was_error.should be_true
31
- end
32
- end
33
-
34
- it "should give an error when there is no mobile view (original format -> html - param)" do
35
- force_mobile_request_agent
36
- was_error = false
37
- begin
38
- get(:test, :format => :html)
39
- rescue ActionView::MissingTemplate => e
40
- was_error = true
41
- ensure
42
- was_error.should be_true
43
- end
44
- end
45
-
46
- it "should give an error when there is no mobile view (original format -> js)" do
47
- force_mobile_request_agent
48
- was_error = false
49
- begin
50
- get(:test)
51
- rescue ActionView::MissingTemplate => e
52
- was_error = true
53
- ensure
54
- was_error.should be_true
55
- end
56
- end
57
-
58
- end
@@ -1,19 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe SkipXhrRequestController do
4
- # This controller calls: respond_to_mobile_requests :skip_xhr_requests => false
5
-
6
- render_views
7
-
8
- #######################################################
9
- # Testing XHR requests
10
- describe "XHR Requests" do
11
- it "should not use mobile format for xhr requests" do
12
- force_mobile_request_agent("Android")
13
- xhr :get, :index
14
- response.should render_template(:index)
15
- response.body.should contain("this is the mobile view")
16
- end
17
- end
18
-
19
- end
@@ -1,13 +0,0 @@
1
- class DefaultFallbackController < ApplicationController
2
-
3
- respond_to_mobile_requests
4
-
5
- def index
6
-
7
- end
8
-
9
- def test
10
-
11
- end
12
-
13
- end
@@ -1,2 +0,0 @@
1
- class DesktopOnlyController < ActionController::Base
2
- end
@@ -1,7 +0,0 @@
1
- class FallbacksController < ApplicationController
2
- def index
3
- end
4
-
5
- def no_mobile
6
- end
7
- end
@@ -1,13 +0,0 @@
1
- class ForceFallbackController < ApplicationController
2
-
3
- respond_to_mobile_requests :fall_back => :js
4
-
5
- def index
6
-
7
- end
8
-
9
- def test
10
-
11
- end
12
-
13
- end
@@ -1,20 +0,0 @@
1
- class HomeController < ApplicationController
2
-
3
- respond_to_mobile_requests
4
-
5
- def index
6
- end
7
-
8
- def respond_to_test
9
-
10
- respond_to do |format|
11
- format.html {render :action => "desktop"}
12
- format.mobile {render :action => "mobile"}
13
- end
14
- end
15
-
16
- def no_mobile_view
17
-
18
- end
19
-
20
- end
@@ -1,13 +0,0 @@
1
- class NoFallbackController < ApplicationController
2
-
3
- respond_to_mobile_requests :fall_back => false
4
-
5
- def index
6
-
7
- end
8
-
9
- def test
10
-
11
- end
12
-
13
- end
@@ -1,7 +0,0 @@
1
- class SkipXhrRequestController < ApplicationController
2
- respond_to_mobile_requests :skip_xhr_requests => false
3
-
4
- def index
5
- end
6
-
7
- end
@@ -1,9 +0,0 @@
1
- class TestingController < ApplicationController
2
-
3
- respond_to_mobile_requests
4
-
5
- def index
6
- render :text => "test"
7
- end
8
-
9
- end
@@ -1,2 +0,0 @@
1
- <h1>Fallbacks#index</h1>
2
- <p>Find me in app/views/fallbacks/index.html.erb</p>
@@ -1 +0,0 @@
1
- alert(js view);
@@ -1,3 +0,0 @@
1
- <% unless is_mobile_view? %>
2
- this is a desktop html mime type
3
- <% end %>
@@ -1,9 +0,0 @@
1
- <% unless is_mobile_view? %>
2
- this is the html view
3
- <% end %>
4
-
5
- <% if is_mobile_request? %>
6
- THIS A MOBILE DEVICE
7
- <% else %>
8
- THIS IS NOT A MOBILE DEVICE
9
- <% end %>
@@ -1 +0,0 @@
1
- AJAX VIEW
@@ -1,9 +0,0 @@
1
- <% if is_mobile_view? %>
2
- this is the mobile view
3
- <% end %>
4
-
5
- <% if is_mobile_request? %>
6
- THIS A MOBILE DEVICE
7
- <% else %>
8
- THIS IS NOT A MOBILE DEVICE
9
- <% end %>
@@ -1,3 +0,0 @@
1
- <% if is_mobile_view? %>
2
- this is a mobile mobile view
3
- <% end %>
@@ -1,3 +0,0 @@
1
- <% unless is_mobile_view? %>
2
- This is the only view, and it's html
3
- <% end %>
@@ -1 +0,0 @@
1
- THIS IS THE MOBILE VIEW BUT OUTSIDE THE MOBILE PATH
@@ -1,9 +0,0 @@
1
- <% unless is_mobile_view? %>
2
- this is the html view
3
- <% end %>
4
-
5
- <% if is_mobile_request? %>
6
- THIS A MOBILE DEVICE
7
- <% else %>
8
- THIS IS NOT A MOBILE DEVICE
9
- <% end %>
@@ -1,9 +0,0 @@
1
- <% if is_mobile_view? %>
2
- this is the mobile view
3
- <% end %>
4
-
5
- <% if is_mobile_request? %>
6
- THIS A MOBILE DEVICE
7
- <% else %>
8
- THIS IS NOT A MOBILE DEVICE
9
- <% end %>
@@ -1 +0,0 @@
1
- THIS IS THE MOBILE VIEW BUT OUTSIDE THE MOBILE PATH
@@ -1,59 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Mobylette::Controllers::Helpers do
4
- include Sprockets::Helpers::RailsHelper
5
- include Mobylette::Helmet::Helpers
6
-
7
- describe "mobylette_stylesheet_link_tag" do
8
- it "should not change the files names when the request is not mobile" do
9
- reset_test_request_agent
10
- helper.mobylette_stylesheet_link_tag("application").should == stylesheet_link_tag("application")
11
- helper.mobylette_stylesheet_link_tag("application.css").should == stylesheet_link_tag("application.css")
12
- helper.mobylette_stylesheet_link_tag("application", "home").should == stylesheet_link_tag("application", "home")
13
- helper.mobylette_stylesheet_link_tag("application.css", "home").should == stylesheet_link_tag("application.css", "home")
14
- end
15
-
16
- it "should add the '_mobile' sulfix to the files names when the request is mobile" do
17
- force_mobile_request_agent
18
- helper.mobylette_stylesheet_link_tag("application").should == stylesheet_link_tag("application_mobile")
19
- helper.mobylette_stylesheet_link_tag("application.css").should == stylesheet_link_tag("application_mobile.css")
20
- helper.mobylette_stylesheet_link_tag("application", "home").should == stylesheet_link_tag("application_mobile", "home_mobile")
21
- helper.mobylette_stylesheet_link_tag("application.css", "home").should == stylesheet_link_tag("application_mobile.css", "home_mobile")
22
- end
23
-
24
- it "should add the '_mobile' sulfix to the files names when the request is mobile" do
25
- force_mobile_request_agent
26
- helper.mobylette_stylesheet_link_tag("application", :id => "myid").should == stylesheet_link_tag("application_mobile", :id => "myid")
27
- helper.mobylette_stylesheet_link_tag("application.css", :id => "myid").should == stylesheet_link_tag("application_mobile.css", :id => "myid")
28
- helper.mobylette_stylesheet_link_tag("application", "home", :id => "myid").should == stylesheet_link_tag("application_mobile", "home_mobile", :id => "myid")
29
- helper.mobylette_stylesheet_link_tag("application.css", "home", :id => "myid").should == stylesheet_link_tag("application_mobile.css", "home_mobile", :id => "myid")
30
- end
31
- end
32
-
33
- describe "mobylette_javascript_include_tag" do
34
- it "should not change the files names when the request is not mobile" do
35
- reset_test_request_agent
36
- helper.mobylette_javascript_include_tag("application").should == javascript_include_tag("application")
37
- helper.mobylette_javascript_include_tag("application.js").should == javascript_include_tag("application.js")
38
- helper.mobylette_javascript_include_tag("application", "home").should == javascript_include_tag("application", "home")
39
- helper.mobylette_javascript_include_tag("application.js", "home").should == javascript_include_tag("application.js", "home")
40
- end
41
-
42
- it "should add the '_mobile' sulfix to the files names when the request is mobile" do
43
- force_mobile_request_agent
44
- helper.mobylette_javascript_include_tag("application").should == javascript_include_tag("application_mobile")
45
- helper.mobylette_javascript_include_tag("application.js").should == javascript_include_tag("application_mobile.js")
46
- helper.mobylette_javascript_include_tag("application", "home").should == javascript_include_tag("application_mobile", "home_mobile")
47
- helper.mobylette_javascript_include_tag("application.js", "home").should == javascript_include_tag("application_mobile.js", "home_mobile")
48
- end
49
-
50
- it "should add the '_mobile' sulfix to the files names when the request is mobile with options" do
51
- force_mobile_request_agent
52
- helper.mobylette_javascript_include_tag("application", :id => "myid").should == javascript_include_tag("application_mobile", :id => "myid")
53
- helper.mobylette_javascript_include_tag("application.js", :id => "myid").should == javascript_include_tag("application_mobile.js", :id => "myid")
54
- helper.mobylette_javascript_include_tag("application", "home", :id => "myid").should == javascript_include_tag("application_mobile", "home_mobile", :id => "myid")
55
- helper.mobylette_javascript_include_tag("application.js", "home", :id => "myid").should == javascript_include_tag("application_mobile.js", "home_mobile", :id => "myid")
56
- end
57
- end
58
-
59
- end