lydia 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,26 +6,22 @@ extend Lydia::Delegator
6
6
 
7
7
  describe 'Delegator' do
8
8
  include Rack::Test::Methods
9
-
9
+
10
10
  class TestDelegator
11
11
  extend Lydia::Delegator
12
-
12
+
13
13
  get '/hello' do
14
14
  'Hello world!'
15
15
  end
16
16
  end
17
-
17
+
18
18
  def app
19
19
  Lydia::Application.new
20
20
  end
21
-
22
- it 'Delegator initialize correctly' do
23
- expect(1).to eq(1)
24
- end
25
-
21
+
26
22
  it 'Delegates to Application' do
27
23
  get '/hello'
28
24
  expect(last_response.status).to eq(200)
29
25
  expect(last_response.body).to eq('Hello world!')
30
26
  end
31
- end
27
+ end
@@ -2,50 +2,49 @@ require 'spec_helper'
2
2
  require 'rack/test'
3
3
  require 'lydia/application'
4
4
 
5
- describe "Filters" do
5
+ describe 'Filters' do
6
6
  include Rack::Test::Methods
7
7
 
8
- class TestFilters < Lydia::Application
9
-
8
+ class TestFilters < Lydia::Application
10
9
  before do
11
10
  @filter = 'before'
12
11
  end
13
-
12
+
14
13
  after do
15
14
  @filter = 'after'
16
15
  end
17
-
16
+
18
17
  get '/filter' do
19
18
  @filter
20
19
  end
21
-
20
+
22
21
  redirect '/redirect', to: '/redirected'
23
-
22
+
24
23
  get '/redirected' do
25
24
  'redirected'
26
25
  end
27
-
26
+
28
27
  namespace '/namespace' do
29
28
  before do
30
29
  @filter_nested = 'before'
31
30
  end
32
-
31
+
33
32
  after do
34
33
  @filter_nested = 'after'
35
34
  end
36
-
35
+
37
36
  redirect '/redirect', to: '/redirected'
38
-
37
+
39
38
  get '/redirected' do
40
39
  'redirected in namespace'
41
40
  end
42
-
41
+
43
42
  get '/filter' do
44
43
  "#{@filter} #{@filter_nested}"
45
44
  end
46
45
  end
47
46
  end
48
-
47
+
49
48
  def app
50
49
  TestFilters.new
51
50
  end
@@ -64,10 +63,10 @@ describe "Filters" do
64
63
  get '/namespace/filter'
65
64
  expect(last_response.status).to eq(200)
66
65
  expect(last_response.body).to eq('before before')
67
- end
66
+ end
68
67
  end
69
68
  end
70
-
69
+
71
70
  context 'Redirect' do
72
71
  context 'Root' do
73
72
  it 'redirects' do
@@ -76,7 +75,7 @@ describe "Filters" do
76
75
  expect(last_response.body).to eq('redirected')
77
76
  end
78
77
  end
79
-
78
+
80
79
  context 'Namespace' do
81
80
  it 'redirects' do
82
81
  get '/namespace/redirect'
@@ -85,5 +84,4 @@ describe "Filters" do
85
84
  end
86
85
  end
87
86
  end
88
-
89
- end
87
+ end
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
  require 'rack/test'
3
3
  require 'lydia/application'
4
4
 
5
- describe "Helpers" do
5
+ describe 'Helpers' do
6
6
  include Rack::Test::Methods
7
7
 
8
8
  class TestHelpers < Lydia::Application
@@ -10,24 +10,24 @@ describe "Helpers" do
10
10
  content_type 'application/json'
11
11
  'body'
12
12
  end
13
-
13
+
14
14
  get '/redirect' do
15
15
  redirect '/new_url'
16
- end
17
-
16
+ end
17
+
18
18
  get '/params' do
19
19
  params['key']
20
20
  end
21
-
21
+
22
22
  get '/file' do
23
23
  send_file('test.png')
24
24
  end
25
25
  end
26
-
26
+
27
27
  def app
28
28
  TestHelpers.new
29
29
  end
30
-
30
+
31
31
  it 'responds to content_type' do
32
32
  get '/content_type'
33
33
  expect(last_response.status).to eq(200)
