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
And ChocTop config is configured for remote Sparkle
When task 'rake dmg feed' is invoked
Then file 'appcast/build/my_feed.xml' is created
And contents of file 'appcast/build/my_feed.xml' does match //
And contents of file 'appcast/build/my_feed.xml' does match //
And contents of file 'appcast/build/my_feed.xml' does match //
And contents of file 'appcast/build/my_feed.xml' does match /- /
And contents of file 'appcast/build/my_feed.xml' does match /SampleApp 0.1.0/
And contents of file 'appcast/build/my_feed.xml' does match /href="http://mocra.com/sample_app/my_feed.xml"/
And contents of file 'appcast/build/my_feed.xml' does match /http://mocra.com/sample_app/release_notes.html/
And file 'appcast/build/index.php' is created
And contents of file 'appcast/build/index.php' does match /Location/
And contents of file 'appcast/build/index.php' does match /SampleApp-0.1.0.dmg/
And file 'appcast/build/release_notes.html' is created
And contents of file 'appcast/build/release_notes.html' does match /0.1.0/
And contents of file 'appcast/build/release_notes.html' does match /
Initial release
/
And contents of file 'appcast/build/release_notes.html' does match /Yay! First release.
/
And contents of file 'appcast/build/release_notes.html' does match //
Scenario: generate default release notes if no ReleaseNotes.txt
Given a Cocoa app with choctop installed
And ChocTop config is configured for remote Sparkle
And file 'ReleaseNotes.txt' is deleted
When task 'rake dmg feed' is invoked
Then file 'appcast/build/release_notes.html' is created
And contents of file 'appcast/build/release_notes.html' does match /0.1.0/
And contents of file 'appcast/build/release_notes.html' does match /Another awesome release!
/
And contents of file 'appcast/build/release_notes.html' does match //