[macruby-changes] [1784] MacRuby/branches/experimental

source_changes at macosforge.org source_changes at macosforge.org
Sat Jun 6 08:04:27 PDT 2009


Revision: 1784
          http://trac.macosforge.org/projects/ruby/changeset/1784
Author:   eloy.de.enige at gmail.com
Date:     2009-06-06 08:04:27 -0700 (Sat, 06 Jun 2009)
Log Message:
-----------
Added a few specs that either do nothing or were easy to add.

Modified Paths:
--------------
    MacRuby/branches/experimental/rakelib/spec.rake

Added Paths:
-----------
    MacRuby/branches/experimental/spec/frozen/core/builtin_constants/builtin_constants_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/encoding/default_external_spec_disabled.rb
    MacRuby/branches/experimental/spec/frozen/core/encoding/default_internal_spec_disabled.rb
    MacRuby/branches/experimental/spec/frozen/core/thread/key_spec_disabled.rb
    MacRuby/branches/experimental/spec/frozen/core/thread/raise_spec_disabled.rb
    MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/
    MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/aliases_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/compatible_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/default_external_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/default_internal_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/dummy_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/locale_charmap_tags.txt
    MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/names_tags.txt

Removed Paths:
-------------
    MacRuby/branches/experimental/spec/frozen/core/builtin_constants/builtin_constants.rb
    MacRuby/branches/experimental/spec/frozen/core/encoding/default_external_spec.rb
    MacRuby/branches/experimental/spec/frozen/core/encoding/default_internal_spec.rb

Modified: MacRuby/branches/experimental/rakelib/spec.rake
===================================================================
--- MacRuby/branches/experimental/rakelib/spec.rake	2009-06-06 15:04:00 UTC (rev 1783)
+++ MacRuby/branches/experimental/rakelib/spec.rake	2009-06-06 15:04:27 UTC (rev 1784)
@@ -4,15 +4,18 @@
     spec/frozen/core/argf
     spec/frozen/core/array
     spec/frozen/core/basicobject
+    spec/frozen/core/builtin_constants
     spec/frozen/core/class
     spec/frozen/core/comparable
     spec/frozen/core/dir
+    spec/frozen/core/encoding
     spec/frozen/core/enumerable
     spec/frozen/core/env
     spec/frozen/core/exception
     spec/frozen/core/false
     spec/frozen/core/file
     spec/frozen/core/filetest
+    spec/frozen/core/gc
     spec/frozen/core/hash
     spec/frozen/core/integer
     spec/frozen/core/io

Deleted: MacRuby/branches/experimental/spec/frozen/core/builtin_constants/builtin_constants.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/builtin_constants/builtin_constants.rb	2009-06-06 15:04:00 UTC (rev 1783)
+++ MacRuby/branches/experimental/spec/frozen/core/builtin_constants/builtin_constants.rb	2009-06-06 15:04:27 UTC (rev 1784)
@@ -1,13 +0,0 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-
-describe "RUBY_VERSION" do
-  it "is a String" do
-    RUBY_VERSION.should be_kind_of(String)
-  end
-end
-
-describe "RUBY_PATCHLEVEL" do
-  it "is a Fixnum" do
-    RUBY_PATCHLEVEL.should be_kind_of(Fixnum)
-  end
-end
\ No newline at end of file

Copied: MacRuby/branches/experimental/spec/frozen/core/builtin_constants/builtin_constants_spec.rb (from rev 1783, MacRuby/branches/experimental/spec/frozen/core/builtin_constants/builtin_constants.rb)
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/builtin_constants/builtin_constants_spec.rb	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/core/builtin_constants/builtin_constants_spec.rb	2009-06-06 15:04:27 UTC (rev 1784)
@@ -0,0 +1,13 @@
+require File.dirname(__FILE__) + '/../../spec_helper'
+
+describe "RUBY_VERSION" do
+  it "is a String" do
+    RUBY_VERSION.should be_kind_of(String)
+  end
+end
+
+describe "RUBY_PATCHLEVEL" do
+  it "is a Fixnum" do
+    RUBY_PATCHLEVEL.should be_kind_of(Fixnum)
+  end
+end
\ No newline at end of file