@@ -39,17 +39,17 @@ describe "Helpers" do
39
39
  get '/redirect'
40
40
  expect(last_response.status).to eq(302)
41
41
  expect(last_response.body).to eq('/new_url')
42
- end
43
-
42
+ end
43
+
44
44
  it 'responds to params' do
45
- get '/params', {key: 'value'}
45
+ get '/params', key: 'value'
46
46
  expect(last_response.status).to eq(200)
47
47
  expect(last_response.body).to eq('value')
48
48
  end
49
-
49
+
50
50
  it 'sends a file' do
51
- expect {
51
+ expect do
52
52
  get '/file'
53
- }.to raise_error(NotImplementedError)
53
+ end.to raise_error(NotImplementedError)
54
54
  end
55
- end
55
+ end
@@ -4,7 +4,7 @@ require 'erb'
4
4
  require 'json'
5
5
  require 'lydia/application'
6
6
 
7
- describe "Middleware" do
7
+ describe 'Middleware' do
8
8
  include Rack::Test::Methods
9
9
 
10
10
  class UpcaseMiddleware
@@ -13,24 +13,24 @@ describe "Middleware" do
13
13
  end
14
14
 
15
15
  def call(env)
16
- status, headers, body = @app.call(env)
17
- upcased_body = body.map { |chunk| chunk.upcase }
16
+ status, headers, body = @app.call(env)
17
+ upcased_body = body.map(&:upcase)
18
18
  [status, headers, upcased_body]
19
19
  end
20
- end
21
-
20
+ end
21
+
22
22
  class TestMiddleware < Lydia::Application
23
23
  use UpcaseMiddleware
24
-
24
+
25
25
  get '/hello' do
26
26
  'Hello world!'
27
27
  end
28
28
  end
29
-
29
+
30
30
  def app
31
31
  TestMiddleware.new
32
32
  end
33
-
33
+
34
34
  context 'Middleware stack' do
35
35
  it 'is correctly handled' do
36
36
  get '/hello'
@@ -38,4 +38,4 @@ describe "Middleware" do
38
38
  expect(last_response.body).to eq('HELLO WORLD!')
39
39
  end
40
40
  end
41
- end
41
+ end
@@ -2,27 +2,27 @@ require 'spec_helper'
2
2
  require 'lydia/response'
3
3
 
4
4
  describe 'Response' do
5
- let (:response) { Lydia::Response.new }
6
-
7
- context 'initialization' do
5
+ let(:response) { Lydia::Response.new }
6
+
7
+ context 'initialization' do
8
8
  it 'is created' do
9
- expect(response).to_not be_nil
9
+ expect(response).not_to be_nil
10
10
  end
11
-
11
+
12
12
  it 'contains default content type' do
13
13
  expect(response.headers).to include('Content-Type' => 'text/html')
14
14
  end
15
15
  end
16
-
16
+
17
17
  context 'build' do
18
18
  it 'responds to build' do
19
19
  expect(response).to respond_to(:build)
20
20
  end
21
-
21
+
22
22
  it 'builds using a string (body)' do
23
23
  body = 'Hello world!'
24
24
  result = response.build(body)
25
- expect(result).to_not be_nil
25
+ expect(result).not_to be_nil
26
26
  expect(result).to be_an(Array)
27
27
  expect(result[0]).to eq(200)
28
28
  expect(result[1]).to include('Content-Type' => 'text/html')
@@ -30,35 +30,35 @@ describe 'Response' do
30
30
  expect(result[2]).to be_an(Array)
31
31
  expect(result[2][0]).to eq(body)
32
32
  end
33
-
33
+
34
34
  it 'builds using a fixnum (status)' do
35
35
  status = 204
36
36
  result = response.build(status)
37
- expect(result).to_not be_nil
37
+ expect(result).not_to be_nil
38
38
  expect(result).to be_an(Array)
39
39
  expect(result[0]).to eq(204)
40
- expect(result[1]).to_not include('Content-Type')
41
- expect(result[1]).to_not include('Content-Length')
40
+ expect(result[1]).not_to include('Content-Type')
41
+ expect(result[1]).not_to include('Content-Length')
42
42
  expect(result[2]).to be_an(Array)
