Author: Gunnar Wolf <gwolf@debian.org>
Last-Update: 2011-08-12
Forwarded: https://github.com/topfunky/gruff/pull/13 (pull request on github)
Description: Two methods in Gruff's scene/layers handling need sorting filenames
 The methods rely on the directory listing to be sorted
 alphabetically. This is not always the case - This patch fixes it.

Index: ruby-gruff/lib/gruff/scene.rb
===================================================================
--- ruby-gruff.orig/lib/gruff/scene.rb	2011-08-12 17:07:46.000000000 -0500
+++ ruby-gruff/lib/gruff/scene.rb	2011-08-12 17:08:02.000000000 -0500
@@ -133,7 +133,7 @@
   def initialize(base_dir, folder_name)
     @base_dir = base_dir.to_s
     @name = folder_name.to_s
-    @filenames = Dir.open(File.join(base_dir, folder_name)).entries.select { |file| file =~ /^[^.]+\.png$/ }
+    @filenames = Dir.open(File.join(base_dir, folder_name)).entries.select { |file| file =~ /^[^.]+\.png$/ }.sort
     @selected_filename = select_default
   end
   
Index: ruby-gruff/test/test_scene.rb
===================================================================
--- ruby-gruff.orig/test/test_scene.rb	2011-08-12 17:07:46.000000000 -0500
+++ ruby-gruff/test/test_scene.rb	2011-08-12 17:08:03.000000000 -0500
@@ -51,7 +51,7 @@
 
   def test_layer
     l = LayerStub.new(File.expand_path("../assets/city_scene", File.dirname(__FILE__)), "clouds")
-    assert_equal %w(cloudy.png partly_cloudy.png stormy.png), l.filenames
+    assert_equal %w(cloudy.png partly_cloudy.png stormy.png), l.filenames.sort
     
     l = LayerStub.new(File.expand_path("../assets/city_scene", File.dirname(__FILE__)), "grass")
     assert_equal 'default.png', l.selected_filename
