Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
annotate
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open-source
annotate
Commits
d902dc4c
Unverified
Commit
d902dc4c
authored
5 years ago
by
Shu Fujita
Committed by
GitHub
5 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor test cases of AnnotateRoutes as for Rake versions (#754)
Refactor test cases for entire rewrite in the future.
parent
ec0b3b61
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
140 additions
and
28 deletions
+140
-28
.rubocop_todo.yml
.rubocop_todo.yml
+3
-3
annotate_routes_spec.rb
spec/lib/annotate/annotate_routes_spec.rb
+137
-25
No files found.
.rubocop_todo.yml
View file @
d902dc4c
# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2020-02-
05 17:13:49 -10
00 using RuboCop version 0.68.1.
# on 2020-02-
12 18:43:06 +09
00 using RuboCop version 0.68.1.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
...
...
@@ -221,7 +221,7 @@ Naming/AccessorMethodName:
Exclude
:
-
'
lib/annotate.rb'
# Offense count:
82
# Offense count:
93
# Configuration parameters: Blacklist.
# Blacklist: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
Naming/HeredocDelimiterNaming
:
...
...
@@ -528,7 +528,7 @@ Style/UnneededPercentQ:
Exclude
:
-
'
annotate.gemspec'
# Offense count: 3
53
# Offense count: 3
44
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
# URISchemes: http, https
...
...
This diff is collapsed.
Click to expand it.
spec/lib/annotate/annotate_routes_spec.rb
View file @
d902dc4c
...
...
@@ -271,53 +271,165 @@ describe AnnotateRoutes do
end
end
describe
'
When adding with olde
r Rake versions'
do
before
(
:each
)
do
describe
'
As fo
r Rake versions'
do
before
:each
do
expect
(
File
).
to
receive
(
:exist?
).
with
(
ROUTE_FILE
).
and_return
(
true
)
expect
(
AnnotateRoutes
).
to
receive
(
:`
).
with
(
'rake routes'
).
and_return
(
"(in /bad/line)
\n
good line"
)
expect
(
File
).
to
receive
(
:open
).
with
(
ROUTE_FILE
,
'wb'
).
and_yield
(
mock_file
)
expect
(
AnnotateRoutes
).
to
receive
(
:puts
).
with
(
MESSAGE_ANNOTATED
)
expect
(
File
).
to
receive
(
:read
).
with
(
ROUTE_FILE
).
and_return
(
route_file_content
)
expect
(
AnnotateRoutes
).
to
receive
(
:`
).
with
(
'rake routes'
).
and_return
(
rake_routes_result
)
end
it
'should annotate and add a newline!'
do
expect
(
File
).
to
receive
(
:read
).
with
(
ROUTE_FILE
).
and_return
(
"ActionController::Routing...
\n
foo"
)
expect
(
mock_file
).
to
receive
(
:puts
).
with
(
/ActionController::Routing...\nfoo\n\n# == Route Map\n#\n# good line\n/
)
AnnotateRoutes
.
do_annotations
context
'with older Rake versions'
do
let
:rake_routes_result
do
<<~
EOS
.
chomp
(in /bad/line)
good line
EOS
end
context
'When the route file does not end with an empty line'
do
let
:route_file_content
do
<<~
EOS
.
chomp
ActionController::Routing...
foo
EOS
end
let
:expected_result
do
<<~
EOS
ActionController::Routing...
foo
# == Route Map
#
# good line
EOS
end
it
'should not add a newline if there are empty lines'
do
expect
(
File
).
to
receive
(
:read
).
with
(
ROUTE_FILE
).
and_return
(
"ActionController::Routing...
\n
foo
\n
"
)
expect
(
mock_file
).
to
receive
(
:puts
).
with
(
/ActionController::Routing...\nfoo\n\n# == Route Map\n#\n# good line\n/
)
it
'annotates with an empty line'
do
expect
(
mock_file
).
to
receive
(
:puts
).
with
(
expected_result
)
expect
(
AnnotateRoutes
).
to
receive
(
:puts
).
with
(
MESSAGE_ANNOTATED
)
AnnotateRoutes
.
do_annotations
end
end
describe
'When adding with newer Rake versions'
do
before
(
:each
)
do
expect
(
File
).
to
receive
(
:exist?
).
with
(
ROUTE_FILE
).
and_return
(
true
)
expect
(
AnnotateRoutes
).
to
receive
(
:`
).
with
(
'rake routes'
).
and_return
(
"another good line
\n
good line"
)
expect
(
File
).
to
receive
(
:open
).
with
(
ROUTE_FILE
,
'wb'
).
and_yield
(
mock_file
)
context
'When the route file ends with an empty line'
do
let
:route_file_content
do
<<~
EOS
ActionController::Routing...
foo
EOS
end
let
:expected_result
do
<<~
EOS
ActionController::Routing...
foo
# == Route Map
#
# good line
EOS
end
it
'annotates without an empty line'
do
expect
(
mock_file
).
to
receive
(
:puts
).
with
(
expected_result
)
expect
(
AnnotateRoutes
).
to
receive
(
:puts
).
with
(
MESSAGE_ANNOTATED
)
AnnotateRoutes
.
do_annotations
end
end
end
context
'with newer Rake versions'
do
let
:rake_routes_result
do
<<~
EOS
.
chomp
another good line
good line
EOS
end
context
'When the route file does not end with an empty line'
do
context
'When no option is passed'
do
let
:route_file_content
do
<<~
EOS
.
chomp
ActionController::Routing...
foo
EOS
end
let
:expected_result
do
<<~
EOS
ActionController::Routing...
foo
# == Route Map
#
# another good line
# good line
EOS
end
it
'should annotate and add a newline!'
do
expect
(
File
).
to
receive
(
:read
).
with
(
ROUTE_FILE
).
and_return
(
"ActionController::Routing...
\n
foo"
)
expect
(
mock_file
).
to
receive
(
:puts
).
with
(
/ActionController::Routing...\nfoo\n\n# == Route Map\n#\n# another good line\n# good line\n/
)
it
'annotates with an empty line'
do
expect
(
mock_file
).
to
receive
(
:puts
).
with
(
expected_result
)
expect
(
AnnotateRoutes
).
to
receive
(
:puts
).
with
(
MESSAGE_ANNOTATED
)
AnnotateRoutes
.
do_annotations
end
end
end
context
'When the route file ends with an empty line'
do
let
:route_file_content
do
<<~
EOS
ActionController::Routing...
foo
EOS
end
let
:expected_result
do
<<~
EOS
ActionController::Routing...
foo
# == Route Map
#
# another good line
# good line
EOS
end
it
'annotates without an empty line'
do
expect
(
mock_file
).
to
receive
(
:puts
).
with
(
expected_result
)
expect
(
AnnotateRoutes
).
to
receive
(
:puts
).
with
(
MESSAGE_ANNOTATED
)
it
'should not add a newline if there are empty lines'
do
expect
(
File
).
to
receive
(
:read
).
with
(
ROUTE_FILE
).
and_return
(
"ActionController::Routing...
\n
foo
\n
"
)
expect
(
mock_file
).
to
receive
(
:puts
).
with
(
/ActionController::Routing...\nfoo\n\n# == Route Map\n#\n# another good line\n# good line\n/
)
AnnotateRoutes
.
do_annotations
end
end
context
'When option "timestamp" is passed'
do
let
:route_file_content
do
<<~
EOS
.
chomp
ActionController::Routing...
foo
EOS
end
let
:expected_result
do
/ActionController::Routing...\nfoo\n\n# == Route Map \(Updated \d{4}-\d{2}-\d{2} \d{2}:\d{2}\)\n#\n# another good line\n# good line\n/
end
it
'annotates with the timestamp and an empty line'
do
expect
(
mock_file
).
to
receive
(
:puts
).
with
(
expected_result
)
expect
(
AnnotateRoutes
).
to
receive
(
:puts
).
with
(
MESSAGE_ANNOTATED
)
it
'should add a timestamp when :timestamp is passed'
do
expect
(
File
).
to
receive
(
:read
).
with
(
ROUTE_FILE
).
and_return
(
"ActionController::Routing...
\n
foo"
)
expect
(
mock_file
).
to
receive
(
:puts
).
with
(
/ActionController::Routing...\nfoo\n\n# == Route Map \(Updated \d{4}-\d{2}-\d{2} \d{2}:\d{2}\)\n#\n# another good line\n# good line\n/
)
AnnotateRoutes
.
do_annotations
timestamp:
true
end
end
end
end
describe
'.remove_annotations'
do
before
:each
do
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment