Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Jérome Perrin
gitlab-ce
Commits
d444a23a
Commit
d444a23a
authored
Mar 31, 2013
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
specs for Gitlab::Git::Repository and Gitlab::Git::Commit
parent
676bce2a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
155 additions
and
0 deletions
+155
-0
spec/lib/git/commit_spec.rb
spec/lib/git/commit_spec.rb
+50
-0
spec/lib/git/repository_spec.rb
spec/lib/git/repository_spec.rb
+105
-0
No files found.
spec/lib/git/commit_spec.rb
0 → 100644
View file @
d444a23a
require
"spec_helper"
describe
Gitlab
::
Git
::
Commit
do
let
(
:commit
)
{
create
(
:project
).
repository
.
commit
}
describe
"Commit info"
do
before
do
@committer
=
double
(
email:
'mike@smith.com'
,
name:
'Mike Smith'
)
@author
=
double
(
email:
'john@smith.com'
,
name:
'John Smith'
)
@raw_commit
=
double
(
id:
"bcf03b5de6abcf03b5de6c"
,
author:
@author
,
committer:
@committer
,
committed_date:
Date
.
yesterday
,
message:
'Refactoring specs'
)
@commit
=
Gitlab
::
Git
::
Commit
.
new
(
@raw_commit
)
end
it
{
@commit
.
short_id
.
should
==
"bcf03b5de6a"
}
it
{
@commit
.
safe_message
.
should
==
@raw_commit
.
message
}
it
{
@commit
.
created_at
.
should
==
@raw_commit
.
committed_date
}
it
{
@commit
.
author_email
.
should
==
@author
.
email
}
it
{
@commit
.
author_name
.
should
==
@author
.
name
}
it
{
@commit
.
committer_name
.
should
==
@committer
.
name
}
it
{
@commit
.
committer_email
.
should
==
@committer
.
email
}
it
{
@commit
.
different_committer?
.
should
be_true
}
end
describe
"Class methods"
do
subject
{
Gitlab
::
Git
::
Commit
}
it
{
should
respond_to
(
:find_or_first
)
}
it
{
should
respond_to
(
:fresh_commits
)
}
it
{
should
respond_to
(
:commits_with_refs
)
}
it
{
should
respond_to
(
:commits_since
)
}
it
{
should
respond_to
(
:commits_between
)
}
it
{
should
respond_to
(
:commits
)
}
it
{
should
respond_to
(
:compare
)
}
end
end
spec/lib/git/repository_spec.rb
0 → 100644
View file @
d444a23a
require
"spec_helper"
describe
Gitlab
::
Git
::
Repository
do
let
(
:project
)
{
create
(
:project
)
}
let
(
:repository
)
{
project
.
repository
}
describe
"Respond to"
do
subject
{
repository
}
it
{
should
respond_to
(
:repo
)
}
it
{
should
respond_to
(
:tree
)
}
it
{
should
respond_to
(
:root_ref
)
}
it
{
should
respond_to
(
:tags
)
}
it
{
should
respond_to
(
:commit
)
}
it
{
should
respond_to
(
:commits
)
}
it
{
should
respond_to
(
:commits_between
)
}
it
{
should
respond_to
(
:commits_with_refs
)
}
it
{
should
respond_to
(
:commits_since
)
}
it
{
should
respond_to
(
:commits_between
)
}
end
describe
"#discover_default_branch"
do
let
(
:master
)
{
'master'
}
let
(
:stable
)
{
'stable'
}
it
"returns 'master' when master exists"
do
repository
.
should_receive
(
:branch_names
).
at_least
(
:once
).
and_return
([
stable
,
master
])
repository
.
discover_default_branch
.
should
==
'master'
end
it
"returns non-master when master exists but default branch is set to something else"
do
repository
.
root_ref
=
'stable'
repository
.
should_receive
(
:branch_names
).
at_least
(
:once
).
and_return
([
stable
,
master
])
repository
.
discover_default_branch
.
should
==
'stable'
end
it
"returns a non-master branch when only one exists"
do
repository
.
should_receive
(
:branch_names
).
at_least
(
:once
).
and_return
([
stable
])
repository
.
discover_default_branch
.
should
==
'stable'
end
it
"returns nil when no branch exists"
do
repository
.
should_receive
(
:branch_names
).
at_least
(
:once
).
and_return
([])
repository
.
discover_default_branch
.
should
be_nil
end
end
describe
:commit
do
it
"should return first head commit if without params"
do
repository
.
commit
.
id
.
should
==
repository
.
repo
.
commits
.
first
.
id
end
it
"should return valid commit"
do
repository
.
commit
(
ValidCommit
::
ID
).
should
be_valid_commit
end
it
"should return nil"
do
repository
.
commit
(
"+123_4532530XYZ"
).
should
be_nil
end
end
describe
:tree
do
before
do
@commit
=
repository
.
commit
(
ValidCommit
::
ID
)
end
it
"should raise error w/o arguments"
do
lambda
{
repository
.
tree
}.
should
raise_error
end
it
"should return root tree for commit"
do
tree
=
repository
.
tree
(
@commit
)
tree
.
contents
.
size
.
should
==
ValidCommit
::
FILES_COUNT
tree
.
contents
.
map
(
&
:name
).
should
==
ValidCommit
::
FILES
end
it
"should return root tree for commit with correct path"
do
tree
=
repository
.
tree
(
@commit
,
ValidCommit
::
C_FILE_PATH
)
tree
.
contents
.
map
(
&
:name
).
should
==
ValidCommit
::
C_FILES
end
it
"should return root tree for commit with incorrect path"
do
repository
.
tree
(
@commit
,
"invalid_path"
).
should
be_nil
end
end
describe
"fresh commits"
do
it
{
repository
.
fresh_commits
(
3
).
count
.
should
==
3
}
it
{
repository
.
fresh_commits
.
first
.
id
.
should
==
"bcf03b5de6c33f3869ef70d68cf06e679d1d7f9a"
}
it
{
repository
.
fresh_commits
.
last
.
id
.
should
==
"f403da73f5e62794a0447aca879360494b08f678"
}
end
describe
"commits_between"
do
subject
do
commits
=
repository
.
commits_between
(
"3a4b4fb4cde7809f033822a171b9feae19d41fff"
,
"8470d70da67355c9c009e4401746b1d5410af2e3"
)
commits
.
map
{
|
c
|
c
.
id
}
end
it
{
should
have
(
3
).
elements
}
it
{
should
include
(
"f0f14c8eaba69ebddd766498a9d0b0e79becd633"
)
}
it
{
should_not
include
(
"bcf03b5de6c33f3869ef70d68cf06e679d1d7f9a"
)
}
end
end
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