Feature: Generate an XML file for Sparkle to use for updates
In order to reduce cost of distributing apps to users
As a developer/release manager
I want to generate an XML file for the Sparkle framework
Scenario: rake task to create/update the appcast file
Given a Cocoa app with choctop installed called "SampleApp"
And ChocTop config is configured for remote Sparkle
When I invoke task "rake dmg feed"
Then file "appcast/build/my_feed.xml" is created
And file "appcast/build/my_feed.xml" contents does match //
And file "appcast/build/my_feed.xml" contents does match //
And file "appcast/build/my_feed.xml" contents does match //
And file "appcast/build/my_feed.xml" contents does match /- /
And file "appcast/build/my_feed.xml" contents does match /SampleApp 0.1.0/
And file "appcast/build/my_feed.xml" contents does match /href="http://mocra.com/sample_app/my_feed.xml"/
And file "appcast/build/my_feed.xml" contents does match /http://mocra.com/sample_app/release_notes.html/
And file "appcast/build/index.php" is created
And file "appcast/build/index.php" contents does match /Location/
And file "appcast/build/index.php" contents does match /SampleApp-0.1.0.dmg/
And file "appcast/build/release_notes.html" is created
And file "appcast/build/release_notes.html" contents does match /0.1.0/
And file "appcast/build/release_notes.html" contents does match /
Initial release
/
And file "appcast/build/release_notes.html" contents does match /Yay! First release.
/
And file "appcast/build/release_notes.html" contents does match //
Scenario: generate default release notes if no release_notes.txt
Given a Cocoa app with choctop installed called "SampleApp"
And ChocTop config is configured for remote Sparkle
And "release_notes.txt" file is deleted
When I invoke task "rake dmg feed"
Then file "appcast/build/release_notes.html" is created
And file "appcast/build/release_notes.html" contents does match /0.1.0/
And file "appcast/build/release_notes.html" contents does match /Initial release
/
And file "appcast/build/release_notes.html" contents does match //