[前][次][番号順一覧][スレッド一覧]

ruby-changes:50749

From: eregon <ko1@a...>
Date: Tue, 27 Mar 2018 05:48:25 +0900 (JST)
Subject: [ruby-changes:50749] eregon:r62931 (trunk): Update to ruby/spec@a585ec3

eregon	2018-03-27 05:48:21 +0900 (Tue, 27 Mar 2018)

  New Revision: 62931

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=62931

  Log:
    Update to ruby/spec@a585ec3

  Modified files:
    trunk/spec/ruby/core/dir/glob_spec.rb
    trunk/spec/ruby/core/enumerator/lazy/uniq_spec.rb
    trunk/spec/ruby/core/hash/transform_keys_spec.rb
    trunk/spec/ruby/core/module/prepend_spec.rb
    trunk/spec/ruby/core/module/private_spec.rb
    trunk/spec/ruby/core/process/spawn_spec.rb
    trunk/spec/ruby/language/rescue_spec.rb
Index: spec/ruby/core/dir/glob_spec.rb
===================================================================
--- spec/ruby/core/dir/glob_spec.rb	(revision 62930)
+++ spec/ruby/core/dir/glob_spec.rb	(revision 62931)
@@ -122,6 +122,18 @@ describe "Dir.glob" do https://github.com/ruby/ruby/blob/trunk/spec/ruby/core/dir/glob_spec.rb#L122
     Dir.glob('**/**/**').empty?.should == false
   end
 
+  it "handles simple filename patterns" do
+    Dir.glob('.dotfile').should == ['.dotfile']
+  end
+
+  it "handles simple directory patterns" do
+    Dir.glob('.dotsubdir/').should == ['.dotsubdir/']
+  end
+
+  it "handles simple directory patterns applied to non-directories" do
+    Dir.glob('nondotfile/').should == []
+  end
+
   platform_is_not(:windows) do
     it "matches the literal character '\\' with option File::FNM_NOESCAPE" do
       Dir.mkdir 'foo?bar'
Index: spec/ruby/core/enumerator/lazy/uniq_spec.rb
===================================================================
--- spec/ruby/core/enumerator/lazy/uniq_spec.rb	(revision 62930)
+++ spec/ruby/core/enumerator/lazy/uniq_spec.rb	(revision 62931)
@@ -13,9 +13,11 @@ ruby_version_is '2.4' do https://github.com/ruby/ruby/blob/trunk/spec/ruby/core/enumerator/lazy/uniq_spec.rb#L13
         @lazy.force.should == [0, 1]
       end
 
-      it 'return same value after rewind' do
-        @lazy.force.should == [0, 1]
-        @lazy.force.should == [0, 1]
+      ruby_bug "#14495", "2.4"..."2.5.1" do
+        it 'return same value after rewind' do
+          @lazy.force.should == [0, 1]
+          @lazy.force.should == [0, 1]
+        end
       end
 
       it 'sets the size to nil' do
@@ -33,9 +35,11 @@ ruby_version_is '2.4' do https://github.com/ruby/ruby/blob/trunk/spec/ruby/core/enumerator/lazy/uniq_spec.rb#L35
         @lazy.force.should == [0, 1]
       end
 
-      it 'return same value after rewind' do
-        @lazy.force.should == [0, 1]
-        @lazy.force.should == [0, 1]
+      ruby_bug "#14495", "2.4"..."2.5.1" do
+        it 'return same value after rewind' do
+          @lazy.force.should == [0, 1]
+          @lazy.force.should == [0, 1]
+        end
       end
 
       it 'sets the size to nil' do
@@ -56,10 +60,12 @@ ruby_version_is '2.4' do https://github.com/ruby/ruby/blob/trunk/spec/ruby/core/enumerator/lazy/uniq_spec.rb#L60
         @lazy = enum.lazy
       end
 
-      it 'return same value after rewind' do
-        enum = @lazy.uniq { |_, label| label.downcase }
-        enum.force.should == [[0, 'foo'], [2, 'bar']]
-        enum.force.should == [[0, 'foo'], [2, 'bar']]
+      ruby_bug "#14495", "2.4"..."2.5.1" do
+        it 'return same value after rewind' do
+          enum = @lazy.uniq { |_, label| label.downcase }
+          enum.force.should == [[0, 'foo'], [2, 'bar']]
+          enum.force.should == [[0, 'foo'], [2, 'bar']]
+        end
       end
 
       it 'returns all yield arguments as an array' do
Index: spec/ruby/core/module/prepend_spec.rb
===================================================================
--- spec/ruby/core/module/prepend_spec.rb	(revision 62930)
+++ spec/ruby/core/module/prepend_spec.rb	(revision 62931)
@@ -104,6 +104,20 @@ describe "Module#prepend" do https://github.com/ruby/ruby/blob/trunk/spec/ruby/core/module/prepend_spec.rb#L104
     c.new.alias.should == :m
   end
 
+  it "reports the class for the owner of an aliased method on the class" do
+    m = Module.new
+    c = Class.new { prepend(m); def meth; :c end; alias_method :alias, :meth }
+    c.instance_method(:alias).owner.should == c
+  end
+
+  ruby_version_is "2.3" do
+    it "reports the class for the owner of a method aliased from the prepended module" do
+      m = Module.new { def meth; :m end }
+      c = Class.new { prepend(m); alias_method :alias, :meth }
+      c.instance_method(:alias).owner.should == c
+    end
+  end
+
   it "sees an instance of a prepended class as kind of the prepended module" do
     m = Module.new
     c = Class.new { prepend(m) }
Index: spec/ruby/core/module/private_spec.rb
===================================================================
--- spec/ruby/core/module/private_spec.rb	(revision 62930)
+++ spec/ruby/core/module/private_spec.rb	(revision 62931)
@@ -52,42 +52,46 @@ describe "Module#private" do https://github.com/ruby/ruby/blob/trunk/spec/ruby/core/module/private_spec.rb#L52
     end.should raise_error(NameError)
   end
 
-  it "only makes the method private in the class it is called on" do
-    base = Class.new do
-      def wrapped
-        1
+  ruby_version_is "2.3" do
+    ruby_bug "#14604", "2.3"..."2.5.1" do
+      it "only makes the method private in the class it is called on" do
+        base = Class.new do
+          def wrapped
+            1
+          end
+        end
+
+        klass = Class.new(base) do
+          def wrapped
+            super + 1
+          end
+          private :wrapped
+        end
+
+        base.new.wrapped.should == 1
+        lambda do
+          klass.new.wrapped
+        end.should raise_error(NameError)
       end
-    end
-
-    klass = Class.new(base) do
-      def wrapped
-        super + 1
-      end
-      private :wrapped
-    end
 
-    base.new.wrapped.should == 1
-    lambda do
-      klass.new.wrapped
-    end.should raise_error(NameError)
-  end
+      it "continues to allow a prepended module method to call super" do
+        wrapper = Module.new do
+          def wrapped
+            super + 1
+          end
+        end
+
+        klass = Class.new do
+          prepend wrapper
+
+          def wrapped
+            1
+          end
+          private :wrapped
+        end
 
-  it "continues to allow a prepended module method to call super" do
-    wrapper = Module.new do
-      def wrapped
-        super + 1
+        klass.new.wrapped.should == 2
       end
     end
-
-    klass = Class.new do
-      prepend wrapper
-
-      def wrapped
-        1
-      end
-      private :wrapped
-    end
-
-    klass.new.wrapped.should == 2
   end
 end
Index: spec/ruby/core/process/spawn_spec.rb
===================================================================
--- spec/ruby/core/process/spawn_spec.rb	(revision 62930)
+++ spec/ruby/core/process/spawn_spec.rb	(revision 62931)
@@ -26,7 +26,7 @@ describe :process_spawn_does_not_close_s https://github.com/ruby/ruby/blob/trunk/spec/ruby/core/process/spawn_spec.rb#L26
       code = "STDERR.puts 'hello'"
       cmd = "Process.wait Process.spawn(#{ruby_cmd(code).inspect}, #{@options.inspect})"
       ruby_exe(cmd, args: "2> #{@output}")
-      File.binread(@output).should == "hello#{newline}"
+      File.binread(@output).should =~ /hello#{newline}/
     end
   end
 end
Index: spec/ruby/core/hash/transform_keys_spec.rb
===================================================================
--- spec/ruby/core/hash/transform_keys_spec.rb	(revision 62930)
+++ spec/ruby/core/hash/transform_keys_spec.rb	(revision 62931)
@@ -61,21 +61,21 @@ ruby_version_is "2.5" do https://github.com/ruby/ruby/blob/trunk/spec/ruby/core/hash/transform_keys_spec.rb#L61
     end
 
     # https://bugs.ruby-lang.org/issues/14380
-    ruby_version_is ""..."2.6" do
+    ruby_version_is ""..."2.5.1" do
       it "does not prevent conflicts between new keys and old ones" do
         @hash.transform_keys!(&:succ)
         @hash.should == { e: 1 }
       end
     end
 
-    ruby_version_is "2.6" do
+    ruby_version_is "2.5.1" do
       it "prevents conflicts between new keys and old ones" do
         @hash.transform_keys!(&:succ)
         @hash.should == { b: 1, c: 2, d: 3, e: 4 }
       end
     end
 
-    ruby_version_is ""..."2.6" do
+    ruby_version_is ""..."2.5.1" do
       it "partially modifies the contents if we broke from the block" do
         @hash.transform_keys! do |v|
           break if v == :c
@@ -85,7 +85,7 @@ ruby_version_is "2.5" do https://github.com/ruby/ruby/blob/trunk/spec/ruby/core/hash/transform_keys_spec.rb#L85
       end
     end
 
-    ruby_version_is "2.6" do
+    ruby_version_is "2.5.1" do
       it "returns the processed keys if we broke from the block" do
         @hash.transform_keys! do |v|
           break if v == :c
Index: spec/ruby/language/rescue_spec.rb
===================================================================
--- spec/ruby/language/rescue_spec.rb	(revision 62930)
+++ spec/ruby/language/rescue_spec.rb	(revision 62931)
@@ -195,26 +195,34 @@ describe "The rescue keyword" do https://github.com/ruby/ruby/blob/trunk/spec/ruby/language/rescue_spec.rb#L195
     ScratchPad.recorded.should == [:one, :else_ran, :ensure_ran, :outside_begin]
   end
 
-  else_without_rescue = lambda {
-    eval <<-ruby
-        begin
-          ScratchPad << :begin
-        else
-          ScratchPad << :else
-        end
-      ruby
-  }
-
-  ruby_version_is ""..."2.6" do
+  ruby_version_is ''...'2.6' do
     it "will execute an else block even without rescue and ensure" do
-      else_without_rescue.should complain(/else without rescue is useless/)
+      lambda {
+        eval <<-ruby
+          begin
+            ScratchPad << :begin
+          else
+            ScratchPad << :else
+          end
+        ruby
+      }.should complain(/else without rescue is useless/)
 
       ScratchPad.recorded.should == [:begin, :else]
     end
   end
 
-  ruby_version_is "2.6" do
-    else_without_rescue.should raise_error(SyntaxError)
+  ruby_version_is '2.6' do
+    it "raises SyntaxError when else is used without rescue and ensure" do
+      lambda {
+        eval <<-ruby
+          begin
+            ScratchPad << :begin
+          else
+            ScratchPad << :else
+          end
+        ruby
+      }.should raise_error(SyntaxError, /else without rescue is useless/)
+    end
   end
 
   it "will not execute an else block if an exception was raised" do

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]