43
43
  expect(result[2][0]).to be_nil
44
44
  end
45
-
45
+
46
46
  it 'builds using a hash (body)' do
47
- body = {hello: 'world'}
47
+ body = { hello: 'world' }
48
48
  result = response.build(body)
49
- expect(result).to_not be_nil
49
+ expect(result).not_to be_nil
50
50
  expect(result).to be_an(Array)
51
51
  expect(result[0]).to eq(200)
52
52
  expect(result[1]).to include('Content-Type' => 'application/json')
53
53
  expect(result[1]).to include('Content-Length' => body.to_json.length.to_s)
54
54
  expect(result[2]).to be_an(Array)
55
55
  expect(result[2][0]).to eq(body.to_json)
56
- end
57
-
56
+ end
57
+
58
58
  it 'builds using an array of two (body is array)' do
59
59
  body = [201, ['Body']]
60
60
  result = response.build(body)
61
- expect(result).to_not be_nil
61
+ expect(result).not_to be_nil
62
62
  expect(result).to be_an(Array)
63
63
  expect(result[0]).to eq(201)
64
64
  expect(result[1]).to include('Content-Type' => 'text/html')
@@ -66,23 +66,23 @@ describe 'Response' do
66
66
  expect(result[2]).to be_an(Array)
67
67
  expect(result[2][0]).to eq(body[1][0])
68
68
  end
69
-
70
- it 'builds using an array of two (body is noy an array)' do
69
+
70
+ it 'builds using an array of two (body is not an array)' do
71
71
  body = [201, 'Body']
72
72
  result = response.build(body)
73
- expect(result).to_not be_nil
73
+ expect(result).not_to be_nil
74
74
  expect(result).to be_an(Array)
75
75
  expect(result[0]).to eq(201)
76
76
  expect(result[1]).to include('Content-Type' => 'text/html')
77
77
  expect(result[1]).to include('Content-Length' => body[1].length.to_s)
78
78
  expect(result[2]).to be_an(Array)
79
79
  expect(result[2][0]).to eq(body[1])
80
- end
81
-
80
+ end
81
+
82
82
  it 'builds using an array of three' do
83
- body = [201, {'Authentication' => '12345'}, 'Body']
83
+ body = [201, { 'Authentication' => '12345' }, 'Body']
84
84
  result = response.build(body)
85
- expect(result).to_not be_nil
85
+ expect(result).not_to be_nil
86
86
  expect(result).to be_an(Array)
87
87
  expect(result[0]).to eq(201)
88
88
  expect(result[1]).to include('Content-Type' => 'text/html')
@@ -90,39 +90,37 @@ describe 'Response' do
90
90
  expect(result[1]).to include('Authentication' => '12345')
91
91
  expect(result[2]).to be_an(Array)
92
92
  expect(result[2][0]).to eq(body[2])
93
- end
94
-
93
+ end
94
+
95
95
  class Stream
96
96
  def each
97
- 10.times { |i| yield "#{i}" }
97
+ 10.times { |i| yield i.to_s }
98
98
  end
99
99
  end
100
100
 
101
101
  context 'Stream' do
102
-
103
102
  it 'builds a valid stream object' do
104
103
  stream = ''
105
- Stream.new.each{ |i| stream += i }
104
+ Stream.new.each { |i| stream += i }
106
105
  expect(stream).to eq('0123456789')
107
106
  end
108
-
107
+
109
108
  it 'builds using an object that responds to :each' do
110
109
  result = response.build(Stream.new)
111
- expect(result).to_not be_nil
110
+ expect(result).not_to be_nil
112
111
  expect(result).to be_an(Array)
113
112
  expect(result[0]).to eq(200)
114
113
  expect(result[1]).to include('Content-Type' => 'text/html')
115
114
  expect(result[1]).to include('Content-Length')
116
115
  expect(result[2]).to be_an(Array)
117
- expect(result[2][0]).to_not be_nil
116
+ expect(result[2][0]).not_to be_nil
118
117
  end
119
-
120
118
  end
121
-
119
+
122
120
  it 'returns ArgumentError if object is not allowed' do
