Skip to content

Commit

Permalink
up tests
Browse files Browse the repository at this point in the history
  • Loading branch information
geraldb committed Jan 10, 2015
1 parent b294387 commit 7bf48f7
Show file tree
Hide file tree
Showing 11 changed files with 90 additions and 3,489 deletions.
1 change: 0 additions & 1 deletion Manifest.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ lib/feedparser/parser.rb
lib/feedparser/version.rb
test/feeds/googlegroups.atom
test/feeds/googlegroups2.atom
test/feeds/quirksblog.atom.v03
test/helper.rb
test/test_atom.rb
test/test_atom_from_file.rb
Expand Down
3 changes: 2 additions & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ Hoe.spec 'feedparser' do
self.history_file = 'HISTORY.md'

self.extra_deps = [
['logutils', '>= 0.6.1']
['logutils', '>=0.6.1'],
['textutils', '>=1.0.0'], ### used just for testing; move into dev deps - how ???
]

### todo: add fetcher dep for testing (e.g. development only)
Expand Down
21 changes: 21 additions & 0 deletions attic/test_atom_from_file.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@

class TestAtomFromFile < MiniTest::Test

def test_googlegroup
feed = parse_feed_from_file( 'googlegroups.atom' )

assert_equal 'atom', feed.format
assert_equal 'Google Groups', feed.generator
assert_equal 'https://groups.google.com/d/forum/beerdb', feed.url
end

def test_googlegroup2
feed = parse_feed_from_file( 'googlegroups2.atom' )

assert_equal 'atom', feed.format
assert_equal 'Google Groups (w/ leading n trailing newlines stripped)', feed.generator
assert_equal 'https://groups.google.com/d/forum/beerdb', feed.url
end

end

10 changes: 1 addition & 9 deletions attic/test_atom_v03.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
###
# to run use
# ruby -I ./lib -I ./test test/test_atom_v03.rb
# or better
# rake test

require 'helper'


class TestAtomV03 < MiniTest::Test
Expand Down Expand Up @@ -37,5 +30,4 @@ def test_parse
assert_equal '2014-11-26T12:11:25+00:00', feed.items[1].updated.to_s
end

end # class TestAtomV03

end
1,179 changes: 0 additions & 1,179 deletions sandbox/dumps/quirksmode.atom.xml

This file was deleted.

1,179 changes: 0 additions & 1,179 deletions sandbox/dumps/quirksmode.atom.xml.ignore

This file was deleted.

15 changes: 15 additions & 0 deletions test/feeds/googlegroups.atom
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,18 @@
<summary type="html">Hello, I&apos;ve started putting together a planet site for beer, that is, Planet Beer [1]. The first feed lists include: - Austria [2] - Belgium [3] You&apos;re welcome and invited to suggest new countries and feeds. Cheers. Prost. [1] http://planetbeer.herokuapp.com [2] http://github.com/openbeer/planet/blob/master/</summary>
</entry>
</feed>

---

feed.format: atom
feed.generator: Google Groups
feed.title: Open Beer & Brewery Database (beer.db)
feed.url: https://groups.google.com/d/forum/beerdb

feed.items[0].title: Planet Beer (Austria, Belgium) - Feeds Incl. Craft Fest Wien, Beer-A-Day, proBier n Friends
feed.items[0].url: https://groups.google.com/d/topic/beerdb/KpQOUDYJ3J8

### todo: add check for datetime (use to_s ??)
## feed.updated.to_s: 2014-12-31T15:33:00+00:00
## feed.items[0].to_s: 2014-12-31T15:33:00+00:00

7 changes: 7 additions & 0 deletions test/feeds/googlegroups2.atom
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,10 @@
<summary type="html">Hello, I&apos;ve started putting together a planet site for beer, that is, Planet Beer [1]. The first feed lists include: - Austria [2] - Belgium [3] You&apos;re welcome and invited to suggest new countries and feeds. Cheers. Prost. [1] http://planetbeer.herokuapp.com [2] http://github.com/openbeer/planet/blob/master/</summary>
</entry>
</feed>

---

feed.format: atom
feed.generator: Google Groups (w/ leading n trailing newlines stripped)
feed.url: https://groups.google.com/d/forum/beerdb

1,098 changes: 0 additions & 1,098 deletions test/feeds/quirksblog.atom.v03

This file was deleted.

45 changes: 36 additions & 9 deletions test/helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,57 @@
require 'minitest/autorun'

require 'logutils'

require 'textutils'
require 'fetcher'


## our own code

require 'feedparser'


LogUtils::Logger.root.level = :debug

def parse_feed( url )
xml = Fetcher.read( url )

FeedParser::Parser.parse( xml )
end
## add custom assert
module MiniTest
class Test

def assert_feed_tests_for( name )
b = BlockReader.from_file( "#{FeedParser.root}/test/feeds/#{name}" ).read

xml = b[0]
tests = b[1]

feed = FeedParser::Parser.parse( xml )

tests.each_line do |line|
if line =~ /^[ \t]*$/
next ## skip blank lines
end

line = line.strip

pos = line.index(':') ## assume first colon (:) is separator
expr = line[0...pos].strip ## NOTE: do NOT include colon (thus, use tree dots ...)
value = line[pos+1..-1].strip

code="assert_equal '#{value}', #{expr}"
puts "eval #{code}"
eval( code )
end # each line
end

def read_feed_from_file( name )
File.read( "#{FeedParser.root}/test/feeds/#{name}")
end
end # module MiniTest



def parse_feed_from_file( name )
xml = read_feed_from_file( name )
def parse_feed( url )
xml = Fetcher.read( url )

FeedParser::Parser.parse( xml )
FeedParser::Parser.parse( xml )
end


21 changes: 8 additions & 13 deletions test/test_atom_from_file.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,15 @@

class TestAtomFromFile < MiniTest::Test

def test_googlegroup
feed = parse_feed_from_file( 'googlegroups.atom' )

assert_equal 'atom', feed.format
assert_equal 'Google Groups', feed.generator
assert_equal 'https://groups.google.com/d/forum/beerdb', feed.url
def test_all
names = ['googlegroups.atom',
'googlegroups2.atom'
]

names.each do |name|
assert_feed_tests_for( name )
end
end

def test_googlegroup2
feed = parse_feed_from_file( 'googlegroups2.atom' )

assert_equal 'atom', feed.format
assert_equal 'Google Groups (w/ leading n trailing newlines stripped)', feed.generator
assert_equal 'https://groups.google.com/d/forum/beerdb', feed.url
end

end # class TestAtomFromFile

0 comments on commit 7bf48f7

Please sign in to comment.