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