Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F8393497
reader_spec.rb
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
4 KB
Subscribers
None
reader_spec.rb
View Options
#
# Author:: Enrico Stahn <mail@enricostahn.com>
#
# Copyright 2014, Zanui, <engineering@zanui.com.au>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
describe
GitHubChangelogGenerator
::
Reader
do
before
(
:all
)
do
@reader
=
GitHubChangelogGenerator
::
Reader
.
new
end
describe
'#parse_heading'
do
context
'when heading is empty'
do
subject
{
@reader
.
parse_heading
(
'## '
)
}
it
{
is_expected
.
to
be_a
(
Hash
)
}
it
{
is_expected
.
to
include
(
'version'
,
'url'
,
'date'
)
}
it
{
is_expected
.
to
include
(
'version'
=>
nil
,
'url'
=>
nil
,
'date'
=>
nil
)
}
# TODO: Doesn't work?
# it { is_expected.to have_all_string_keys }
end
context
'when given version, url and date'
do
subject
{
@reader
.
parse_heading
(
'## [1.3.10](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.10) (2015-03-18)'
)
}
it
{
is_expected
.
to
include
(
'version'
=>
'1.3.10'
)
}
it
{
is_expected
.
to
include
(
'url'
=>
'https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.10'
)
}
it
{
is_expected
.
to
include
(
'date'
=>
'2015-03-18'
)
}
end
context
'when no url and date is provided'
do
subject
{
@reader
.
parse_heading
(
'## foobar'
)
}
it
{
is_expected
.
to
include
(
'version'
=>
'foobar'
,
'url'
=>
nil
,
'date'
=>
nil
)
}
end
end
describe
'#parse'
do
context
'when file is empty'
do
subject
{
@reader
.
parse
(
''
)
}
it
{
is_expected
.
to
be_an
(
Array
)
}
it
{
is_expected
.
to
be_empty
}
end
context
'when file has only the header'
do
subject
{
@reader
.
parse
(
'# Change Log'
)
}
it
{
is_expected
.
to
be_an
(
Array
)
}
it
{
is_expected
.
to
be_empty
}
end
end
describe
'example CHANGELOG files'
do
subject
{
@reader
.
read
(
File
.
expand_path
(
File
.
join
(
File
.
dirname
(
__FILE__
),
'..'
,
'files'
,
self
.
class
.
description
)))
}
context
'github-changelog-generator.md'
do
it
{
is_expected
.
to
be_an
(
Array
)
}
it
{
is_expected
.
not_to
be_empty
}
it
{
expect
(
subject
.
count
)
.
to
eq
(
28
)
}
it
{
expect
(
subject
.
first
)
.
to
include
(
'version'
=>
'1.3.10'
)
}
it
{
expect
(
subject
.
first
)
.
to
include
(
'url'
=>
'https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.10'
)
}
it
{
expect
(
subject
.
first
)
.
to
include
(
'date'
=>
'2015-03-18'
)
}
it
{
expect
(
subject
.
first
)
.
to
include
(
'content'
)
}
it
'content should not be empty'
do
expect
(
subject
.
first
[
'content'
]
)
.
not_to
be_empty
end
end
context
'bundler.md'
do
it
{
is_expected
.
to
be_an
(
Array
)
}
it
{
is_expected
.
not_to
be_empty
}
it
{
expect
(
subject
.
count
)
.
to
eq
(
151
)
}
it
{
expect
(
subject
.
first
)
.
to
include
(
'version'
=>
'1.9.1'
)
}
it
{
expect
(
subject
.
first
)
.
to
include
(
'url'
=>
nil
)
}
it
{
expect
(
subject
.
first
)
.
to
include
(
'date'
=>
'2015-03-21'
)
}
it
{
expect
(
subject
.
first
)
.
to
include
(
'content'
)
}
it
'content should not be empty'
do
expect
(
subject
.
first
[
'content'
]
)
.
not_to
be_empty
end
end
context
'angular.js.md'
do
it
{
is_expected
.
to
be_an
(
Array
)
}
it
{
is_expected
.
not_to
be_empty
}
it
do
pending
(
'Implement heading_level for parser.'
)
expect
(
subject
.
count
)
.
to
eq
(
134
)
end
# it do
# pending('Implement heading_level for parser.')
# expect(subject.first).to include('version' => '1.4.0-beta.6 cookie-liberation')
# end
# it do
# pending('Implement heading_level for parser.')
# expect(subject.first).to include('url' => nil)
# end
# it do
# pending('Implement heading_level for parser.')
# expect(subject.first).to include('date' => '2015-03-17')
# end
# it do
# pending('Implement heading_level for parser.')
# expect(subject.first).to include('content')
# end
# it 'content should not be empty' do
# pending('Implement heading_level for parser.')
# expect(subject.first['content']).not_to be_empty
# end
end
end
end
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jun 4, 7:14 PM (5 d, 1 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3398985
Attached To
rSPNTP puppet-puppetlabs-ntp
Event Timeline
Log In to Comment