Deleted: MacRuby/branches/experimental/spec/frozen/core/encoding/default_external_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/encoding/default_external_spec.rb	2009-06-06 15:04:00 UTC (rev 1783)
+++ MacRuby/branches/experimental/spec/frozen/core/encoding/default_external_spec.rb	2009-06-06 15:04:27 UTC (rev 1784)
@@ -1,45 +0,0 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-
-describe "Encoding.default_external" do
-  it "returns the default external Encoding instance" do
-    Encoding.default_external.should be_kind_of(Encoding)
-  end
-end
-
-describe "Encoding.default_external=" do
-  before :all do
-    @before = Encoding.default_external
-  end
-
-  after :each do
-    Encoding.default_external = @before
-  end
-
-  it "takes an Encoding instance" do
-    Encoding.default_external = Encoding.find('UTF-8')
-    Encoding.default_external.name.should == 'UTF-8'
-
-    Encoding.default_external = Encoding.find('US-ASCII')
-    Encoding.default_external.name.should == 'US-ASCII'
-  end
-
-  it "takes a string name of an encoding" do
-    Encoding.default_external = 'UTF-8'
-    Encoding.default_external.name.should == 'UTF-8'
-
-    Encoding.default_external = 'US-ASCII'
-    Encoding.default_external.name.should == 'US-ASCII'
-  end
-
-  it "assigns the default external encoding to be used for IO" do
-    Encoding.default_external = 'UTF-8'
-    open(__FILE__) do |file|
-      file.external_encoding.name.should == 'UTF-8'
-    end
-
-    Encoding.default_external = 'US-ASCII'
-    open(__FILE__) do |file|
-      file.external_encoding.name.should == 'US-ASCII'
-    end
-  end
-end

Copied: MacRuby/branches/experimental/spec/frozen/core/encoding/default_external_spec_disabled.rb (from rev 1783, MacRuby/branches/experimental/spec/frozen/core/encoding/default_external_spec.rb)
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/encoding/default_external_spec_disabled.rb	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/core/encoding/default_external_spec_disabled.rb	2009-06-06 15:04:27 UTC (rev 1784)
@@ -0,0 +1,45 @@
+require File.dirname(__FILE__) + '/../../spec_helper'
+
+describe "Encoding.default_external" do
+  it "returns the default external Encoding instance" do
+    Encoding.default_external.should be_kind_of(Encoding)
+  end
+end
+
+describe "Encoding.default_external=" do
+  before :all do
+    @before = Encoding.default_external
+  end
+
+  after :each do
+    Encoding.default_external = @before
+  end
+
+  it "takes an Encoding instance" do
+    Encoding.default_external = Encoding.find('UTF-8')
+    Encoding.default_external.name.should == 'UTF-8'
+
+    Encoding.default_external = Encoding.find('US-ASCII')
+    Encoding.default_external.name.should == 'US-ASCII'
+  end
+
+  it "takes a string name of an encoding" do
+    Encoding.default_external = 'UTF-8'
+    Encoding.default_external.name.should == 'UTF-8'
+
+    Encoding.default_external = 'US-ASCII'
+    Encoding.default_external.name.should == 'US-ASCII'
+  end
+
+  it "assigns the default external encoding to be used for IO" do
+    Encoding.default_external = 'UTF-8'
+    open(__FILE__) do |file|
+      file.external_encoding.name.should == 'UTF-8'
+    end
+
+    Encoding.default_external = 'US-ASCII'
+    open(__FILE__) do |file|
+      file.external_encoding.name.should == 'US-ASCII'
+    end
+  end
+end

Deleted: MacRuby/branches/experimental/spec/frozen/core/encoding/default_internal_spec.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/encoding/default_internal_spec.rb	2009-06-06 15:04:00 UTC (rev 1783)
+++ MacRuby/branches/experimental/spec/frozen/core/encoding/default_internal_spec.rb	2009-06-06 15:04:27 UTC (rev 1784)
@@ -1,50 +0,0 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-
-describe "Encoding.default_internal" do
-  it "returns `nil' by default" do
-    Encoding.default_internal.should be_nil
-  end
-end
-
-describe "Encoding.default_internal=" do
-  before :all do
-    @before = Encoding.default_external
-    Encoding.default_external = 'ISO-8859-1'
-  end
-
-  after :all do
-    Encoding.default_external = @before
-  end
-
-  after :each do
-    Encoding.default_internal = nil
-  end
-
-  it "takes an Encoding instance" do
-    Encoding.default_internal = Encoding.find('UTF-8')
-    Encoding.default_internal.name.should == 'UTF-8'
-
-    Encoding.default_internal = Encoding.find('US-ASCII')
-    Encoding.default_internal.name.should == 'US-ASCII'
-  end
-
-  it "takes a string name of an encoding" do
-    Encoding.default_internal = 'UTF-8'
-    Encoding.default_internal.name.should == 'UTF-8'
-
-    Encoding.default_internal = 'US-ASCII'
-    Encoding.default_internal.name.should == 'US-ASCII'
-  end
-
-  it "assigns the default external encoding to be used for IO" do
-    Encoding.default_internal = 'UTF-8'
-    open(__FILE__) do |file|
-      file.internal_encoding.name.should == 'UTF-8'
-    end
-
-    Encoding.default_internal = 'US-ASCII'
-    open(__FILE__) do |file|
-      file.internal_encoding.name.should == 'US-ASCII'
-    end
-  end
-end

