[macruby-changes] [2912] MacRuby/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Wed Oct 28 18:34:28 PDT 2009
Revision: 2912
http://trac.macosforge.org/projects/ruby/changeset/2912
Author: neeracher at apple.com
Date: 2009-10-28 18:34:27 -0700 (Wed, 28 Oct 2009)
Log Message:
-----------
Make remaining to_yaml test cases work. Defined new failing test for Struct functionality (seems to fail in mspec only)
Modified Paths:
--------------
MacRuby/trunk/ext/libyaml/emitter.c
MacRuby/trunk/lib/yaml/rubytypes.rb
MacRuby/trunk/spec/frozen/core/struct/new_spec.rb
MacRuby/trunk/spec/frozen/library/yaml/to_yaml_spec.rb
MacRuby/trunk/spec/frozen/tags/macruby/core/struct/new_tags.txt
Removed Paths:
-------------
MacRuby/trunk/spec/frozen/tags/macruby/library/yaml/to_yaml_tags.txt
Modified: MacRuby/trunk/ext/libyaml/emitter.c
===================================================================
--- MacRuby/trunk/ext/libyaml/emitter.c 2009-10-29 00:38:58 UTC (rev 2911)
+++ MacRuby/trunk/ext/libyaml/emitter.c 2009-10-29 01:34:27 UTC (rev 2912)
@@ -556,7 +556,9 @@
yaml_tag_directive_t default_tag_directives[] = {
{(yaml_char_t *)"!", (yaml_char_t *)"!"},
{(yaml_char_t *)"!!", (yaml_char_t *)"tag:yaml.org,2002:"},
- {NULL, NULL}
+ /* MN To match ruby specs. Not 100% sure if such an implicit directive is legal YAML. */
+ {(yaml_char_t *)"!ruby/", (yaml_char_t *)"tag:ruby.yaml.org,2002:"},
+ {NULL, NULL}
};
yaml_tag_directive_t *tag_directive;
int implicit;
Modified: MacRuby/trunk/lib/yaml/rubytypes.rb
===================================================================
--- MacRuby/trunk/lib/yaml/rubytypes.rb 2009-10-29 00:38:58 UTC (rev 2911)
+++ MacRuby/trunk/lib/yaml/rubytypes.rb 2009-10-29 01:34:27 UTC (rev 2912)
@@ -65,7 +65,7 @@
YAML::quick_emit(output) do |out|
out.map(taguri, to_yaml_style) do |map|
members.each do |m|
- out.add(m, self[m])
+ out.add(m.to_s, self[m])
end
end
end
@@ -104,6 +104,8 @@
end
end
end
+
+ def taguri; "!ruby/exception:#{self.class}"; end
end
class Array
Modified: MacRuby/trunk/spec/frozen/core/struct/new_spec.rb
===================================================================
--- MacRuby/trunk/spec/frozen/core/struct/new_spec.rb 2009-10-29 00:38:58 UTC (rev 2911)
+++ MacRuby/trunk/spec/frozen/core/struct/new_spec.rb 2009-10-29 01:34:27 UTC (rev 2912)
@@ -8,6 +8,12 @@
struct.name.should == "Struct::Animal"
end
+ it "creates a constant in Struct namespace by assigning to constant" do
+ Animal = Struct.new(:name, :legs, :eyeballs)
+ Animal.should == Animal
+ Animal.name.should == "Animal"
+ end
+
it "overwrites previously defined constants with string as first argument" do
first = Struct.new('Person', :height, :weight)
first.should == Struct::Person
Modified: MacRuby/trunk/spec/frozen/library/yaml/to_yaml_spec.rb
===================================================================
--- MacRuby/trunk/spec/frozen/library/yaml/to_yaml_spec.rb 2009-10-29 00:38:58 UTC (rev 2911)
+++ MacRuby/trunk/spec/frozen/library/yaml/to_yaml_spec.rb 2009-10-29 01:34:27 UTC (rev 2912)
@@ -62,8 +62,8 @@
end
it "returns the YAML representation of a Struct object" do
- Person = Struct.new(:name, :gender)
- Person.new("Jane", "female").to_yaml.should match_yaml("--- !ruby/struct:Person\nname: Jane\ngender: female\n")
+ Struct.new("Person", :name, :gender)
+ Struct::Person.new("Jane", "female").to_yaml.should match_yaml("--- !ruby/struct:Person\nname: Jane\ngender: female\n")
end
it "returns the YAML representation of a Symbol object" do
Modified: MacRuby/trunk/spec/frozen/tags/macruby/core/struct/new_tags.txt
===================================================================
--- MacRuby/trunk/spec/frozen/tags/macruby/core/struct/new_tags.txt 2009-10-29 00:38:58 UTC (rev 2911)
+++ MacRuby/trunk/spec/frozen/tags/macruby/core/struct/new_tags.txt 2009-10-29 01:34:27 UTC (rev 2912)
@@ -1,2 +1,3 @@
+fails:Struct.new creates a constant in Struct namespace by assigning to constant
fails:Struct.new accepts Fixnums as Symbols unless fixnum.to_sym.nil?
fails:Struct.new raises an ArgumentError if fixnum#to_sym is nil
Deleted: MacRuby/trunk/spec/frozen/tags/macruby/library/yaml/to_yaml_tags.txt
===================================================================
--- MacRuby/trunk/spec/frozen/tags/macruby/library/yaml/to_yaml_tags.txt 2009-10-29 00:38:58 UTC (rev 2911)
+++ MacRuby/trunk/spec/frozen/tags/macruby/library/yaml/to_yaml_tags.txt 2009-10-29 01:34:27 UTC (rev 2912)
@@ -1,4 +0,0 @@
-fails:Object#to_yaml returns the YAML representation of a Struct object
-fails:Object#to_yaml returns the YAML represenation of a RegExp object
-fails:Object#to_yaml returns the YAML representation of a Error object
-fails:Object#to_yaml returns the YAML representation for Range objects
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20091028/b21e1056/attachment.html>
More information about the macruby-changes
mailing list