123
- expect {
121
+ expect do
124
122
  response.build(nil)
125
- }.to raise_error(ArgumentError)
123
+ end.to raise_error(ArgumentError)
126
124
  end
127
125
  end
128
- end
126
+ end
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
  require 'rack/test'
3
3
  require 'lydia/router'
4
4
 
5
- describe "Router" do
5
+ describe 'Router' do
6
6
  include Rack::Test::Methods
7
7
 
8
8
  class TestRouter < Lydia::Router
@@ -15,16 +15,16 @@ describe "Router" do
15
15
  end
16
16
 
17
17
  get '/500' do
18
- raise StandardError.new('Error!')
18
+ raise StandardError, 'Error!'
19
19
  end
20
20
 
21
- head '/request' do get_response('head'); end
22
- get '/request' do get_response('get'); end
23
- patch '/request' do get_response('patch'); end
24
- put '/request' do get_response('put'); end
25
- post '/request' do get_response('post'); end
26
- delete '/request' do get_response('delete'); end
27
- options '/request' do get_response('options'); end
21
+ head('/request') { get_response('head') }
22
+ get('/request') { get_response('get') }
23
+ patch('/request') { get_response('patch') }
24
+ put('/request') { get_response('put') }
25
+ post('/request') { get_response('post') }
26
+ delete('/request') { get_response('delete') }
27
+ options('/request') { get_response('options') }
28
28
 
29
29
  namespace '/namespace' do
30
30
  get '/hello' do
@@ -89,7 +89,7 @@ describe "Router" do
89
89
  end
90
90
 
91
91
  def get_response(body, status = 200)
92
- [status, { 'Content-Type' => 'text/html', 'Content-Length'=> body.length.to_s }, [body]]
92
+ [status, { 'Content-Type' => 'text/html', 'Content-Length' => body.length.to_s }, [body]]
93
93
  end
94
94
  end
95
95
 
@@ -115,11 +115,12 @@ describe "Router" do
115
115
  end
116
116
 
117
117
  context 'Response' do
118
- it "returns a valid response" do
118
+ it 'returns a valid response' do
119
119
  get '/'
120
- expect(last_response).to_not be_nil
120
+ expect(last_response).not_to be_nil
121
121
  expect(last_response.status).to eq(200)
122
- expect(last_response.headers.to_hash).to eq({'Content-Type' => 'text/html', 'Content-Length' => '21'})
122
+ expect(last_response.headers.to_hash).to eq('Content-Type' => 'text/html',
123
+ 'Content-Length' => '21')
123
124
  expect(last_response.body).to eq('<H1>Hello world!</H1>')
124
125
  end
125
126
  end
@@ -169,7 +170,6 @@ describe "Router" do
169
170
  end
170
171
 
171
172
  context 'Routing' do
172
-
173
173
  context 'Namespace' do
174
174
  it 'GET /namespace/hello' do
175
175
  get '/namespace/hello'
@@ -248,13 +248,13 @@ describe "Router" do
248
248
  it 'GET /index.json' do
249
249
  get '/index.json'
250
250
  expect(last_response.status).to eq(200)
251
- expect(last_response.body).to eq('json')
251
+ expect(last_response.body).to eq('json')
252
252
  end
253
253
  end
254
254
 
255
255
  context 'Query string params' do
256
256
  it 'GET /querystring_params' do
257
- get '/querystring_params', { name: 'bob' }
257
+ get '/querystring_params', name: 'bob'
258
258
  expect(last_response.status).to eq(200)
259
259
  expect(last_response.body).to eq('bob')
260
260
  end
@@ -262,12 +262,12 @@ describe "Router" do
262
262
 
263
263
  context 'Route not valid' do
264
264
  it 'returns ArgumentError' do
265
- expect {
265
+ expect do
266
266
  class WrongRoute < Lydia::Router
267
267
  get Object do
268
268
  end
269
269
  end
270
- }.to raise_error(ArgumentError)
270
+ end.to raise_error(ArgumentError)
271
271
  end
272
272
  end
273
273
  end
@@ -308,5 +308,4 @@ describe "Router" do
308
308
  expect(last_response.status).to eq(200)
309
309
  end
310
310
  end
311
-
312
311
  end