@@ -49,6 +49,21 @@ def test_files_permissions_changes
4949 file1 = File . join ( @v003 , 'bin/lorem' )
5050 file2 = File . join ( @v004 , 'bin/lorem' )
5151 assert_equal '(!) New permissions: 100664 -> 100775' , Gem ::Comparator ::Monitor . files_permissions_changes ( file1 , file2 ) . strip
52+ assert_equal '(!) New permissions: 100664 -> 100775' , Gem ::Comparator ::Monitor . files_permissions_changes ( file1 , file2 , true ) . strip
53+ end
54+
55+ def test_files_permissions_changes_no_change
56+ file1 = Tempfile . new
57+ file2 = Tempfile . new
58+ begin
59+ File . chmod ( 0644 , file1 )
60+ File . chmod ( 0644 , file2 )
61+ assert_equal '' , Gem ::Comparator ::Monitor . files_permissions_changes ( file1 . path , file2 . path )
62+ assert_equal '' , Gem ::Comparator ::Monitor . files_permissions_changes ( file1 . path , file2 . path , true )
63+ ensure
64+ file1 . unlink
65+ file2 . unlink
66+ end
5267 end
5368
5469 def test_files_permissions_changes_ignores_group_writable_added
@@ -94,16 +109,39 @@ def test_new_file_permissions
94109 file1 = File . join ( @v004 , 'bin/lorem' )
95110 file2 = File . join ( @v004 , 'lib/lorem.rb' )
96111 assert_equal '(!) Unexpected permissions: 100775' , Gem ::Comparator ::Monitor . new_file_permissions ( file1 ) . strip
97- assert_equal '(!) Unexpected permissions: 100664' , Gem ::Comparator ::Monitor . new_file_permissions ( file2 ) . strip
112+ assert_equal '(!) Unexpected permissions: 100664' , Gem ::Comparator ::Monitor . new_file_permissions ( file2 ) . strip
113+ ignore_group_writable = true
114+ assert_equal '' , Gem ::Comparator ::Monitor . new_file_permissions ( file1 , ignore_group_writable ) . strip
115+ assert_equal '' , Gem ::Comparator ::Monitor . new_file_permissions ( file2 , ignore_group_writable ) . strip
116+ end
117+
118+ def test_new_file_permissions_ignore_group_writable_when_not_group_writable
119+ file = Tempfile . new
120+ bin_file = temp_bin_file
121+ begin
122+ File . chmod ( 0644 , file )
123+ assert_equal '' , Gem ::Comparator ::Monitor . new_file_permissions ( file . path , true )
124+
125+ File . chmod ( 0755 , bin_file )
126+ assert_equal '' , Gem ::Comparator ::Monitor . new_file_permissions ( bin_file . path , true )
127+ ensure
128+ file . unlink
129+ bin_file . unlink
130+ end
98131 end
99132
100133 def test_new_file_permissions_ignore_group_writable
101134 file = Tempfile . new
135+ bin_file = temp_bin_file
102136 begin
103137 File . chmod ( 0664 , file )
104- assert_equal '' , Gem ::Comparator ::Monitor . new_file_permissions ( file , true )
138+ assert_equal '' , Gem ::Comparator ::Monitor . new_file_permissions ( file . path , true )
139+
140+ File . chmod ( 0775 , bin_file )
141+ assert_equal '' , Gem ::Comparator ::Monitor . new_file_permissions ( bin_file . path , true )
105142 ensure
106143 file . unlink
144+ bin_file . unlink
107145 end
108146 end
109147
0 commit comments