Copied: MacRuby/branches/experimental/spec/frozen/core/encoding/default_internal_spec_disabled.rb (from rev 1783, MacRuby/branches/experimental/spec/frozen/core/encoding/default_internal_spec.rb)
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/encoding/default_internal_spec_disabled.rb	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/core/encoding/default_internal_spec_disabled.rb	2009-06-06 15:04:27 UTC (rev 1784)
@@ -0,0 +1,50 @@
+require File.dirname(__FILE__) + '/../../spec_helper'
+
+describe "Encoding.default_internal" do
+  it "returns `nil' by default" do
+    Encoding.default_internal.should be_nil
+  end
+end
+
+describe "Encoding.default_internal=" do
+  before :all do
+    @before = Encoding.default_external
+    Encoding.default_external = 'ISO-8859-1'
+  end
+
+  after :all do
+    Encoding.default_external = @before
+  end
+
+  after :each do
+    Encoding.default_internal = nil
+  end
+
+  it "takes an Encoding instance" do
+    Encoding.default_internal = Encoding.find('UTF-8')
+    Encoding.default_internal.name.should == 'UTF-8'
+
+    Encoding.default_internal = Encoding.find('US-ASCII')
+    Encoding.default_internal.name.should == 'US-ASCII'
+  end
+
+  it "takes a string name of an encoding" do
+    Encoding.default_internal = 'UTF-8'
+    Encoding.default_internal.name.should == 'UTF-8'
+
+    Encoding.default_internal = 'US-ASCII'
+    Encoding.default_internal.name.should == 'US-ASCII'
+  end
+
+  it "assigns the default external encoding to be used for IO" do
+    Encoding.default_internal = 'UTF-8'
+    open(__FILE__) do |file|
+      file.internal_encoding.name.should == 'UTF-8'
+    end
+
+    Encoding.default_internal = 'US-ASCII'
+    open(__FILE__) do |file|
+      file.internal_encoding.name.should == 'US-ASCII'
+    end
+  end
+end

Added: MacRuby/branches/experimental/spec/frozen/core/thread/key_spec_disabled.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/thread/key_spec_disabled.rb	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/core/thread/key_spec_disabled.rb	2009-06-06 15:04:27 UTC (rev 1784)
@@ -0,0 +1,23 @@
+require File.dirname(__FILE__) + '/../../spec_helper'
+require File.dirname(__FILE__) + '/fixtures/classes'
+
+describe "Thread#key?" do
+  before :each do
+    @th = Thread.new do
+      Thread.current[:oliver] = "a"
+    end
+    @th.join
+  end
+
+  it "tests for existance of thread local variables using symbols or strings" do
+    @th.key?(:oliver).should == true
+    @th.key?("oliver").should == true
+    @th.key?(:stanley).should == false
+    @th.key?(:stanley.to_s).should == false
+  end
+
+  it "raises exceptions on the wrong type of keys" do
+    lambda { Thread.current.key? nil }.should raise_error(TypeError)
+    lambda { Thread.current.key? 5 }.should raise_error(ArgumentError)
+  end
+end

