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 //