mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 08:33:58 +02:00
Add in-tree mspec and ruby/spec
* For easier modifications of ruby/spec by MRI developers. * .gitignore: track changes under spec. * spec/mspec, spec/rubyspec: add in-tree mspec and ruby/spec. These files can therefore be updated like any other file in MRI. Instructions are provided in spec/README. [Feature #13156] [ruby-core:79246] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
ed7d803500
commit
95e8c48dd3
4645 changed files with 230678 additions and 4 deletions
49
spec/rubyspec/core/string/hex_spec.rb
Normal file
49
spec/rubyspec/core/string/hex_spec.rb
Normal file
|
@ -0,0 +1,49 @@
|
|||
require File.expand_path('../../../spec_helper', __FILE__)
|
||||
require File.expand_path('../fixtures/classes.rb', __FILE__)
|
||||
|
||||
# TODO: Move actual results to String#to_int() and spec in terms of it
|
||||
describe "String#hex" do
|
||||
it "treats leading characters of self as a string of hex digits" do
|
||||
"0a".hex.should == 10
|
||||
"0o".hex.should == 0
|
||||
"0x".hex.should == 0
|
||||
"A_BAD_BABE".hex.should == 0xABADBABE
|
||||
"0b1010".hex.should == "b1010".hex
|
||||
"0d500".hex.should == "d500".hex
|
||||
"abcdefG".hex.should == 0xabcdef
|
||||
end
|
||||
|
||||
it "does not accept a sequence of underscores as part of a number" do
|
||||
"a__b".hex.should == 0xa
|
||||
"a____b".hex.should == 0xa
|
||||
"a___f".hex.should == 0xa
|
||||
end
|
||||
|
||||
it "takes an optional sign" do
|
||||
"-1234".hex.should == -4660
|
||||
"+1234".hex.should == 4660
|
||||
end
|
||||
|
||||
it "takes an optional 0x" do
|
||||
"0x0a".hex.should == 10
|
||||
"0a".hex.should == 10
|
||||
end
|
||||
|
||||
it "requires that the sign is in front of the 0x if present" do
|
||||
"-0x1".hex.should == -1
|
||||
"0x-1".hex.should == 0
|
||||
end
|
||||
|
||||
it "returns 0 on error" do
|
||||
"".hex.should == 0
|
||||
"+-5".hex.should == 0
|
||||
"wombat".hex.should == 0
|
||||
"0x0x42".hex.should == 0
|
||||
end
|
||||
|
||||
it "returns 0 if sequence begins with underscore" do
|
||||
"_a".hex.should == 0
|
||||
"___b".hex.should == 0
|
||||
"___0xc".hex.should == 0
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue