Hello community,

here is the log from the commit of package rubygem-method_source for 
openSUSE:Factory checked in at 2017-09-26 21:16:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-method_source (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-method_source.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-method_source"

Tue Sep 26 21:16:48 2017 rev:10 rq:528823 version:0.9.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/rubygem-method_source/rubygem-method_source.changes  
    2015-04-10 09:54:02.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.rubygem-method_source.new/rubygem-method_source.changes
 2017-09-26 21:17:44.530393441 +0200
@@ -1,0 +2,9 @@
+Tue Sep 26 13:22:44 UTC 2017 - mde...@suse.com
+
+- update to version 0.9.0
+  Manually added the License (MIT), wasn't read by gem2rpm from
+  meta data of the gem
+
+  No changelog provided by the gem authors
+
+-------------------------------------------------------------------

Old:
----
  method_source-0.8.2.gem

New:
----
  method_source-0.9.0.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-method_source.spec ++++++
--- /var/tmp/diff_new_pack.1bbJPc/_old  2017-09-26 21:17:45.034322594 +0200
+++ /var/tmp/diff_new_pack.1bbJPc/_new  2017-09-26 21:17:45.038322031 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-method_source
 #
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,16 +24,16 @@
 #
 
 Name:           rubygem-method_source
-Version:        0.8.2
+Version:        0.9.0
 Release:        0
 %define mod_name method_source
 %define mod_full_name %{mod_name}-%{version}
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-BuildRequires:  ruby-macros >= 5
-BuildRequires:  %{ruby}
 BuildRequires:  %{rubygem gem2rpm}
+BuildRequires:  %{ruby}
+BuildRequires:  ruby-macros >= 5
 Url:            http://banisterfiend.wordpress.com
-Source:         http://rubygems.org/gems/%{mod_full_name}.gem
+Source:         https://rubygems.org/gems/%{mod_full_name}.gem
 Source1:        gem2rpm.yml
 Summary:        retrieve the sourcecode for a method
 License:        MIT

++++++ gem2rpm.yml ++++++
--- /var/tmp/diff_new_pack.1bbJPc/_old  2017-09-26 21:17:45.098313597 +0200
+++ /var/tmp/diff_new_pack.1bbJPc/_new  2017-09-26 21:17:45.098313597 +0200
@@ -7,7 +7,7 @@
 #
 #   it can be multiline
 # ## used by gem2rpm
-# :license: MIT or Ruby
+:license: MIT
 # ## used by gem2rpm and gem_packages
 # :version_suffix: -x_y
 # ## used by gem2rpm and gem_packages

++++++ method_source-0.8.2.gem -> method_source-0.9.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.travis.yml new/.travis.yml
--- old/.travis.yml     1970-01-01 01:00:00.000000000 +0100
+++ new/.travis.yml     2017-09-26 13:43:00.000000000 +0200
@@ -1,12 +1,29 @@
+# To use rbx environment.
+dist: trusty
+bundler_args: "--verbose"
+before_install:
+  - gem update --system
+  - which bundle || gem install bundler
+  - gem update bundler
 rvm:
   - 1.8.7
-  - 1.9.2
   - 1.9.3
   - ree
-  - rbx-18mode
-  - rbx-19mode
+  - rbx-3
   - jruby
-
+  - jruby-head
+  - 2.0.0
+  - 2.1
+  - 2.2
+  - 2.3
+  - 2.4.1
+  - ruby-head
+matrix:
+  allow_failures:
+    - rvm: ruby-head
+    - rvm: jruby-head
+    - rvm: rbx-3
+  fast_finish: true
 notifications:
   irc: "irc.freenode.org#pry"
   recipients:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Gemfile new/Gemfile
--- old/Gemfile 1970-01-01 01:00:00.000000000 +0100
+++ new/Gemfile 2017-09-26 13:43:00.000000000 +0200
@@ -1,2 +1,2 @@
-source :rubygems
+source 'https://rubygems.org'
 gemspec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.markdown new/README.markdown
--- old/README.markdown 1970-01-01 01:00:00.000000000 +0100
+++ new/README.markdown 2017-09-26 13:43:00.000000000 +0200
@@ -1,4 +1,4 @@
-method_source
+method_source [![Build 
Status](https://travis-ci.org/banister/method_source.svg?branch=master)](https://travis-ci.org/banister/method_source)
 =============
 
 (C) John Mair (banisterfiend) 2011
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Rakefile new/Rakefile
--- old/Rakefile        1970-01-01 01:00:00.000000000 +0100
+++ new/Rakefile        2017-09-26 13:43:00.000000000 +0200
@@ -20,16 +20,17 @@
   s.description = s.summary
   s.require_path = 'lib'
 
-  s.add_development_dependency("bacon","~>1.1.0")
+  s.add_development_dependency("rspec","~>3.6")
   s.add_development_dependency("rake", "~>0.9")
   s.homepage = "http://banisterfiend.wordpress.com";
   s.has_rdoc = 'yard'
   s.files = `git ls-files`.split("\n")
-  s.test_files = `git ls-files -- test/*`.split("\n")
+  s.test_files = `git ls-files -- spec/*`.split("\n")
 end
 
-task :test do
-  sh "bacon -q #{direc}/test/test.rb #{direc}/test/test_code_helpers.rb"
+require "rspec/core/rake_task"
+RSpec::Core::RakeTask.new(:spec) do |t|
+  t.ruby_opts = %w[-w]
 end
 
 desc "reinstall gem"
@@ -39,7 +40,7 @@
 end
 
 desc "Set up and run tests"
-task :default => [:test]
+task :default => [:spec]
 
 desc "Build the gemspec file"
 task :gemspec => "ruby:gemspec"
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/method_source/code_helpers.rb 
new/lib/method_source/code_helpers.rb
--- old/lib/method_source/code_helpers.rb       1970-01-01 01:00:00.000000000 
+0100
+++ new/lib/method_source/code_helpers.rb       2017-09-26 13:43:00.000000000 
+0200
@@ -6,14 +6,14 @@
     # This is useful to get module or method source code.
     #
     # @param [Array<String>, File, String] file  The file to parse, either as 
a File or as
-    # @param [Fixnum]  line_number  The line number at which to look.
+    # @param [Integer]  line_number  The line number at which to look.
     #                             NOTE: The first line in a file is
     #                           line 1!
     # @param [Hash] options The optional configuration parameters.
     # @option options [Boolean] :strict  If set to true, then only completely
     #   valid expressions are returned. Otherwise heuristics are used to 
extract
     #   expressions that may have been valid inside an eval.
-    # @option options [Fixnum] :consume  A number of lines to automatically
+    # @option options [Integer] :consume  A number of lines to automatically
     #   consume (add to the expression buffer) without checking for validity.
     # @return [String]  The first complete expression
     # @raise [SyntaxError]  If the first complete expression can't be 
identified
@@ -46,7 +46,7 @@
     #
     # @param [Array<String>, File, String] file  The file to parse, either as 
a File or as
     #                                            a String or an Array of lines.
-    # @param [Fixnum]  line_number  The line number at which to look.
+    # @param [Integer]  line_number  The line number at which to look.
     #                             NOTE: The first line in a file is line 1!
     # @return [String]  The comment
     def comment_describing(file, line_number)
@@ -84,7 +84,7 @@
     # Get the first expression from the input.
     #
     # @param [Array<String>]  lines
-    # @param [Fixnum] consume A number of lines to automatically
+    # @param [Integer] consume A number of lines to automatically
     #   consume (add to the expression buffer) without checking for validity.
     # @yield a clean-up function to run before checking for complete_expression
     # @return [String]  a valid ruby expression
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/method_source/source_location.rb 
new/lib/method_source/source_location.rb
--- old/lib/method_source/source_location.rb    1970-01-01 01:00:00.000000000 
+0100
+++ new/lib/method_source/source_location.rb    2017-09-26 13:43:00.000000000 
+0200
@@ -111,7 +111,7 @@
           case
           when klass == Symbol
             return :a.method(name).source_location
-          when klass == Fixnum
+          when klass == Integer
             return 0.method(name).source_location
           when klass == TrueClass
             return true.method(name).source_location
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/method_source/version.rb 
new/lib/method_source/version.rb
--- old/lib/method_source/version.rb    1970-01-01 01:00:00.000000000 +0100
+++ new/lib/method_source/version.rb    2017-09-26 13:43:00.000000000 +0200
@@ -1,3 +1,3 @@
 module MethodSource
-  VERSION = "0.8.2"
+  VERSION = "0.9.0"
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        1970-01-01 01:00:00.000000000 +0100
+++ new/metadata        2017-09-26 13:43:00.000000000 +0200
@@ -1,41 +1,41 @@
 --- !ruby/object:Gem::Specification
 name: method_source
 version: !ruby/object:Gem::Version
-  version: 0.8.2
+  version: 0.9.0
 platform: ruby
 authors:
 - John Mair (banisterfiend)
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2013-07-27 00:00:00.000000000 Z
+date: 2017-09-26 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
-  name: bacon
+  name: rspec
   requirement: !ruby/object:Gem::Requirement
     requirements:
-    - - ~>
+    - - "~>"
       - !ruby/object:Gem::Version
-        version: 1.1.0
+        version: '3.6'
   type: :development
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
-    - - ~>
+    - - "~>"
       - !ruby/object:Gem::Version
-        version: 1.1.0
+        version: '3.6'
 - !ruby/object:Gem::Dependency
   name: rake
   requirement: !ruby/object:Gem::Requirement
     requirements:
-    - - ~>
+    - - "~>"
       - !ruby/object:Gem::Version
         version: '0.9'
   type: :development
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
-    - - ~>
+    - - "~>"
       - !ruby/object:Gem::Version
         version: '0.9'
 description: retrieve the sourcecode for a method
@@ -44,9 +44,9 @@
 extensions: []
 extra_rdoc_files: []
 files:
-- .gemtest
-- .travis.yml
-- .yardopts
+- ".gemtest"
+- ".travis.yml"
+- ".yardopts"
 - Gemfile
 - LICENSE
 - README.markdown
@@ -56,9 +56,9 @@
 - lib/method_source/source_location.rb
 - lib/method_source/version.rb
 - method_source.gemspec
-- test/test.rb
-- test/test_code_helpers.rb
-- test/test_helper.rb
+- spec/method_source/code_helpers_spec.rb
+- spec/method_source_spec.rb
+- spec/spec_helper.rb
 homepage: http://banisterfiend.wordpress.com
 licenses: []
 metadata: {}
@@ -68,21 +68,21 @@
 - lib
 required_ruby_version: !ruby/object:Gem::Requirement
   requirements:
-  - - '>='
+  - - ">="
     - !ruby/object:Gem::Version
       version: '0'
 required_rubygems_version: !ruby/object:Gem::Requirement
   requirements:
-  - - '>='
+  - - ">="
     - !ruby/object:Gem::Version
       version: '0'
 requirements: []
 rubyforge_project: 
-rubygems_version: 2.0.2
+rubygems_version: 2.6.12
 signing_key: 
 specification_version: 4
 summary: retrieve the sourcecode for a method
 test_files:
-- test/test.rb
-- test/test_code_helpers.rb
-- test/test_helper.rb
+- spec/method_source/code_helpers_spec.rb
+- spec/method_source_spec.rb
+- spec/spec_helper.rb
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/method_source.gemspec new/method_source.gemspec
--- old/method_source.gemspec   1970-01-01 01:00:00.000000000 +0100
+++ new/method_source.gemspec   2017-09-26 13:43:00.000000000 +0200
@@ -6,28 +6,29 @@
 
   s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? 
:required_rubygems_version=
   s.authors = ["John Mair (banisterfiend)"]
+  s.licenses = ['MIT']
   s.date = "2012-10-17"
   s.description = "retrieve the sourcecode for a method"
   s.email = "jrm...@gmail.com"
-  s.files = [".gemtest", ".travis.yml", ".yardopts", "Gemfile", "LICENSE", 
"README.markdown", "Rakefile", "lib/method_source.rb", 
"lib/method_source/code_helpers.rb", "lib/method_source/source_location.rb", 
"lib/method_source/version.rb", "method_source.gemspec", "test/test.rb", 
"test/test_code_helpers.rb", "test/test_helper.rb"]
+  s.files = [".gemtest", ".travis.yml", ".yardopts", "Gemfile", "LICENSE", 
"README.markdown", "Rakefile", "lib/method_source.rb", 
"lib/method_source/code_helpers.rb", "lib/method_source/source_location.rb", 
"lib/method_source/version.rb", "method_source.gemspec", 
"spec/method_source/code_helpers_spec.rb", "spec/method_source_spec.rb", 
"spec/spec_helper.rb"]
   s.homepage = "http://banisterfiend.wordpress.com";
   s.require_paths = ["lib"]
   s.rubygems_version = "1.8.23"
   s.summary = "retrieve the sourcecode for a method"
-  s.test_files = ["test/test.rb", "test/test_code_helpers.rb", 
"test/test_helper.rb"]
+  s.test_files = ["spec/method_source/code_helpers_spec.rb", 
"spec/method_source_spec.rb", "spec/spec_helper.rb"]
 
   if s.respond_to? :specification_version then
     s.specification_version = 3
 
     if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
-      s.add_development_dependency(%q<bacon>, ["~> 1.1.0"])
+      s.add_development_dependency(%q<rspec>, ["~> 3.6"])
       s.add_development_dependency(%q<rake>, ["~> 0.9"])
     else
-      s.add_dependency(%q<bacon>, ["~> 1.1.0"])
+      s.add_dependency(%q<rspec>, ["~> 3.6"])
       s.add_dependency(%q<rake>, ["~> 0.9"])
     end
   else
-    s.add_dependency(%q<bacon>, ["~> 1.1.0"])
+    s.add_dependency(%q<rspec>, ["~> 3.6"])
     s.add_dependency(%q<rake>, ["~> 0.9"])
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/method_source/code_helpers_spec.rb 
new/spec/method_source/code_helpers_spec.rb
--- old/spec/method_source/code_helpers_spec.rb 1970-01-01 01:00:00.000000000 
+0100
+++ new/spec/method_source/code_helpers_spec.rb 2017-09-26 13:43:00.000000000 
+0200
@@ -0,0 +1,43 @@
+require 'spec_helper'
+
+describe MethodSource::CodeHelpers do
+  before do
+    @tester = Object.new.extend(MethodSource::CodeHelpers)
+  end
+
+  [
+    ["p = '", "'"],
+    ["def", "a", "(); end"],
+    ["p = <<FOO", "lots", "and", "lots of", "foo", "FOO"],
+    ["[", ":lets,", "'list',", "[/nested/", "], things ]"],
+    ["abc =~ /hello", "/"],
+    ["issue = %W/", "343/"],
+    ["pouts(<<HI, 'foo", "bar", "HI", "baz')"],
+    ["=begin", "no-one uses this syntax anymore...", "=end"],
+    ["puts 1, 2,", "3"],
+    ["puts 'hello'\\", "'world'"]
+  ].each do |lines|
+    it "should not raise an error on broken lines: #{lines.join("\\n")}" do
+      1.upto(lines.size - 1) do |i|
+        expect(@tester.complete_expression?(lines[0...i].join("\n") + 
"\n")).to be_falsy
+      end
+      expect(@tester.complete_expression?(lines.join("\n"))).to be_truthy
+    end
+  end
+
+  [
+    ["end"],
+    ["puts )("],
+    ["1 1"],
+    ["puts :"]
+  ] + (RbConfig::CONFIG['ruby_install_name'] == 'rbx' ? [] : [
+    ["def", "method(1"], # in this case the syntax error is "expecting ')'".
+    ["o = Object.new.tap{ def o.render;","'MEH'", "}"] # in this case the 
syntax error is "expecting keyword_end".
+  ]).compact.each do |foo|
+    it "should raise an error on invalid syntax like #{foo.inspect}" do
+      expect {
+        @tester.complete_expression?(foo.join("\n"))
+      }.to raise_error(SyntaxError)
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/method_source_spec.rb 
new/spec/method_source_spec.rb
--- old/spec/method_source_spec.rb      1970-01-01 01:00:00.000000000 +0100
+++ new/spec/method_source_spec.rb      2017-09-26 13:43:00.000000000 +0200
@@ -0,0 +1,143 @@
+require 'spec_helper'
+
+describe MethodSource do
+
+  describe "source_location (testing 1.8 implementation)" do
+    it 'should return correct source_location for a method' do
+      expect(method(:hello).source_location.first).to match(/spec_helper/)
+    end
+
+    it 'should not raise for immediate instance methods' do
+      [Symbol, Integer, TrueClass, FalseClass, NilClass].each do 
|immediate_class|
+        expect do
+          immediate_class.instance_method(:to_s).source_location
+        end.not_to raise_error
+      end
+    end
+
+    it 'should not raise for immediate methods' do
+      [:a, 1, true, false, nil].each do |immediate|
+        expect do
+          immediate.method(:to_s).source_location
+        end.not_to raise_error
+      end
+    end
+  end
+
+  before do
+    @hello_module_source = "  def hello; :hello_module; end\n"
+    @hello_singleton_source = "def $o.hello; :hello_singleton; end\n"
+    @hello_source = "def hello; :hello; end\n"
+    @hello_comment = "# A comment for hello\n# It spans two lines and is 
indented by 2 spaces\n"
+    @lambda_comment = "# This is a comment for MyLambda\n"
+    @lambda_source = "MyLambda = lambda { :lambda }\n"
+    @proc_source = "MyProc = Proc.new { :proc }\n"
+    @hello_instance_evaled_source = "  def hello_\#{name}(*args)\n    
send_mesg(:\#{name}, *args)\n  end\n"
+    @hello_instance_evaled_source_2 = "  def \#{name}_two()\n    if 44\n      
45\n    end\n  end\n"
+    @hello_class_evaled_source = "  def hello_\#{name}(*args)\n    
send_mesg(:\#{name}, *args)\n  end\n"
+    @hi_module_evaled_source = "  def hi_\#{name}\n    @var = \#{name}\n  
end\n"
+  end
+
+  it 'should define methods on Method and UnboundMethod and Proc' do
+    expect(Method.method_defined?(:source)).to be_truthy
+    expect(UnboundMethod.method_defined?(:source)).to be_truthy
+    expect(Proc.method_defined?(:source)).to be_truthy
+  end
+
+  describe "Methods" do
+    it 'should return source for method' do
+      expect(method(:hello).source).to eq(@hello_source)
+    end
+
+    it 'should return source for a method defined in a module' do
+      expect(M.instance_method(:hello).source).to eq(@hello_module_source)
+    end
+
+    it 'should return source for a singleton method as an instance method' do
+      expect(class << $o
+        self
+      end.instance_method(:hello).source).to eq(@hello_singleton_source)
+    end
+
+    it 'should return source for a singleton method' do
+      expect($o.method(:hello).source).to eq(@hello_singleton_source)
+    end
+
+    it 'should return a comment for method' do
+      expect(method(:hello).comment).to eq(@hello_comment)
+    end
+
+    # These tests fail because of http://jira.codehaus.org/browse/JRUBY-4576
+    unless defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
+      it 'should return source for an *_evaled method' do
+        expect(M.method(:hello_name).source).to 
eq(@hello_instance_evaled_source)
+        expect(M.method(:name_two).source).to 
eq(@hello_instance_evaled_source_2)
+        expect(M.instance_method(:hello_name).source).to 
eq(@hello_class_evaled_source)
+        expect(M.instance_method(:hi_name).source).to 
eq(@hi_module_evaled_source)
+      end
+    end
+
+    it "should raise error for evaled methods that do not pass __FILE__ and 
__LINE__ + 1 as its arguments" do
+      expect do
+        M.instance_method(:name_three).source
+      end.to raise_error(MethodSource::SourceNotFoundError)
+    end
+
+    if !is_rbx?
+      it 'should raise for C methods' do
+        expect do
+          method(:puts).source
+        end.to raise_error(MethodSource::SourceNotFoundError)
+      end
+    end
+  end
+
+  # if RUBY_VERSION =~ /1.9/ || is_rbx?
+  describe "Lambdas and Procs" do
+    it 'should return source for proc' do
+      expect(MyProc.source).to eq(@proc_source)
+    end
+
+    it 'should return an empty string if there is no comment' do
+      expect(MyProc.comment).to eq('')
+    end
+
+    it 'should return source for lambda' do
+      expect(MyLambda.source).to eq(@lambda_source)
+    end
+
+    it 'should return comment for lambda' do
+      expect(MyLambda.comment).to eq(@lambda_comment)
+    end
+  end
+  # end
+  describe "Comment tests" do
+    before do
+      @comment1 = "# a\n# b\n"
+      @comment2 = "# a\n# b\n"
+      @comment3 = "# a\n#\n# b\n"
+      @comment4 = "# a\n# b\n"
+      @comment5 = "# a\n# b\n# c\n# d\n"
+    end
+
+    it "should correctly extract multi-line comments" do
+      expect(method(:comment_test1).comment).to eq(@comment1)
+    end
+
+    it "should correctly strip leading whitespace before comments" do
+      expect(method(:comment_test2).comment).to eq(@comment2)
+    end
+
+    it "should keep empty comment lines" do
+      expect(method(:comment_test3).comment).to eq(@comment3)
+    end
+
+    it "should ignore blank lines between comments" do
+      expect(method(:comment_test4).comment).to eq(@comment4)
+    end
+
+    it "should align all comments to same indent level" do
+      expect(method(:comment_test5).comment).to eq(@comment5)
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/spec_helper.rb new/spec/spec_helper.rb
--- old/spec/spec_helper.rb     1970-01-01 01:00:00.000000000 +0100
+++ new/spec/spec_helper.rb     2017-09-26 13:43:00.000000000 +0200
@@ -0,0 +1,101 @@
+require 'method_source'
+require 'rspec'
+
+def is_rbx?
+  defined?(RUBY_ENGINE) && RUBY_ENGINE =~ /rbx/
+end
+
+def jruby?
+  defined?(RUBY_ENGINE) && RUBY_ENGINE =~ /jruby/
+end
+
+
+module M
+  def hello; :hello_module; end
+end
+
+$o = Object.new
+def $o.hello; :hello_singleton; end
+
+# A comment for hello
+
+  # It spans two lines and is indented by 2 spaces
+def hello; :hello; end
+
+# a
+# b
+def comment_test1; end
+
+ # a
+ # b
+def comment_test2; end
+
+# a
+#
+# b
+def comment_test3; end
+
+# a
+
+# b
+def comment_test4; end
+
+
+# a
+  # b
+    # c
+# d
+def comment_test5; end
+
+# This is a comment for MyLambda
+MyLambda = lambda { :lambda }
+MyProc = Proc.new { :proc }
+
+
+name = "name"
+
+M.instance_eval <<-METHOD, __FILE__, __LINE__ + 1
+  def hello_#{name}(*args)
+    send_mesg(:#{name}, *args)
+  end
+METHOD
+
+M.class_eval <<-METHOD, __FILE__, __LINE__ + 1
+  def hello_#{name}(*args)
+    send_mesg(:#{name}, *args)
+  end
+METHOD
+
+# module_eval to DRY code up
+#
+M.module_eval <<-METHOD, __FILE__, __LINE__ + 1
+
+  # module_eval is used here
+  #
+  def hi_#{name}
+    @var = #{name}
+  end
+METHOD
+
+# case where 2 methods are defined inside an _eval block
+#
+M.instance_eval <<EOF, __FILE__, __LINE__ + 1
+
+  def #{name}_one()
+    if 43
+      44
+    end
+  end
+
+
+  def #{name}_two()
+    if 44
+      45
+    end
+  end
+EOF
+
+# class_eval without filename and lineno + 1 parameter
+
+M.class_eval "def #{name}_three; @tempfile.#{name}; end"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/test.rb new/test/test.rb
--- old/test/test.rb    1970-01-01 01:00:00.000000000 +0100
+++ new/test/test.rb    1970-01-01 01:00:00.000000000 +0100
@@ -1,138 +0,0 @@
-direc = File.expand_path(File.dirname(__FILE__))
-
-require 'rubygems'
-require 'bacon'
-require "#{direc}/../lib/method_source"
-require "#{direc}/test_helper"
-
-describe MethodSource do
-
-  describe "source_location (testing 1.8 implementation)" do
-    it 'should return correct source_location for a method' do
-      method(:hello).source_location.first.should =~ /test_helper/
-    end
-
-    it 'should not raise for immediate instance methods' do
-      [Symbol, Fixnum, TrueClass, FalseClass, NilClass].each do 
|immediate_class|
-        lambda { immediate_class.instance_method(:to_s).source_location 
}.should.not.raise
-      end
-    end
-
-    it 'should not raise for immediate methods' do
-      [:a, 1, true, false, nil].each do |immediate|
-        lambda { immediate.method(:to_s).source_location }.should.not.raise
-      end
-    end
-  end
-
-  before do
-    @hello_module_source = "  def hello; :hello_module; end\n"
-    @hello_singleton_source = "def $o.hello; :hello_singleton; end\n"
-    @hello_source = "def hello; :hello; end\n"
-    @hello_comment = "# A comment for hello\n# It spans two lines and is 
indented by 2 spaces\n"
-    @lambda_comment = "# This is a comment for MyLambda\n"
-    @lambda_source = "MyLambda = lambda { :lambda }\n"
-    @proc_source = "MyProc = Proc.new { :proc }\n"
-    @hello_instance_evaled_source = "  def hello_\#{name}(*args)\n    
send_mesg(:\#{name}, *args)\n  end\n"
-    @hello_instance_evaled_source_2 = "  def \#{name}_two()\n    if 44\n      
45\n    end\n  end\n"
-    @hello_class_evaled_source = "  def hello_\#{name}(*args)\n    
send_mesg(:\#{name}, *args)\n  end\n"
-    @hi_module_evaled_source = "  def hi_\#{name}\n    @var = \#{name}\n  
end\n"
-  end
-
-  it 'should define methods on Method and UnboundMethod and Proc' do
-    Method.method_defined?(:source).should == true
-    UnboundMethod.method_defined?(:source).should == true
-    Proc.method_defined?(:source).should == true
-  end
-
-  describe "Methods" do
-    it 'should return source for method' do
-      method(:hello).source.should == @hello_source
-    end
-
-    it 'should return source for a method defined in a module' do
-      M.instance_method(:hello).source.should == @hello_module_source
-    end
-
-    it 'should return source for a singleton method as an instance method' do
-      class << $o; self; end.instance_method(:hello).source.should == 
@hello_singleton_source
-    end
-
-    it 'should return source for a singleton method' do
-      $o.method(:hello).source.should == @hello_singleton_source
-    end
-
-    it 'should return a comment for method' do
-      method(:hello).comment.should == @hello_comment
-    end
-
-    # These tests fail because of http://jira.codehaus.org/browse/JRUBY-4576
-    unless defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
-      it 'should return source for an *_evaled method' do
-        M.method(:hello_name).source.should == @hello_instance_evaled_source
-        M.method(:name_two).source.should == @hello_instance_evaled_source_2
-        M.instance_method(:hello_name).source.should == 
@hello_class_evaled_source
-        M.instance_method(:hi_name).source.should == @hi_module_evaled_source
-      end
-    end
-
-    it "should raise error for evaled methods that do not pass __FILE__ and 
__LINE__ + 1 as its arguments" do
-      lambda { M.instance_method(:name_three).source }.should.raise 
MethodSource::SourceNotFoundError
-    end
-
-    if !is_rbx?
-      it 'should raise for C methods' do
-        lambda { method(:puts).source }.should.raise 
MethodSource::SourceNotFoundError
-      end
-    end
-  end
-
-  # if RUBY_VERSION =~ /1.9/ || is_rbx?
-  describe "Lambdas and Procs" do
-    it 'should return source for proc' do
-      MyProc.source.should == @proc_source
-    end
-
-    it 'should return an empty string if there is no comment' do
-      MyProc.comment.should == ''
-    end
-
-    it 'should return source for lambda' do
-      MyLambda.source.should == @lambda_source
-    end
-
-    it 'should return comment for lambda' do
-      MyLambda.comment.should == @lambda_comment
-    end
-  end
-  # end
-  describe "Comment tests" do
-    before do
-      @comment1 = "# a\n# b\n"
-      @comment2 = "# a\n# b\n"
-      @comment3 = "# a\n#\n# b\n"
-      @comment4 = "# a\n# b\n"
-      @comment5 = "# a\n# b\n# c\n# d\n"
-    end
-
-    it "should correctly extract multi-line comments" do
-      method(:comment_test1).comment.should == @comment1
-    end
-
-    it "should correctly strip leading whitespace before comments" do
-      method(:comment_test2).comment.should == @comment2
-    end
-
-    it "should keep empty comment lines" do
-      method(:comment_test3).comment.should == @comment3
-    end
-
-    it "should ignore blank lines between comments" do
-      method(:comment_test4).comment.should == @comment4
-    end
-
-    it "should align all comments to same indent level" do
-      method(:comment_test5).comment.should == @comment5
-    end
-  end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/test_code_helpers.rb 
new/test/test_code_helpers.rb
--- old/test/test_code_helpers.rb       1970-01-01 01:00:00.000000000 +0100
+++ new/test/test_code_helpers.rb       1970-01-01 01:00:00.000000000 +0100
@@ -1,41 +0,0 @@
-describe MethodSource::CodeHelpers do
-  before do
-    @tester = Object.new.extend(MethodSource::CodeHelpers)
-  end
-
-  [
-    ["p = '", "'"],
-    ["def", "a", "(); end"],
-    ["p = <<FOO", "lots", "and", "lots of", "foo", "FOO"],
-    ["[", ":lets,", "'list',", "[/nested/", "], things ]"],
-    ["abc =~ /hello", "/"],
-    ["issue = %W/", "343/"],
-    ["pouts(<<HI, 'foo", "bar", "HI", "baz')"],
-    ["=begin", "no-one uses this syntax anymore...", "=end"],
-    ["puts 1, 2,", "3"],
-    ["puts 'hello'\\", "'world'"]
-  ].each do |lines|
-    it "should not raise an error on broken lines: #{lines.join("\\n")}" do
-      1.upto(lines.size - 1) do |i|
-        @tester.complete_expression?(lines[0...i].join("\n") + "\n").should == 
false
-      end
-      @tester.complete_expression?(lines.join("\n")).should == true
-    end
-  end
-
-  [
-    ["end"],
-    ["puts )("],
-    ["1 1"],
-    ["puts :"]
-  ] + (RbConfig::CONFIG['ruby_install_name'] == 'rbx' ? [] : [
-    ["def", "method(1"], # in this case the syntax error is "expecting ')'".
-    ["o = Object.new.tap{ def o.render;","'MEH'", "}"] # in this case the 
syntax error is "expecting keyword_end".
-  ]).compact.each do |foo|
-    it "should raise an error on invalid syntax like #{foo.inspect}" do
-      lambda{
-        @tester.complete_expression?(foo.join("\n"))
-      }.should.raise(SyntaxError)
-    end
-  end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/test_helper.rb new/test/test_helper.rb
--- old/test/test_helper.rb     1970-01-01 01:00:00.000000000 +0100
+++ new/test/test_helper.rb     1970-01-01 01:00:00.000000000 +0100
@@ -1,98 +0,0 @@
-def is_rbx?
-  defined?(RUBY_ENGINE) && RUBY_ENGINE =~ /rbx/
-end
-
-def jruby?
-  defined?(RUBY_ENGINE) && RUBY_ENGINE =~ /jruby/
-end
-
-
-module M
-  def hello; :hello_module; end
-end
-
-$o = Object.new
-def $o.hello; :hello_singleton; end
-
-# A comment for hello
-
-  # It spans two lines and is indented by 2 spaces
-def hello; :hello; end
-
-# a
-# b
-def comment_test1; end
-
- # a
- # b
-def comment_test2; end
-
-# a
-#
-# b
-def comment_test3; end
-
-# a
-
-# b
-def comment_test4; end
-
-
-# a
-  # b
-    # c
-# d
-def comment_test5; end
-
-# This is a comment for MyLambda
-MyLambda = lambda { :lambda }
-MyProc = Proc.new { :proc }
-
-
-name = "name"
-
-M.instance_eval <<-METHOD, __FILE__, __LINE__ + 1
-  def hello_#{name}(*args)
-    send_mesg(:#{name}, *args)
-  end
-METHOD
-
-M.class_eval <<-METHOD, __FILE__, __LINE__ + 1
-  def hello_#{name}(*args)
-    send_mesg(:#{name}, *args)
-  end
-METHOD
-
-# module_eval to DRY code up
-#
-M.module_eval <<-METHOD, __FILE__, __LINE__ + 1
-
-  # module_eval is used here
-  #
-  def hi_#{name}
-    @var = #{name}
-  end
-METHOD
-
-# case where 2 methods are defined inside an _eval block
-#
-M.instance_eval <<EOF, __FILE__, __LINE__ + 1
-
-  def #{name}_one()
-    if 43
-      44
-    end
-  end
-
-
-  def #{name}_two()
-    if 44
-      45
-    end
-  end
-EOF
-
-# class_eval without filename and lineno + 1 parameter
-
-M.class_eval "def #{name}_three; @tempfile.#{name}; end"
-


Reply via email to