Added: MacRuby/branches/experimental/spec/frozen/core/thread/raise_spec_disabled.rb
===================================================================
--- MacRuby/branches/experimental/spec/frozen/core/thread/raise_spec_disabled.rb	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/core/thread/raise_spec_disabled.rb	2009-06-06 15:04:27 UTC (rev 1784)
@@ -0,0 +1,127 @@
+require File.dirname(__FILE__) + '/../../spec_helper'
+require File.dirname(__FILE__) + '/fixtures/classes'
+require File.dirname(__FILE__) + '/../../shared/kernel/raise'
+
+describe "Thread#raise" do
+  it "ignores dead threads" do
+    t = Thread.new { :dead }
+    Thread.pass while t.alive?
+    lambda {t.raise("Kill the thread")}.should_not raise_error
+    lambda {t.value}.should_not raise_error
+  end
+end
+
+describe "Thread#raise on a sleeping thread" do
+  before :each do
+    ScratchPad.clear
+    @thr = ThreadSpecs.sleeping_thread
+    Thread.pass while @thr.status and @thr.status != "sleep"
+  end
+
+  after :each do
+    @thr.kill
+  end
+
+  it "raises a RuntimeError if no exception class is given" do
+    @thr.raise
+    Thread.pass while @thr.status
+    ScratchPad.recorded.should be_kind_of(RuntimeError)
+  end
+
+  it "raises the given exception" do
+    @thr.raise Exception
+    Thread.pass while @thr.status
+    ScratchPad.recorded.class.should == Exception
+  end
+
+  it "raises the given exception with the given message" do
+    @thr.raise Exception, "get to work"
+    Thread.pass while @thr.status
+    ScratchPad.recorded.class.should == Exception
+    ScratchPad.recorded.message.should == "get to work"
+  end
+
+  it "can go unhandled" do
+    t = Thread.new do
+      sleep
+    end
+
+    t.raise
+    lambda {t.value}.should raise_error(RuntimeError)
+  end
+
+  it "re-raises active exception" do
+    t = Thread.new do
+      begin
+        1/0
+      rescue ZeroDivisionError
+        sleep 3
+      end
+    end
+
+    Thread.pass while t.status and t.status != "sleep"
+    t.raise
+    lambda {t.value}.should raise_error(ZeroDivisionError)
+    t.kill
+  end
+end
+
+describe "Thread#raise on a running thread" do
+  before :each do
+    ScratchPad.clear
+    @thr = ThreadSpecs.running_thread
+    Thread.pass while @thr.status and @thr.status != "run"
+  end
+  
+  after :each do
+    @thr.kill
+  end
+
+  it "raises a RuntimeError if no exception class is given" do
+    @thr.raise
+    Thread.pass while @thr.status
+    ScratchPad.recorded.should be_kind_of(RuntimeError)
+  end
+
+  it "raises the given exception" do
+    @thr.raise Exception
+    Thread.pass while @thr.status
+    ScratchPad.recorded.class.should == Exception
+  end
+
+  it "raises the given exception with the given message" do
+    @thr.raise Exception, "get to work"
+    Thread.pass while @thr.status
+    ScratchPad.recorded.class.should == Exception
+    ScratchPad.recorded.message.should == "get to work"
+  end
+
+  it "can go unhandled" do
+    t = Thread.new do
+      loop {}
+    end
+
+    t.raise
+    lambda {t.value}.should raise_error(RuntimeError)
+  end
+
+  it "re-raises active exception" do
+    raised = false
+    t = Thread.new do
+      begin
+        1/0
+      rescue ZeroDivisionError
+        raised = true
+        loop { }
+      end
+    end
+
+    Thread.pass until raised || !t.alive?
+    t.raise
+    lambda {t.value}.should raise_error(ZeroDivisionError)
+  end
+end
+
+describe "Thread#raise on same thread" do
+  it_behaves_like :kernel_raise, :raise, Thread.current
+end

Added: MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/aliases_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/aliases_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/aliases_tags.txt	2009-06-06 15:04:27 UTC (rev 1784)
@@ -0,0 +1 @@
+fails:Encoding.aliases returns an encoding name for a given alias

Added: MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/compatible_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/compatible_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/compatible_tags.txt	2009-06-06 15:04:27 UTC (rev 1784)
@@ -0,0 +1,2 @@
+fails:Encoding.compatible? returns an Encoding instance which will be compatible with both given strings
+fails:Encoding.compatible? returns `nil' if no compatible Encoding for the two given strings exists

Added: MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/default_external_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/default_external_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/default_external_tags.txt	2009-06-06 15:04:27 UTC (rev 1784)
@@ -0,0 +1,3 @@
+fails:Encoding.default_external= takes an Encoding instance
+fails:Encoding.default_external= takes a string name of an encoding
+fails:Encoding.default_external= assigns the default external encoding to be used for IO

Added: MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/default_internal_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/default_internal_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/default_internal_tags.txt	2009-06-06 15:04:27 UTC (rev 1784)
@@ -0,0 +1 @@
+fails:Encoding.default_internal returns `nil' by default

Added: MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/dummy_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/dummy_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/dummy_tags.txt	2009-06-06 15:04:27 UTC (rev 1784)
@@ -0,0 +1,2 @@
+fails:Encoding#dummy? returns `false' if an encoding can be handled correctly
+fails:Encoding#dummy? returns `true' if an encoding is a placeholder which can't be handled correctly

Added: MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/locale_charmap_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/locale_charmap_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/locale_charmap_tags.txt	2009-06-06 15:04:27 UTC (rev 1784)
@@ -0,0 +1 @@
+fails:Encoding.locale_charmap returns the name of the charmap of the current environment's locale

Added: MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/names_tags.txt
===================================================================
--- MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/names_tags.txt	                        (rev 0)
+++ MacRuby/branches/experimental/spec/frozen/tags/macruby/core/encoding/names_tags.txt	2009-06-06 15:04:27 UTC (rev 1784)
@@ -0,0 +1 @@
+fails:Encoding#names returns an array of names by which an Encoding instance can be referenced
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090606/ffaff7a5/attachment-0001.html>


More information about the macruby-changes mailing list