rhodes 3.1.1 → 3.2.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +5 -2
- data/doc/alert-api.txt +51 -0
- data/doc/build.txt +52 -43
- data/doc/configuration.txt +9 -5
- data/doc/connect-to-web-services.txt +4 -4
- data/doc/device-caps.txt +80 -28
- data/doc/extensions.txt +1 -1
- data/doc/install.txt +1 -1
- data/doc/introduction.txt +1 -1
- data/doc/rhodes-api.txt +62 -62
- data/doc/rhom.txt +36 -23
- data/doc/{rhodes-api/ringtonemanager-api.txt → ringtonemanager-api.txt} +0 -0
- data/doc/scanner.txt +507 -0
- data/doc/simulator.txt +6 -1
- data/doc/synchronization.txt +32 -27
- data/doc/{rhodes-api/timer-api.txt → timer-api.txt} +1 -1
- data/doc/tutorial.txt +8 -8
- data/installer/OLD-README.html +81 -0
- data/installer/README.html +6 -4
- data/installer/RHOSTUDIO-LICENSE.txt +675 -0
- data/installer/rhostudio.nsi +147 -20
- data/lib/build/compileRB/compileRB.rb +5 -2
- data/lib/build/jake.rb +3 -2
- data/lib/extensions/barcode/ext/barcode/platform/android/Rakefile +1 -1
- data/lib/extensions/barcode/ext/barcode/platform/bb/Rakefile +1 -1
- data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode_wrap.c +391 -111
- data/lib/extensions/digest-md5/ext/Rakefile +1 -1
- data/lib/extensions/digest-sha1/ext/Rakefile +1 -1
- data/lib/extensions/digest/ext/Rakefile +1 -1
- data/lib/extensions/fcntl/ext/Rakefile +1 -1
- data/lib/extensions/mspec/mspec/expectations/expectations.rb +4 -4
- data/lib/extensions/mspec/mspec/expectations/should.rb +9 -8
- data/lib/extensions/mspec/mspec/guards.rb +3 -0
- data/lib/extensions/mspec/mspec/guards/conflict.rb +7 -2
- data/lib/extensions/mspec/mspec/guards/endian.rb +7 -10
- data/lib/extensions/mspec/mspec/guards/feature.rb +47 -0
- data/lib/extensions/mspec/mspec/guards/guard.rb +18 -13
- data/lib/extensions/mspec/mspec/guards/platform.rb +4 -0
- data/lib/extensions/mspec/mspec/guards/specified.rb +66 -0
- data/lib/extensions/mspec/mspec/guards/user.rb +17 -0
- data/lib/extensions/mspec/mspec/helpers.rb +6 -4
- data/lib/extensions/mspec/mspec/helpers/const_lookup.rb +2 -1
- data/lib/extensions/mspec/mspec/helpers/datetime.rb +30 -0
- data/lib/extensions/mspec/mspec/helpers/ducktype.rb +4 -4
- data/lib/extensions/mspec/mspec/helpers/encode.rb +21 -0
- data/lib/extensions/mspec/mspec/helpers/environment.rb +13 -9
- data/lib/extensions/mspec/mspec/helpers/fixture.rb +2 -1
- data/lib/extensions/mspec/mspec/helpers/flunk.rb +1 -1
- data/lib/extensions/mspec/mspec/helpers/fmode.rb +15 -0
- data/lib/extensions/mspec/mspec/helpers/io.rb +21 -2
- data/lib/extensions/mspec/mspec/helpers/language_version.rb +13 -3
- data/lib/extensions/mspec/mspec/helpers/numeric.rb +89 -0
- data/lib/extensions/mspec/mspec/helpers/ruby_exe.rb +138 -123
- data/lib/extensions/mspec/mspec/helpers/singleton_class.rb +7 -0
- data/lib/extensions/mspec/mspec/helpers/stasy.rb +33 -0
- data/lib/extensions/mspec/mspec/helpers/tmp.rb +34 -26
- data/lib/extensions/mspec/mspec/matchers.rb +9 -0
- data/lib/extensions/mspec/mspec/matchers/base.rb +14 -14
- data/lib/extensions/mspec/mspec/matchers/be_computed_by.rb +36 -0
- data/lib/extensions/mspec/mspec/matchers/be_computed_by_function.rb +35 -0
- data/lib/extensions/mspec/mspec/matchers/be_valid_dns_name.rb +24 -0
- data/lib/extensions/mspec/mspec/matchers/equal_utf16.rb +5 -7
- data/lib/extensions/mspec/mspec/matchers/have_class_variable.rb +12 -0
- data/lib/extensions/mspec/mspec/matchers/have_constant.rb +6 -24
- data/lib/extensions/mspec/mspec/matchers/have_data.rb +49 -0
- data/lib/extensions/mspec/mspec/matchers/have_instance_method.rb +1 -1
- data/lib/extensions/mspec/mspec/matchers/have_instance_variable.rb +12 -0
- data/lib/extensions/mspec/mspec/matchers/have_method.rb +1 -1
- data/lib/extensions/mspec/mspec/matchers/have_private_instance_method.rb +1 -1
- data/lib/extensions/mspec/mspec/matchers/have_private_method.rb +24 -0
- data/lib/extensions/mspec/mspec/matchers/have_protected_instance_method.rb +24 -0
- data/lib/extensions/mspec/mspec/matchers/have_public_instance_method.rb +1 -1
- data/lib/extensions/mspec/mspec/matchers/have_singleton_method.rb +24 -0
- data/lib/extensions/mspec/mspec/matchers/output_to_fd.rb +71 -71
- data/lib/extensions/mspec/mspec/matchers/raise_error.rb +4 -3
- data/lib/extensions/mspec/mspec/matchers/stringsymboladapter.rb +1 -1
- data/lib/extensions/mspec/mspec/matchers/variable.rb +28 -0
- data/lib/extensions/mspec/mspec/mocks/mock.rb +102 -60
- data/lib/extensions/mspec/mspec/mocks/object.rb +5 -1
- data/lib/extensions/mspec/mspec/mocks/proxy.rb +41 -6
- data/lib/extensions/mspec/mspec/runner.rb +1 -0
- data/lib/extensions/mspec/mspec/runner/actions/debug.rb +2 -0
- data/lib/extensions/mspec/mspec/runner/context.rb +58 -13
- data/lib/extensions/mspec/mspec/runner/exception.rb +7 -6
- data/lib/extensions/mspec/mspec/runner/formatters.rb +1 -0
- data/lib/extensions/mspec/mspec/runner/formatters/dotted.rb +15 -3
- data/lib/extensions/mspec/mspec/runner/formatters/profile.rb +70 -0
- data/lib/extensions/mspec/mspec/runner/mspec.rb +32 -19
- data/lib/extensions/mspec/mspec/runner/object.rb +4 -0
- data/lib/extensions/mspec/mspec/runner/shared.rb +1 -1
- data/lib/extensions/mspec/mspec/utils/name_map.rb +8 -1
- data/lib/extensions/mspec/mspec/utils/options.rb +25 -8
- data/lib/extensions/mspec/mspec/utils/ruby_name.rb +1 -1
- data/lib/extensions/mspec/mspec/utils/script.rb +4 -4
- data/lib/extensions/mspec/mspec/version.rb +1 -1
- data/lib/extensions/nfc/ext/nfc/platform/android/Rakefile +1 -1
- data/lib/extensions/nfc/ext/nfc/shared/ruby/nfc_wrap.c +427 -149
- data/lib/extensions/set/tsort.rb +242 -0
- data/lib/extensions/thread/monitor.rb +277 -0
- data/lib/extensions/thread/thread.rb +357 -0
- data/lib/framework/base64.rb +4 -4
- data/lib/framework/date/format.rb +36 -64
- data/lib/framework/dateOrig.rb +40 -23
- data/lib/framework/ostruct.rb +14 -8
- data/lib/framework/rational.rb +2 -2
- data/lib/framework/rbconfig.rb +71 -0
- data/lib/framework/rho/rho.rb +46 -43
- data/lib/framework/rho/rhocontact.rb +60 -36
- data/lib/framework/rho/rhofsconnector.rb +2 -2
- data/lib/framework/rho/rhoutils.rb +10 -6
- data/lib/framework/rhodes.rb +1 -1
- data/lib/framework/rhoframework.rb +0 -13
- data/lib/framework/rhom/rhom.rb +64 -1
- data/lib/framework/rhom/rhom_object_factory.rb +4 -4
- data/lib/framework/rhosystem.rb +27 -25
- data/lib/framework/time.rb +48 -16
- data/lib/framework/version.rb +1 -1
- data/lib/rhodes.rb +1 -1
- data/lib/test/framework_test.rb +1 -1
- data/platform/android/Rhodes/AndroidManifest.xml +35 -9
- data/platform/android/Rhodes/default.properties +1 -1
- data/platform/android/Rhodes/jni/Android.mk +5 -4
- data/platform/android/Rhodes/jni/include/rhodes.h +65 -3
- data/platform/android/Rhodes/jni/include/rhodes/JNIRhodes.h +3 -1
- data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_geolocation_GeoLocationImpl.h +12 -2
- data/platform/android/Rhodes/jni/src/callbacks.cpp +6 -2
- data/platform/android/Rhodes/jni/src/event.cpp +60 -1
- data/platform/android/Rhodes/jni/src/geolocation.cpp +42 -13
- data/platform/android/Rhodes/jni/src/mapview.cpp +169 -42
- data/platform/android/Rhodes/jni/src/phonebook.cpp +90 -74
- data/platform/android/Rhodes/jni/src/rhodes.cpp +91 -3
- data/platform/android/Rhodes/jni/src/rhodesapp.cpp +1 -1
- data/platform/android/Rhodes/res/drawable/callout_a1.png +0 -0
- data/platform/android/Rhodes/res/drawable/callout_a2.png +0 -0
- data/platform/android/Rhodes/res/drawable/callout_a3.png +0 -0
- data/platform/android/Rhodes/res/drawable/callout_b1.png +0 -0
- data/platform/android/Rhodes/res/drawable/callout_b2.png +0 -0
- data/platform/android/Rhodes/res/drawable/callout_b3.png +0 -0
- data/platform/android/Rhodes/res/drawable/callout_c1.png +0 -0
- data/platform/android/Rhodes/res/drawable/callout_c2.png +0 -0
- data/platform/android/Rhodes/res/drawable/callout_c3.png +0 -0
- data/platform/android/Rhodes/res/drawable/callout_d.png +0 -0
- data/platform/android/Rhodes/res/drawable/google.png +0 -0
- data/platform/android/Rhodes/res/drawable/location.png +0 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/AndroidR.java +12 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +44 -21
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +12 -25
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/PopupActivity.java +2 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothDeviceListActivity.java +2 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraSettings.java +11 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +13 -3
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/Event.java +7 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/EventStore.java +127 -37
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java +69 -23
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +287 -124
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Annotation.java +6 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/AnnotationsOverlay.java +57 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Callout.java +296 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/CalloutOverlay.java +143 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/GoogleMapView.java +109 -3
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapView.java +53 -5
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Contact.java +16 -119
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessor.java +4 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorNew.java +284 -120
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorOld.java +58 -23
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Phonebook.java +42 -77
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/util/PerformOnUiThread.java +1 -1
- data/platform/android/build/RhodesSRC_build.files +2 -0
- data/platform/android/build/android.rake +90 -40
- data/platform/android/build/android_tools.rb +16 -0
- data/platform/android/build/androidcommon.rb +2 -0
- data/platform/android/build/librhocommon_build.files +3 -0
- data/platform/android/build/libruby_build.files +2 -1
- data/platform/bb/RubyVM/src/com/rho/net/AsyncHttp.java +6 -2
- data/platform/bb/RubyVM/src/com/rho/sync/ClientRegister.java +3 -2
- data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +17 -24
- data/platform/bb/RubyVM/src/com/rho/sync/SyncNotify.java +26 -2
- data/platform/bb/RubyVM/src/com/rho/sync/SyncProtocol_3.java +6 -1
- data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +4 -0
- data/platform/bb/RubyVM/src/com/rho/sync/SyncThread.java +50 -54
- data/platform/bb/build/bb.rake +4 -4
- data/platform/bb/rhodes/src/com/rho/rubyext/RhoPhonebook.java +6 -6
- data/platform/bb/rhodes/src/rhomobile/camera/Camera.java +7 -0
- data/platform/bb/rhodes/src/rhomobile/mapview/MapView.java +10 -0
- data/platform/iphone/Classes/AppManager/AppManager.m +29 -0
- data/platform/iphone/Classes/Dispatcher/Dispatcher.c +1 -1
- data/platform/iphone/Classes/GeoLocation/LocationController.h +2 -1
- data/platform/iphone/Classes/GeoLocation/LocationController.m +23 -0
- data/platform/iphone/Classes/MapView/MapAnnotation.h +6 -0
- data/platform/iphone/Classes/MapView/MapAnnotation.m +5 -1
- data/platform/iphone/Classes/MapView/MapViewController.m +48 -4
- data/platform/iphone/Classes/MapView/MapViewManager.m +7 -0
- data/platform/iphone/Classes/Phonebook/phonebook.m +44 -0
- data/platform/iphone/Classes/Rhodes.m +1 -1
- data/platform/iphone/Info.plist +1 -1
- data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +3 -3
- data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +3 -3
- data/platform/iphone/rbuild/iphone.rake +3 -1
- data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +3 -3
- data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +18 -7
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +3 -2
- data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +3 -3
- data/platform/linux/files.txt +2 -2
- data/platform/linux/target/compiler/rubylinux +0 -0
- data/platform/mac/RubyMac/RubyMac.xcodeproj/project.pbxproj +8 -2
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/MacOS/RhoSimulator +0 -0
- data/platform/osx/build/osx.rake +1 -3
- data/platform/shared/RhoConnectClient/RhoConnectClient.cpp +65 -26
- data/platform/shared/RhoConnectClient/RhoConnectClient.h +5 -1
- data/platform/shared/common/Android.mk +3 -0
- data/platform/shared/common/AppMenu.cpp +2 -2
- data/platform/shared/common/RhoPort.h +2 -2
- data/platform/shared/common/RhodesApp.cpp +20 -2
- data/platform/shared/common/RhodesApp.h +1 -0
- data/platform/shared/common/ThreadQueue.cpp +5 -0
- data/platform/shared/common/ThreadQueue.h +1 -0
- data/platform/shared/common/map/BaseMapEngine.cpp +1393 -0
- data/platform/shared/common/map/BaseMapEngine.h +368 -0
- data/platform/shared/common/map/ESRIMapEngine.cpp +23 -896
- data/platform/shared/common/map/ESRIMapEngine.h +11 -243
- data/platform/shared/common/map/GeocodingMapEngine.cpp +200 -0
- data/platform/shared/common/map/GeocodingMapEngine.h +86 -0
- data/platform/shared/common/map/GoogleMapEngine.cpp +70 -135
- data/platform/shared/common/map/GoogleMapEngine.h +21 -38
- data/platform/shared/common/map/MapEngine.cpp +145 -24
- data/platform/shared/common/map/MapEngine.h +156 -54
- data/platform/shared/common/map/OSMMapEngine.cpp +94 -0
- data/platform/shared/common/map/OSMMapEngine.h +65 -0
- data/platform/shared/curl/lib/config-symbian.h +3 -1
- data/platform/shared/db/DBAdapter.cpp +30 -4
- data/platform/shared/db/DBAdapter.h +24 -1
- data/platform/shared/logging/RhoLog.h +26 -0
- data/platform/shared/net/AsyncHttp.cpp +6 -2
- data/platform/shared/net/CompatWince.cpp +1 -0
- data/platform/shared/net/HttpServer.cpp +5 -2
- data/platform/shared/qt/rhodes/RhoSimulator.h +1 -1
- data/platform/shared/qt/rhodes/impl/GeoLocationImpl.cpp +6 -0
- data/platform/shared/qt/rhodes/impl/MapViewImpl.cpp +4 -0
- data/platform/shared/qt/rhodes/impl/PhonebookImpl.cpp +12 -0
- data/platform/shared/qt/rhodes/impl/SystemImpl.cpp +26 -0
- data/platform/shared/qt/rholib/rholib.pro +14 -19
- data/platform/shared/qt/rubylib/rubylib.pro +7 -4
- data/platform/shared/ruby/Android.mk +3 -2
- data/platform/shared/ruby/GPL +340 -0
- data/platform/shared/ruby/android/ruby/config.h +283 -0
- data/platform/shared/ruby/array.c +1318 -595
- data/platform/shared/ruby/bignum.c +1092 -278
- data/platform/shared/ruby/class.c +689 -201
- data/platform/shared/ruby/compar.c +22 -20
- data/platform/shared/ruby/compile.c +327 -249
- data/platform/shared/ruby/complex.c +593 -138
- data/platform/shared/ruby/cont.c +213 -95
- data/platform/shared/ruby/debug.c +15 -10
- data/platform/shared/ruby/debug.h +1 -1
- data/platform/shared/ruby/dir.c +247 -104
- data/platform/shared/ruby/dln.c +102 -309
- data/platform/shared/ruby/dln.h +3 -3
- data/platform/shared/ruby/dln_find.c +305 -0
- data/platform/shared/ruby/dmydln.c +7 -2
- data/platform/shared/ruby/dmyversion.c +2 -0
- data/platform/shared/ruby/enc/Makefile.in +1 -0
- data/platform/shared/ruby/enc/big5.c +142 -5
- data/platform/shared/ruby/enc/depend +1 -0
- data/platform/shared/ruby/enc/emacs_mule.c +1 -1
- data/platform/shared/ruby/enc/encdb.c +3 -1
- data/platform/shared/ruby/enc/euc_tw.c +1 -10
- data/platform/shared/ruby/enc/iso_2022_jp.h +36 -0
- data/platform/shared/ruby/enc/iso_8859_5.c +1 -1
- data/platform/shared/ruby/enc/koi8_r.c +1 -1
- data/platform/shared/ruby/enc/koi8_u.c +1 -1
- data/platform/shared/ruby/enc/prelude.rb +1 -1
- data/platform/shared/ruby/enc/shift_jis.c +3 -3
- data/platform/shared/ruby/enc/trans/big5-hkscs-tbl.rb +18385 -0
- data/platform/shared/ruby/enc/trans/big5-uao-tbl.rb +19784 -0
- data/platform/shared/ruby/enc/trans/big5.c +53810 -12566
- data/platform/shared/ruby/enc/trans/big5.trans +10 -1
- data/platform/shared/ruby/enc/trans/chinese.c +113 -71
- data/platform/shared/ruby/enc/trans/chinese.trans +6 -4
- data/platform/shared/ruby/enc/trans/escape.c +3 -3
- data/platform/shared/ruby/enc/trans/escape.trans +3 -3
- data/platform/shared/ruby/enc/trans/gb18030-tbl.rb +32 -0
- data/platform/shared/ruby/enc/trans/gb18030.c +17431 -91305
- data/platform/shared/ruby/enc/trans/gb18030.trans +105 -5
- data/platform/shared/ruby/enc/trans/gbk.c +13 -13
- data/platform/shared/ruby/enc/trans/iso2022.c +374 -13
- data/platform/shared/ruby/enc/trans/iso2022.trans +313 -0
- data/platform/shared/ruby/enc/trans/japanese.c +26 -24
- data/platform/shared/ruby/enc/trans/japanese_euc.c +30 -30
- data/platform/shared/ruby/enc/trans/japanese_sjis.c +282 -276
- data/platform/shared/ruby/enc/trans/korean.c +182 -159
- data/platform/shared/ruby/enc/trans/newline.c +18 -14
- data/platform/shared/ruby/enc/trans/newline.trans +15 -11
- data/platform/shared/ruby/enc/trans/single_byte.c +497 -394
- data/platform/shared/ruby/enc/trans/single_byte.trans +1 -2
- data/platform/shared/ruby/enc/trans/transdb.c +1 -1
- data/platform/shared/ruby/enc/trans/utf8_mac-tbl.rb +945 -0
- data/platform/shared/ruby/enc/trans/utf8_mac.c +10853 -0
- data/platform/shared/ruby/enc/trans/utf8_mac.trans +242 -0
- data/platform/shared/ruby/enc/trans/utf_16_32.c +89 -86
- data/platform/shared/ruby/enc/unicode.c +30 -8779
- data/platform/shared/ruby/enc/unicode/name2ctype.h +17985 -0
- data/platform/shared/ruby/enc/unicode/name2ctype.h.blt +17985 -0
- data/platform/shared/ruby/enc/unicode/name2ctype.kwd +16711 -0
- data/platform/shared/ruby/enc/unicode/name2ctype.src +16711 -0
- data/platform/shared/ruby/enc/utf_16be.c +3 -4
- data/platform/shared/ruby/enc/utf_16le.c +3 -4
- data/platform/shared/ruby/enc/utf_8.c +3 -1
- data/platform/shared/ruby/enc/x_emoji.h +26 -0
- data/platform/shared/ruby/encdb.h +18 -2
- data/platform/shared/ruby/encoding.c +248 -111
- data/platform/shared/ruby/enum.c +1006 -200
- data/platform/shared/ruby/enumerator.c +555 -254
- data/platform/shared/ruby/error.c +478 -79
- data/platform/shared/ruby/eval.c +186 -94
- data/platform/shared/ruby/eval_error.c +16 -10
- data/platform/shared/ruby/eval_intern.h +24 -9
- data/platform/shared/ruby/eval_jump.c +2 -1
- data/platform/shared/ruby/ext/geolocation/geolocation.i +10 -1
- data/platform/shared/ruby/ext/geolocation/geolocation_wrap.c +49 -6
- data/platform/shared/ruby/ext/mapview/mapview.i +6 -0
- data/platform/shared/ruby/ext/mapview/mapview_wrap.c +279 -0
- data/platform/shared/ruby/ext/nativebar/nativebar_wrap.c +402 -124
- data/platform/shared/ruby/ext/phonebook/phonebook.i +41 -7
- data/platform/shared/ruby/ext/phonebook/phonebook_wrap.c +216 -47
- data/platform/shared/ruby/ext/rho/rhoruby.c +9 -5
- data/platform/shared/ruby/ext/rho/rhosupport.c +1 -1
- data/platform/shared/ruby/ext/socket/getaddrinfo.c +4 -0
- data/platform/shared/ruby/ext/sqlite3_api/sqlite3_api_wrap.c +2 -2
- data/platform/shared/ruby/ext/syncengine/syncengine.i +14 -5
- data/platform/shared/ruby/ext/syncengine/syncengine_wrap.c +55 -7
- data/platform/shared/ruby/ext/system/system.i +7 -2
- data/platform/shared/ruby/ext/system/system_wrap.c +28 -2
- data/platform/shared/ruby/file.c +1243 -683
- data/platform/shared/ruby/gc.c +509 -217
- data/platform/shared/ruby/gc.h +7 -5
- data/platform/shared/ruby/generated/insns.inc +11 -9
- data/platform/shared/ruby/generated/insns_info.inc +69 -62
- data/platform/shared/ruby/generated/known_errors.inc +360 -245
- data/platform/shared/ruby/generated/lex.c +49 -47
- data/platform/shared/ruby/generated/node_name.inc +0 -8
- data/platform/shared/ruby/generated/optinsn.inc +1 -1
- data/platform/shared/ruby/generated/parse.c +4480 -4162
- data/platform/shared/ruby/generated/parse.h +13 -14
- data/platform/shared/ruby/generated/vm.inc +485 -269
- data/platform/shared/ruby/generated/vmtc.inc +2 -1
- data/platform/shared/ruby/golf_prelude.c +21 -4
- data/platform/shared/ruby/goruby.c +1 -1
- data/platform/shared/ruby/hash.c +429 -180
- data/platform/shared/ruby/ia64.s +42 -0
- data/platform/shared/ruby/id.c +13 -14
- data/platform/shared/ruby/id.h +25 -18
- data/platform/shared/ruby/include/ruby.h +1 -1
- data/platform/shared/ruby/include/ruby/backward/rubysig.h +2 -2
- data/platform/shared/ruby/include/ruby/defines.h +50 -29
- data/platform/shared/ruby/include/ruby/encoding.h +40 -14
- data/platform/shared/ruby/include/ruby/intern.h +81 -24
- data/platform/shared/ruby/include/ruby/io.h +4 -4
- data/platform/shared/ruby/include/ruby/missing.h +28 -18
- data/platform/shared/ruby/include/ruby/oniguruma.h +22 -7
- data/platform/shared/ruby/include/ruby/re.h +4 -4
- data/platform/shared/ruby/include/ruby/ruby.h +294 -76
- data/platform/shared/ruby/include/ruby/st.h +27 -9
- data/platform/shared/ruby/include/ruby/util.h +14 -6
- data/platform/shared/ruby/include/ruby/version.h +61 -0
- data/platform/shared/ruby/include/ruby/vm.h +21 -1
- data/platform/shared/ruby/include/ruby/win32.h +223 -63
- data/platform/shared/ruby/inits.c +1 -1
- data/platform/shared/ruby/insns.def +236 -111
- data/platform/shared/ruby/io.c +2188 -774
- data/platform/shared/ruby/iphone/ruby/config.h +75 -45
- data/platform/shared/ruby/iseq.c +261 -104
- data/platform/shared/ruby/iseq.h +13 -11
- data/platform/shared/ruby/linux/ruby/config.h +95 -100
- data/platform/shared/ruby/load.c +115 -81
- data/platform/shared/ruby/main.c +122 -0
- data/platform/shared/ruby/marshal.c +418 -230
- data/platform/shared/ruby/math.c +219 -152
- data/platform/shared/ruby/method.h +103 -0
- data/platform/shared/ruby/miniprelude.c +35 -23
- data/platform/shared/ruby/missing/acosh.c +4 -4
- data/platform/shared/ruby/missing/alloca.c +4 -1
- data/platform/shared/ruby/missing/close.c +67 -0
- data/platform/shared/ruby/missing/crypt.c +9 -9
- data/platform/shared/ruby/missing/dup2.c +0 -1
- data/platform/shared/ruby/missing/langinfo.c +4 -3
- data/platform/shared/ruby/missing/signbit.c +19 -0
- data/platform/shared/ruby/newline.c +18 -14
- data/platform/shared/ruby/node.c +921 -0
- data/platform/shared/ruby/node.h +14 -47
- data/platform/shared/ruby/numeric.c +544 -302
- data/platform/shared/ruby/object.c +430 -426
- data/platform/shared/ruby/pack.c +677 -628
- data/platform/shared/ruby/parse.y +847 -523
- data/platform/shared/ruby/proc.c +631 -341
- data/platform/shared/ruby/process.c +811 -421
- data/platform/shared/ruby/random.c +858 -177
- data/platform/shared/ruby/range.c +234 -133
- data/platform/shared/ruby/rational.c +936 -173
- data/platform/shared/ruby/re.c +351 -192
- data/platform/shared/ruby/regcomp.c +125 -138
- data/platform/shared/ruby/regenc.c +26 -25
- data/platform/shared/ruby/regenc.h +7 -3
- data/platform/shared/ruby/regerror.c +44 -34
- data/platform/shared/ruby/regexec.c +31 -38
- data/platform/shared/ruby/regint.h +16 -17
- data/platform/shared/ruby/regparse.c +266 -136
- data/platform/shared/ruby/regparse.h +4 -1
- data/platform/shared/ruby/regsyntax.c +2 -2
- data/platform/shared/ruby/revision.h +0 -1
- data/platform/shared/ruby/ruby.c +276 -248
- data/platform/shared/ruby/safe.c +14 -8
- data/platform/shared/ruby/signal.c +61 -68
- data/platform/shared/ruby/sprintf.c +77 -38
- data/platform/shared/ruby/st.c +437 -61
- data/platform/shared/ruby/strftime.c +252 -110
- data/platform/shared/ruby/string.c +1361 -1009
- data/platform/shared/ruby/struct.c +200 -133
- data/platform/shared/ruby/symbian/ruby/config.h +56 -24
- data/platform/shared/ruby/thread.c +732 -247
- data/platform/shared/ruby/thread_pthread.c +122 -69
- data/platform/shared/ruby/thread_pthread.h +4 -1
- data/platform/shared/ruby/thread_win32.c +73 -41
- data/platform/shared/ruby/thread_win32.h +1 -1
- data/platform/shared/ruby/time.c +3271 -919
- data/platform/shared/ruby/timev.h +21 -0
- data/platform/shared/ruby/transcode.c +289 -95
- data/platform/shared/ruby/transcode_data.h +17 -14
- data/platform/shared/ruby/transdb.h +32 -0
- data/platform/shared/ruby/util.c +330 -123
- data/platform/shared/ruby/variable.c +294 -176
- data/platform/shared/ruby/version.c +71 -2
- data/platform/shared/ruby/version.h +22 -19
- data/platform/shared/ruby/vm.c +368 -203
- data/platform/shared/ruby/vm_core.h +110 -66
- data/platform/shared/ruby/vm_dump.c +51 -44
- data/platform/shared/ruby/vm_eval.c +547 -230
- data/platform/shared/ruby/vm_exec.c +3 -3
- data/platform/shared/ruby/vm_insnhelper.c +397 -200
- data/platform/shared/ruby/vm_insnhelper.h +27 -14
- data/platform/shared/ruby/vm_method.c +493 -296
- data/platform/shared/ruby/vm_opts.h +1 -1
- data/platform/shared/ruby/{missing/vsnprintf.c → vsnprintf.c} +114 -74
- data/platform/shared/ruby/win32/dir.h +5 -4
- data/platform/shared/ruby/win32/miniprelude.c +34 -21
- data/platform/shared/ruby/win32/newline.c +18 -14
- data/platform/shared/ruby/win32/ruby/config.h +58 -20
- data/platform/shared/ruby/win32/win32.c +1398 -475
- data/platform/shared/ruby/wince/direct.c +17 -1
- data/platform/shared/ruby/wince/io_wce.c +16 -8
- data/platform/shared/ruby/wince/ruby/config.h +54 -24
- data/platform/shared/ruby/wince/sys/stat.c +81 -0
- data/platform/shared/ruby/wince/time_wce.c +47 -4
- data/platform/shared/ruby/wince/wince.h +16 -0
- data/platform/shared/rubyext/Android.mk +1 -1
- data/platform/shared/rubyext/GeoLocation.cpp +93 -48
- data/platform/shared/rubyext/GeoLocation.h +9 -4
- data/platform/shared/rubyext/System.cpp +6 -0
- data/platform/shared/sync/ClientRegister.cpp +1 -1
- data/platform/shared/sync/SyncEngine.cpp +15 -55
- data/platform/shared/sync/SyncEngine.h +4 -4
- data/platform/shared/sync/SyncProtocol_3.h +6 -1
- data/platform/shared/sync/SyncSource.cpp +6 -1
- data/platform/shared/sync/SyncSource.h +1 -0
- data/platform/shared/sync/SyncThread.cpp +20 -9
- data/platform/shared/sync/SyncThread.h +14 -9
- data/platform/shared/wtl80/include/atlapp.h +2 -0
- data/platform/symbian/build/symbian.rake +56 -5
- data/platform/symbian/curl/curl.pro +4 -0
- data/platform/symbian/rhodes/rhodes.pro +16 -4
- data/platform/symbian/rhodes/src/phonebook/ruby_phonebook.cpp +10 -0
- data/platform/symbian/rholib/rholib.pro +4 -0
- data/platform/symbian/rubylib/rubylib.pro +6 -2
- data/platform/symbian/sqlite3/sqlite3.pro +2 -1
- data/platform/symbian/syncengine/syncengine.pro +4 -0
- data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
- data/platform/wm/RhoLib/RhoLib.vcproj +333 -0
- data/platform/wm/build/build_inf.js +1 -0
- data/platform/wm/build/wm.rake +43 -17
- data/platform/wm/rhodes.sln +140 -76
- data/platform/wm/rhodes/Alert.cpp +1 -1
- data/platform/wm/rhodes/IBrowserEngine.cpp +10 -0
- data/platform/wm/rhodes/IBrowserEngine.h +24 -0
- data/platform/wm/rhodes/IEBrowserEngine.cpp +179 -0
- data/platform/wm/rhodes/IEBrowserEngine.h +36 -0
- data/platform/wm/rhodes/MainWindow.cpp +176 -178
- data/platform/wm/rhodes/MainWindow.h +78 -20
- data/platform/wm/rhodes/MapView/Graphics.h +10 -0
- data/platform/wm/rhodes/MapView/MapViewManager.cpp +7 -0
- data/platform/wm/rhodes/OutlookApp.cpp +3 -3
- data/platform/wm/rhodes/RhoWebKitBrowser.cpp +10 -0
- data/platform/wm/rhodes/Rhodes.cpp +499 -443
- data/platform/wm/rhodes/bluetooth/Bluetooth.cpp +1 -4
- data/platform/wm/rhodes/bluetooth/Bluetooth.h +1 -1
- data/platform/wm/rhodes/camera/Camera.cpp +3 -6
- data/platform/wm/rhodes/phonebook/phonebook.cpp +20 -11
- data/platform/wm/rhodes/phonebook/phonebook.h +4 -2
- data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +3 -3
- data/platform/wm/rhodes/rho/rubyext/GeoLocationImpl.cpp +12 -7
- data/platform/wm/rhodes/rho/rubyext/GeoLocationImpl.h +1 -1
- data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +24 -6
- data/platform/wm/rhodes/rho/rubyext/WebView.cpp +0 -32
- data/platform/wm/rhodes/rho/rubyext/calendar.cpp +1 -1
- data/platform/wm/rhodes/rhodes.vcproj +1792 -129
- data/platform/wm/rhodes/rhoelements/RhoWKBrowserEngine.cpp +384 -0
- data/platform/wm/rhodes/rhoelements/RhoWKBrowserEngine.h +41 -0
- data/platform/wm/rhodes/signature/Signature.cpp +4 -8
- data/platform/wm/rhodes/signature/Signature.h +1 -1
- data/platform/wm/rhodes/simulator/MainWindowQt.cpp +1 -0
- data/platform/wm/rhodes/simulator/MainWindowQt.h +2 -0
- data/platform/wm/rhodes/stdafx.h +17 -5
- data/platform/wm/rhoelements.sln +447 -0
- data/platform/wm/rubylib/rubylib.vcproj +355 -10
- data/platform/wm/sqlite3/sqlite3.vcproj +305 -0
- data/platform/wm/syncengine/syncengine.vcproj +309 -0
- data/platform/wp7/IronRuby/bin/Silverlight3Release/IronRuby.Libraries.dll +0 -0
- data/platform/wp7/IronRuby/bin/Silverlight3Release/IronRuby.dll +0 -0
- data/platform/wp7/RhoAppRunner/Program.cs +2 -2
- data/platform/wp7/RhoRubyExtGen/RhoCamera.cs +59 -0
- data/platform/wp7/RhoRubyExtGen/RhoNativeBar.cs +3 -20
- data/platform/wp7/RhoRubyExtGen/RhoRubyExtGen.csproj +1 -0
- data/platform/wp7/RhoRubyLib/Initializers.Generated.cs +6 -9
- data/platform/wp7/RhoRubyLib/RhoRubyLib.csproj +2 -1
- data/platform/wp7/RhoRubyLib/rubyext/RhoCamera.cs +130 -0
- data/platform/wp7/RhoRubyLib/rubyext/RhoNativeBar.cs +5 -73
- data/res/build-tools/RhoRuby.exe +0 -0
- data/res/build-tools/RubyMac +0 -0
- data/res/build-tools/detool.exe +0 -0
- data/res/build-tools/rubylinux +0 -0
- data/res/generators/rhogen.rb +5 -0
- data/res/generators/templates/application/app/helpers/browser_helper.rb +4 -0
- data/res/generators/templates/application/app/index.erb +6 -2
- data/res/generators/templates/application/app/layout.erb +8 -5
- data/res/generators/templates/application/build.yml +3 -1
- data/res/generators/templates/application/gitignore +7 -0
- data/res/generators/templates/application/public/css/android.css +366 -5
- data/res/generators/templates/application/public/css/blackberry.css +16 -5
- data/res/generators/templates/application/public/css/iphone.css +349 -5
- data/res/generators/templates/application/public/css/windows_mobile.css +105 -0
- data/res/generators/templates/application/public/jqmobile/{jquery.mobile-1.0b2.css → jquery.mobile-1.0b3.css} +64 -5
- data/res/generators/templates/application/public/jqmobile/{jquery.mobile-1.0b2.js → jquery.mobile-1.0b3.js} +1125 -727
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0b3.min.css +8 -0
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0b3.min.js +169 -0
- data/res/generators/templates/application/public/jquery/{jquery-1.6.2.js → jquery-1.6.3.js} +226 -163
- data/res/generators/templates/application/public/jquery/jquery-1.6.3.min.js +4 -0
- data/res/generators/templates/application/public/js/wp7.js +5 -0
- data/res/generators/templates/model/edit.erb +6 -2
- data/res/generators/templates/model/index.erb +8 -4
- data/res/generators/templates/model/new.erb +3 -1
- data/res/generators/templates/model/show.erb +6 -2
- data/rhobuild.yml.example +0 -1
- data/rhodes.gemspec +1 -1
- data/spec/framework_spec/app/spec/core/argf/argf_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/argf/binmode_spec.rb +19 -7
- data/spec/framework_spec/app/spec/core/argf/bytes_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/argf/chars_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/argf/close_spec.rb +31 -5
- data/spec/framework_spec/app/spec/core/argf/closed_spec.rb +6 -5
- data/spec/framework_spec/app/spec/core/argf/each_byte_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/argf/each_char_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/argf/each_line_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/argf/each_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/argf/eof_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/argf/file_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/argf/filename_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/argf/fileno_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/argf/getc_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/argf/gets_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/argf/lineno_spec.rb +24 -18
- data/spec/framework_spec/app/spec/core/argf/path_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/argf/pos_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/argf/read_spec.rb +19 -20
- data/spec/framework_spec/app/spec/core/argf/readchar_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/argf/readline_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/argf/readlines_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/argf/rewind_spec.rb +18 -4
- data/spec/framework_spec/app/spec/core/argf/seek_spec.rb +6 -4
- data/spec/framework_spec/app/spec/core/argf/shared/each_byte.rb +3 -3
- data/spec/framework_spec/app/spec/core/argf/shared/each_char.rb +4 -4
- data/spec/framework_spec/app/spec/core/argf/shared/each_line.rb +9 -3
- data/spec/framework_spec/app/spec/core/argf/shared/eof.rb +3 -3
- data/spec/framework_spec/app/spec/core/argf/shared/filename.rb +3 -3
- data/spec/framework_spec/app/spec/core/argf/shared/fileno.rb +3 -3
- data/spec/framework_spec/app/spec/core/argf/shared/getc.rb +3 -3
- data/spec/framework_spec/app/spec/core/argf/shared/gets.rb +41 -43
- data/spec/framework_spec/app/spec/core/argf/shared/pos.rb +3 -3
- data/spec/framework_spec/app/spec/core/argf/shared/readlines.rb +2 -2
- data/spec/framework_spec/app/spec/core/argf/skip_spec.rb +12 -4
- data/spec/framework_spec/app/spec/core/argf/tell_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/argf/to_a_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/argf/to_i_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/argf/to_io_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/argf/to_s_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/array/allocate_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/append_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/array/array_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/array/assoc_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/array/at_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/array/choice_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/array/clear_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/clone_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/collect_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/combination_spec.rb +38 -13
- data/spec/framework_spec/app/spec/core/array/compact_spec.rb +33 -11
- data/spec/framework_spec/app/spec/core/array/comparison_spec.rb +11 -5
- data/spec/framework_spec/app/spec/core/array/concat_spec.rb +13 -13
- data/spec/framework_spec/app/spec/core/array/constructor_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/array/count_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/array/cycle_spec.rb +82 -14
- data/spec/framework_spec/app/spec/core/array/delete_at_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/array/delete_if_spec.rb +16 -7
- data/spec/framework_spec/app/spec/core/array/delete_spec.rb +8 -2
- data/spec/framework_spec/app/spec/core/array/drop_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/array/drop_while_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/array/dup_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/each_index_spec.rb +29 -30
- data/spec/framework_spec/app/spec/core/array/each_spec.rb +8 -33
- data/spec/framework_spec/app/spec/core/array/element_reference_spec.rb +30 -6
- data/spec/framework_spec/app/spec/core/array/element_set_spec.rb +19 -2
- data/spec/framework_spec/app/spec/core/array/empty_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/array/eql_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/equal_value_spec.rb +34 -3
- data/spec/framework_spec/app/spec/core/array/fetch_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/array/fill_spec.rb +27 -12
- data/spec/framework_spec/app/spec/core/array/find_index_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/array/first_spec.rb +13 -13
- data/spec/framework_spec/app/spec/core/array/fixtures/classes.rb +447 -6
- data/spec/framework_spec/app/spec/core/array/flatten_spec.rb +42 -19
- data/spec/framework_spec/app/spec/core/array/frozen_spec.rb +17 -15
- data/spec/framework_spec/app/spec/core/array/hash_spec.rb +22 -3
- data/spec/framework_spec/app/spec/core/array/include_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/index_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/array/indexes_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/indices_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/initialize_copy_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/initialize_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/array/insert_spec.rb +13 -11
- data/spec/framework_spec/app/spec/core/array/inspect_spec.rb +33 -3
- data/spec/framework_spec/app/spec/core/array/intersection_spec.rb +13 -13
- data/spec/framework_spec/app/spec/core/array/join_spec.rb +24 -4
- data/spec/framework_spec/app/spec/core/array/keep_if_spec.rb +12 -0
- data/spec/framework_spec/app/spec/core/array/last_spec.rb +11 -11
- data/spec/framework_spec/app/spec/core/array/length_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/map_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/minus_spec.rb +9 -9
- data/spec/framework_spec/app/spec/core/array/multiply_spec.rb +23 -10
- data/spec/framework_spec/app/spec/core/array/new_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/array/nitems_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/pack/a_spec.rb +59 -0
- data/spec/framework_spec/app/spec/core/array/pack/at_spec.rb +30 -0
- data/spec/framework_spec/app/spec/core/array/pack/b_spec.rb +109 -0
- data/spec/framework_spec/app/spec/core/array/pack/c_spec.rb +83 -0
- data/spec/framework_spec/app/spec/core/array/pack/comment_spec.rb +25 -0
- data/spec/framework_spec/app/spec/core/array/pack/d_spec.rb +39 -0
- data/spec/framework_spec/app/spec/core/array/pack/e_spec.rb +25 -0
- data/spec/framework_spec/app/spec/core/array/pack/f_spec.rb +39 -0
- data/spec/framework_spec/app/spec/core/array/pack/g_spec.rb +25 -0
- data/spec/framework_spec/app/spec/core/array/pack/h_spec.rb +201 -0
- data/spec/framework_spec/app/spec/core/array/pack/i_spec.rb +73 -0
- data/spec/framework_spec/app/spec/core/array/pack/l_spec.rb +193 -0
- data/spec/framework_spec/app/spec/core/array/pack/m_spec.rb +337 -0
- data/spec/framework_spec/app/spec/core/array/pack/n_spec.rb +25 -0
- data/spec/framework_spec/app/spec/core/array/pack/percent_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/array/pack/q_spec.rb +43 -0
- data/spec/framework_spec/app/spec/core/array/pack/s_spec.rb +73 -0
- data/spec/framework_spec/app/spec/core/array/pack/shared/basic.rb +57 -0
- data/spec/framework_spec/app/spec/core/array/pack/shared/encodings.rb +16 -0
- data/spec/framework_spec/app/spec/core/array/pack/shared/float.rb +277 -0
- data/spec/framework_spec/app/spec/core/array/pack/shared/integer.rb +381 -0
- data/spec/framework_spec/app/spec/core/array/pack/shared/numeric_basic.rb +54 -0
- data/spec/framework_spec/app/spec/core/array/pack/shared/string.rb +83 -0
- data/spec/framework_spec/app/spec/core/array/pack/shared/unicode.rb +89 -0
- data/spec/framework_spec/app/spec/core/array/pack/u_spec.rb +130 -0
- data/spec/framework_spec/app/spec/core/array/pack/v_spec.rb +25 -0
- data/spec/framework_spec/app/spec/core/array/pack/w_spec.rb +44 -0
- data/spec/framework_spec/app/spec/core/array/pack/x_spec.rb +64 -0
- data/spec/framework_spec/app/spec/core/array/pack/z_spec.rb +32 -0
- data/spec/framework_spec/app/spec/core/array/pack_spec.rb +409 -369
- data/spec/framework_spec/app/spec/core/array/partition_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/array/permutation_spec.rb +34 -15
- data/spec/framework_spec/app/spec/core/array/plus_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/array/pop_spec.rb +17 -4
- data/spec/framework_spec/app/spec/core/array/product_spec.rb +49 -5
- data/spec/framework_spec/app/spec/core/array/push_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/array/rassoc_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/array/reject_spec.rb +42 -29
- data/spec/framework_spec/app/spec/core/array/repeated_combination_spec.rb +59 -0
- data/spec/framework_spec/app/spec/core/array/repeated_permutation_spec.rb +72 -0
- data/spec/framework_spec/app/spec/core/array/replace_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/reverse_each_spec.rb +26 -39
- data/spec/framework_spec/app/spec/core/array/reverse_spec.rb +15 -7
- data/spec/framework_spec/app/spec/core/array/rindex_spec.rb +28 -16
- data/spec/framework_spec/app/spec/core/array/rotate_spec.rb +85 -0
- data/spec/framework_spec/app/spec/core/array/sample_spec.rb +4 -10
- data/spec/framework_spec/app/spec/core/array/select_spec.rb +16 -3
- data/spec/framework_spec/app/spec/core/array/shared/clone.rb +2 -2
- data/spec/framework_spec/app/spec/core/array/shared/collect.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/shared/enumeratorize.rb +12 -0
- data/spec/framework_spec/app/spec/core/array/shared/eql.rb +9 -5
- data/spec/framework_spec/app/spec/core/array/shared/indexes.rb +1 -1
- data/spec/framework_spec/app/spec/core/array/shared/join.rb +122 -90
- data/spec/framework_spec/app/spec/core/array/shared/keep_if.rb +11 -0
- data/spec/framework_spec/app/spec/core/array/shared/slice.rb +67 -6
- data/spec/framework_spec/app/spec/core/array/shift_spec.rb +18 -4
- data/spec/framework_spec/app/spec/core/array/shuffle_spec.rb +23 -14
- data/spec/framework_spec/app/spec/core/array/size_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/array/slice_spec.rb +19 -3
- data/spec/framework_spec/app/spec/core/array/sort_by_spec.rb +48 -0
- data/spec/framework_spec/app/spec/core/array/sort_spec.rb +65 -65
- data/spec/framework_spec/app/spec/core/array/take_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/array/take_while_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/array/to_a_spec.rb +7 -8
- data/spec/framework_spec/app/spec/core/array/to_ary_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/array/to_s_spec.rb +2 -5
- data/spec/framework_spec/app/spec/core/array/transpose_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/array/try_convert_spec.rb +15 -17
- data/spec/framework_spec/app/spec/core/array/union_spec.rb +13 -13
- data/spec/framework_spec/app/spec/core/array/uniq_spec.rb +41 -15
- data/spec/framework_spec/app/spec/core/array/unshift_spec.rb +9 -7
- data/spec/framework_spec/app/spec/core/array/values_at_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/array/zip_spec.rb +15 -3
- data/spec/framework_spec/app/spec/core/basicobject/__send___spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/basicobject/ancestors_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/basicobject/basicobject_spec.rb +67 -0
- data/spec/framework_spec/app/spec/core/basicobject/class_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/basicobject/equal_spec.rb +20 -0
- data/spec/framework_spec/app/spec/core/basicobject/equal_value_spec.rb +26 -0
- data/spec/framework_spec/app/spec/core/basicobject/fixtures/common.rb +5 -0
- data/spec/framework_spec/app/spec/core/basicobject/fixtures/remove_method_missing.rb +9 -0
- data/spec/framework_spec/app/spec/core/basicobject/initialize_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/basicobject/instance_eval_spec.rb +14 -0
- data/spec/framework_spec/app/spec/core/basicobject/instance_exec_spec.rb +19 -0
- data/spec/framework_spec/app/spec/core/basicobject/method_missing_spec.rb +15 -0
- data/spec/framework_spec/app/spec/core/basicobject/new_spec.rb +7 -5
- data/spec/framework_spec/app/spec/core/basicobject/not_equal_spec.rb +26 -0
- data/spec/framework_spec/app/spec/core/basicobject/not_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/basicobject/singleton_method_added_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/basicobject/singleton_method_removed_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/basicobject/singleton_method_undefined_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/basicobject/superclass_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/bignum/abs_spec.rb +4 -5
- data/spec/framework_spec/app/spec/core/bignum/bit_and_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/bignum/bit_or_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/bignum/bit_xor_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/bignum/case_compare_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/bignum/coerce_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/bignum/comparison_spec.rb +143 -20
- data/spec/framework_spec/app/spec/core/bignum/complement_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/bignum/div_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/bignum/divide_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/bignum/divmod_spec.rb +11 -6
- data/spec/framework_spec/app/spec/core/bignum/element_reference_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/bignum/eql_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/bignum/equal_value_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/bignum/even_spec.rb +21 -0
- data/spec/framework_spec/app/spec/core/bignum/exponent_spec.rb +16 -2
- data/spec/framework_spec/app/spec/core/bignum/fdiv_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/bignum/gt_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/bignum/gte_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/bignum/hash_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/bignum/left_shift_spec.rb +64 -40
- data/spec/framework_spec/app/spec/core/bignum/lt_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/bignum/lte_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/bignum/magnitude_spec.rb +10 -0
- data/spec/framework_spec/app/spec/core/bignum/minus_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/bignum/modulo_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/bignum/multiply_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/bignum/odd_spec.rb +21 -0
- data/spec/framework_spec/app/spec/core/bignum/plus_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/bignum/quo_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/bignum/remainder_spec.rb +19 -8
- data/spec/framework_spec/app/spec/core/bignum/right_shift_spec.rb +93 -34
- data/spec/framework_spec/app/spec/core/bignum/shared/abs.rb +6 -0
- data/spec/framework_spec/app/spec/core/bignum/shared/divide.rb +2 -2
- data/spec/framework_spec/app/spec/core/bignum/shared/modulo.rb +13 -4
- data/spec/framework_spec/app/spec/core/bignum/size_spec.rb +15 -1
- data/spec/framework_spec/app/spec/core/bignum/to_f_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/bignum/to_s_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/bignum/uminus_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/binding/clone_spec.rb +7 -8
- data/spec/framework_spec/app/spec/core/binding/dup_spec.rb +7 -8
- data/spec/framework_spec/app/spec/core/binding/eval_spec.rb +19 -25
- data/spec/framework_spec/app/spec/core/binding/fixtures/classes.rb +1 -1
- data/spec/framework_spec/app/spec/core/builtin_constants/builtin_constants_spec.rb +57 -0
- data/spec/framework_spec/app/spec/core/class/allocate_spec.rb +11 -5
- data/spec/framework_spec/app/spec/core/class/dup_spec.rb +72 -0
- data/spec/framework_spec/app/spec/core/class/fixtures/classes.rb +5 -5
- data/spec/framework_spec/app/spec/core/class/inherited_spec.rb +22 -22
- data/spec/framework_spec/app/spec/core/class/initialize_copy_spec.rb +22 -1
- data/spec/framework_spec/app/spec/core/class/initialize_spec.rb +37 -6
- data/spec/framework_spec/app/spec/core/class/new_spec.rb +11 -2
- data/spec/framework_spec/app/spec/core/class/superclass_spec.rb +37 -8
- data/spec/framework_spec/app/spec/core/comparable/between_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/comparable/equal_value_spec.rb +11 -11
- data/spec/framework_spec/app/spec/core/comparable/fixtures/classes.rb +3 -3
- data/spec/framework_spec/app/spec/core/comparable/gt_spec.rb +8 -8
- data/spec/framework_spec/app/spec/core/comparable/gte_spec.rb +9 -9
- data/spec/framework_spec/app/spec/core/comparable/lt_spec.rb +9 -9
- data/spec/framework_spec/app/spec/core/comparable/lte_spec.rb +8 -8
- data/spec/framework_spec/app/spec/core/complex/Complex_spec.rb +20 -0
- data/spec/framework_spec/app/spec/core/complex/abs2_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/complex/abs_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/complex/angle_spec.rb +10 -0
- data/spec/framework_spec/app/spec/core/complex/arg_spec.rb +10 -0
- data/spec/framework_spec/app/spec/core/complex/coerce_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/complex/conj_spec.rb +10 -0
- data/spec/framework_spec/app/spec/core/complex/conjugate_spec.rb +10 -0
- data/spec/framework_spec/app/spec/core/complex/denominator_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/complex/divide_spec.rb +24 -0
- data/spec/framework_spec/app/spec/core/complex/eql_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/complex/equal_value_spec.rb +16 -0
- data/spec/framework_spec/app/spec/core/complex/exponent_spec.rb +24 -0
- data/spec/framework_spec/app/spec/core/complex/fdiv_spec.rb +131 -0
- data/spec/framework_spec/app/spec/core/complex/hash_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/complex/imag_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/complex/imaginary_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/complex/inspect_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/complex/integer_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/complex/magnitude_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/complex/marshal_dump_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/complex/marshal_load_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/complex/minus_spec.rb +15 -0
- data/spec/framework_spec/app/spec/core/complex/multiply_spec.rb +16 -0
- data/spec/framework_spec/app/spec/core/complex/numerator_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/complex/phase_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/complex/plus_spec.rb +16 -0
- data/spec/framework_spec/app/spec/core/complex/polar_spec.rb +17 -0
- data/spec/framework_spec/app/spec/core/complex/quo_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/complex/rationalize_spec.rb +15 -0
- data/spec/framework_spec/app/spec/core/complex/real_spec.rb +26 -0
- data/spec/framework_spec/app/spec/core/complex/rect_spec.rb +11 -0
- data/spec/framework_spec/app/spec/core/complex/rectangular_spec.rb +14 -0
- data/spec/framework_spec/app/spec/core/complex/to_f_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/complex/to_i_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/complex/to_r_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/complex/to_s_spec.rb +12 -0
- data/spec/framework_spec/app/spec/core/complex/uminus_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/continuation/call_spec.rb +8 -1
- data/spec/framework_spec/app/spec/core/continuation/element_reference_spec.rb +8 -1
- data/spec/framework_spec/app/spec/core/continuation/new_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/dir/chdir_spec.rb +64 -17
- data/spec/framework_spec/app/spec/core/dir/chroot_spec.rb +50 -26
- data/spec/framework_spec/app/spec/core/dir/close_spec.rb +32 -16
- data/spec/framework_spec/app/spec/core/dir/delete_spec.rb +11 -3
- data/spec/framework_spec/app/spec/core/dir/dir_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/dir/each_spec.rb +24 -8
- data/spec/framework_spec/app/spec/core/dir/element_reference_spec.rb +19 -3
- data/spec/framework_spec/app/spec/core/dir/entries_spec.rb +19 -3
- data/spec/framework_spec/app/spec/core/dir/exist_spec.rb +17 -0
- data/spec/framework_spec/app/spec/core/dir/exists_spec.rb +17 -0
- data/spec/framework_spec/app/spec/core/dir/fixtures/common.rb +96 -73
- data/spec/framework_spec/app/spec/core/dir/foreach_spec.rb +20 -4
- data/spec/framework_spec/app/spec/core/dir/getwd_spec.rb +12 -4
- data/spec/framework_spec/app/spec/core/dir/glob_spec.rb +60 -8
- data/spec/framework_spec/app/spec/core/dir/home_spec.rb +15 -6
- data/spec/framework_spec/app/spec/core/dir/initialize_spec.rb +29 -2
- data/spec/framework_spec/app/spec/core/dir/inspect_spec.rb +26 -0
- data/spec/framework_spec/app/spec/core/dir/mkdir_spec.rb +56 -21
- data/spec/framework_spec/app/spec/core/dir/open_spec.rb +11 -3
- data/spec/framework_spec/app/spec/core/dir/path_spec.rb +8 -24
- data/spec/framework_spec/app/spec/core/dir/pos_spec.rb +28 -4
- data/spec/framework_spec/app/spec/core/dir/pwd_spec.rb +44 -20
- data/spec/framework_spec/app/spec/core/dir/read_spec.rb +11 -5
- data/spec/framework_spec/app/spec/core/dir/rewind_spec.rb +13 -7
- data/spec/framework_spec/app/spec/core/dir/rmdir_spec.rb +11 -3
- data/spec/framework_spec/app/spec/core/dir/seek_spec.rb +11 -3
- data/spec/framework_spec/app/spec/core/dir/shared/chroot.rb +43 -0
- data/spec/framework_spec/app/spec/core/dir/shared/delete.rb +27 -8
- data/spec/framework_spec/app/spec/core/dir/shared/exists.rb +53 -0
- data/spec/framework_spec/app/spec/core/dir/shared/glob.rb +61 -8
- data/spec/framework_spec/app/spec/core/dir/shared/open.rb +18 -2
- data/spec/framework_spec/app/spec/core/dir/shared/path.rb +29 -0
- data/spec/framework_spec/app/spec/core/dir/shared/pos.rb +1 -1
- data/spec/framework_spec/app/spec/core/dir/shared/pwd.rb +13 -13
- data/spec/framework_spec/app/spec/core/dir/tell_spec.rb +12 -6
- data/spec/framework_spec/app/spec/core/dir/to_path.rb +17 -0
- data/spec/framework_spec/app/spec/core/dir/to_path_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/dir/unlink_spec.rb +11 -3
- data/spec/framework_spec/app/spec/core/encoding/_dump_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/encoding/_load_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/encoding/aliases_spec.rb +45 -0
- data/spec/framework_spec/app/spec/core/encoding/ascii_compatible_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/encoding/compatible_spec.rb +26 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/asciicompat_encoding_spec.rb +48 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/constants_spec.rb +133 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/convert_spec.rb +46 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/convpath_spec.rb +65 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/destination_encoding_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/finish_spec.rb +38 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/insert_output_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/inspect_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/last_error_spec.rb +84 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/primitive_convert_spec.rb +137 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/primitive_errinfo_spec.rb +71 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/putback_spec.rb +49 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/replacement_spec.rb +63 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/search_convpath_spec.rb +73 -0
- data/spec/framework_spec/app/spec/core/encoding/converter/source_encoding_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/encoding/default_external_spec.rb +57 -0
- data/spec/framework_spec/app/spec/core/encoding/default_internal_spec.rb +83 -0
- data/spec/framework_spec/app/spec/core/encoding/dummy_spec.rb +16 -0
- data/spec/framework_spec/app/spec/core/encoding/find_spec.rb +82 -0
- data/spec/framework_spec/app/spec/core/encoding/fixtures/classes.rb +48 -0
- data/spec/framework_spec/app/spec/core/encoding/inspect_spec.rb +21 -0
- data/spec/framework_spec/app/spec/core/encoding/invalid_byte_sequence_error/destination_encoding_name_spec.rb +20 -0
- data/spec/framework_spec/app/spec/core/encoding/invalid_byte_sequence_error/destination_encoding_spec.rb +20 -0
- data/spec/framework_spec/app/spec/core/encoding/invalid_byte_sequence_error/error_bytes_spec.rb +31 -0
- data/spec/framework_spec/app/spec/core/encoding/invalid_byte_sequence_error/incomplete_input_spec.rb +30 -0
- data/spec/framework_spec/app/spec/core/encoding/invalid_byte_sequence_error/readagain_bytes_spec.rb +31 -0
- data/spec/framework_spec/app/spec/core/encoding/invalid_byte_sequence_error/source_encoding_name_spec.rb +30 -0
- data/spec/framework_spec/app/spec/core/encoding/invalid_byte_sequence_error/source_encoding_spec.rb +35 -0
- data/spec/framework_spec/app/spec/core/encoding/list_spec.rb +43 -0
- data/spec/framework_spec/app/spec/core/encoding/locale_charmap_spec.rb +38 -0
- data/spec/framework_spec/app/spec/core/encoding/name_list_spec.rb +25 -0
- data/spec/framework_spec/app/spec/core/encoding/name_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/encoding/names_spec.rb +37 -0
- data/spec/framework_spec/app/spec/core/encoding/replicate_spec.rb +34 -0
- data/spec/framework_spec/app/spec/core/encoding/shared/name.rb +15 -0
- data/spec/framework_spec/app/spec/core/encoding/to_s_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/encoding/undefined_conversion_error/destination_encoding_name_spec.rb +17 -0
- data/spec/framework_spec/app/spec/core/encoding/undefined_conversion_error/destination_encoding_spec.rb +17 -0
- data/spec/framework_spec/app/spec/core/encoding/undefined_conversion_error/error_char_spec.rb +29 -0
- data/spec/framework_spec/app/spec/core/encoding/undefined_conversion_error/source_encoding_name_spec.rb +30 -0
- data/spec/framework_spec/app/spec/core/encoding/undefined_conversion_error/source_encoding_spec.rb +31 -0
- data/spec/framework_spec/app/spec/core/enumerable/all_spec.rb +2 -15
- data/spec/framework_spec/app/spec/core/enumerable/any_spec.rb +2 -7
- data/spec/framework_spec/app/spec/core/enumerable/chunk_spec.rb +44 -0
- data/spec/framework_spec/app/spec/core/enumerable/collect_concat_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/enumerable/collect_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/count_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/cycle_spec.rb +20 -6
- data/spec/framework_spec/app/spec/core/enumerable/detect_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/drop_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/enumerable/drop_while_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/enumerable/each_cons_spec.rb +8 -8
- data/spec/framework_spec/app/spec/core/enumerable/each_entry_spec.rb +40 -0
- data/spec/framework_spec/app/spec/core/enumerable/each_slice_spec.rb +8 -8
- data/spec/framework_spec/app/spec/core/enumerable/each_with_index_spec.rb +15 -15
- data/spec/framework_spec/app/spec/core/enumerable/each_with_object_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/enumerable/entries_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/enumerable/find_all_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/{find_index.rb → find_index_spec.rb} +5 -5
- data/spec/framework_spec/app/spec/core/enumerable/find_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/first_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/enumerable/fixtures/classes.rb +67 -16
- data/spec/framework_spec/app/spec/core/enumerable/flat_map_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/enumerable/grep_spec.rb +12 -7
- data/spec/framework_spec/app/spec/core/enumerable/group_by_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/enumerable/include_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/inject_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/map_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/enumerable/max_by_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/max_spec.rb +27 -12
- data/spec/framework_spec/app/spec/core/enumerable/member_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/min_by_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/min_spec.rb +27 -11
- data/spec/framework_spec/app/spec/core/enumerable/minmax_by_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/minmax_spec.rb +26 -10
- data/spec/framework_spec/app/spec/core/enumerable/none_spec.rb +42 -0
- data/spec/framework_spec/app/spec/core/enumerable/one_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/enumerable/partition_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/reduce_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/reject_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/enumerable/reverse_each_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/select_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/enumerable/shared/collect.rb +13 -5
- data/spec/framework_spec/app/spec/core/enumerable/shared/collect_concat.rb +27 -0
- data/spec/framework_spec/app/spec/core/enumerable/shared/entries.rb +5 -1
- data/spec/framework_spec/app/spec/core/enumerable/shared/find.rb +24 -11
- data/spec/framework_spec/app/spec/core/enumerable/shared/find_all.rb +9 -3
- data/spec/framework_spec/app/spec/core/enumerable/shared/include.rb +14 -3
- data/spec/framework_spec/app/spec/core/enumerable/shared/inject.rb +8 -8
- data/spec/framework_spec/app/spec/core/enumerable/shared/take.rb +5 -3
- data/spec/framework_spec/app/spec/core/enumerable/slice_before_spec.rb +77 -0
- data/spec/framework_spec/app/spec/core/enumerable/sort_by_spec.rb +10 -2
- data/spec/framework_spec/app/spec/core/enumerable/sort_spec.rb +22 -9
- data/spec/framework_spec/app/spec/core/enumerable/take_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/enumerable/take_while_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/enumerable/to_a_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/enumerable/zip_spec.rb +18 -7
- data/spec/framework_spec/app/spec/core/enumerator/each_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/enumerator/each_with_index_spec.rb +25 -0
- data/spec/framework_spec/app/spec/core/enumerator/each_with_object_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/enumerator/enum_for_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/enumerator/feed_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/enumerator/generator/each_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/enumerator/inspect_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/enumerator/new_spec.rb +28 -0
- data/spec/framework_spec/app/spec/core/enumerator/next_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/enumerator/next_values_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/enumerator/peek_spec.rb +38 -0
- data/spec/framework_spec/app/spec/core/enumerator/peek_values_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/enumerator/rewind_spec.rb +27 -0
- data/spec/framework_spec/app/spec/core/enumerator/to_enum_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/enumerator/with_index_spec.rb +68 -0
- data/spec/framework_spec/app/spec/core/enumerator/with_object_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/enumerator/yielder/append_spec.rb +19 -0
- data/spec/framework_spec/app/spec/core/enumerator/yielder/yield_spec.rb +18 -0
- data/spec/framework_spec/app/spec/core/env/clear_spec.rb +19 -13
- data/spec/framework_spec/app/spec/core/env/delete_if_spec.rb +26 -28
- data/spec/framework_spec/app/spec/core/env/delete_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/env/each_key_spec.rb +39 -33
- data/spec/framework_spec/app/spec/core/env/each_pair_spec.rb +6 -7
- data/spec/framework_spec/app/spec/core/env/each_spec.rb +6 -7
- data/spec/framework_spec/app/spec/core/env/each_value_spec.rb +39 -33
- data/spec/framework_spec/app/spec/core/env/element_reference_spec.rb +25 -2
- data/spec/framework_spec/app/spec/core/env/element_set_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/env/empty_spec.rb +23 -24
- data/spec/framework_spec/app/spec/core/env/fetch_spec.rb +6 -1
- data/spec/framework_spec/app/spec/core/env/has_key_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/env/has_value_spec.rb +6 -7
- data/spec/framework_spec/app/spec/core/env/include_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/env/index_spec.rb +6 -1
- data/spec/framework_spec/app/spec/core/env/indexes_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/env/indices_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/env/inspect_spec.rb +11 -12
- data/spec/framework_spec/app/spec/core/env/invert_spec.rb +12 -13
- data/spec/framework_spec/app/spec/core/env/key_spec.rb +9 -2
- data/spec/framework_spec/app/spec/core/env/keys_spec.rb +16 -9
- data/spec/framework_spec/app/spec/core/env/length_spec.rb +6 -7
- data/spec/framework_spec/app/spec/core/env/member_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/env/rehash_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/env/reject_spec.rb +88 -89
- data/spec/framework_spec/app/spec/core/env/replace_spec.rb +15 -16
- data/spec/framework_spec/app/spec/core/env/select_spec.rb +32 -23
- data/spec/framework_spec/app/spec/core/env/shared/each.rb +10 -1
- data/spec/framework_spec/app/spec/core/env/shared/key.rb +15 -0
- data/spec/framework_spec/app/spec/core/env/shared/store.rb +18 -12
- data/spec/framework_spec/app/spec/core/env/shared/value.rb +7 -0
- data/spec/framework_spec/app/spec/core/env/shift_spec.rb +27 -28
- data/spec/framework_spec/app/spec/core/env/size_spec.rb +6 -7
- data/spec/framework_spec/app/spec/core/env/store_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/env/to_a_spec.rb +21 -13
- data/spec/framework_spec/app/spec/core/env/to_hash_spec.rb +12 -13
- data/spec/framework_spec/app/spec/core/env/to_s_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/env/update_spec.rb +1 -2
- data/spec/framework_spec/app/spec/core/env/value_spec.rb +6 -7
- data/spec/framework_spec/app/spec/core/env/values_at_spec.rb +7 -1
- data/spec/framework_spec/app/spec/core/env/values_spec.rb +23 -16
- data/spec/framework_spec/app/spec/core/exception/args_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/exception/arguments_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/exception/backtrace_spec.rb +51 -1
- data/spec/framework_spec/app/spec/core/exception/case_compare_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/exception/destination_encoding_name_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/exception/destination_encoding_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/exception/equal_value_spec.rb +84 -0
- data/spec/framework_spec/app/spec/core/exception/errno_spec.rb +16 -1
- data/spec/framework_spec/app/spec/core/exception/error_bytes_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/exception/error_char_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/exception/exception_spec.rb +69 -5
- data/spec/framework_spec/app/spec/core/exception/exit_value_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/exception/fixtures/common.rb +33 -1
- data/spec/framework_spec/app/spec/core/exception/incomplete_input_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/exception/initialize_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/exception/inspect_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/exception/io_error_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/exception/message_spec.rb +14 -4
- data/spec/framework_spec/app/spec/core/exception/name_error_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/exception/name_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/exception/new_spec.rb +3 -2
- data/spec/framework_spec/app/spec/core/exception/no_method_error_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/exception/range_error_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/exception/readagain_bytes_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/exception/reason_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/exception/result_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/exception/script_error_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/exception/set_backtrace_spec.rb +10 -1
- data/spec/framework_spec/app/spec/core/exception/shared/new.rb +5 -0
- data/spec/framework_spec/app/spec/core/exception/shared/to_s.rb +3 -3
- data/spec/framework_spec/app/spec/core/exception/signm_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/exception/signo_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/exception/source_encoding_name_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/exception/source_encoding_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/exception/standard_error_spec.rb +56 -55
- data/spec/framework_spec/app/spec/core/exception/status_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/exception/success_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/exception/system_call_error_spec.rb +14 -5
- data/spec/framework_spec/app/spec/core/exception/to_s_spec.rb +7 -3
- data/spec/framework_spec/app/spec/core/exception/to_str_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/false/and_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/false/inspect_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/false/or_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/false/to_s_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/false/xor_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/fiber/new_spec.rb +48 -49
- data/spec/framework_spec/app/spec/core/fiber/resume_spec.rb +39 -23
- data/spec/framework_spec/app/spec/core/fiber/yield_spec.rb +34 -36
- data/spec/framework_spec/app/spec/core/file/absolute_path_spec.rb +31 -0
- data/spec/framework_spec/app/spec/core/file/atime_spec.rb +12 -5
- data/spec/framework_spec/app/spec/core/file/basename_spec.rb +25 -26
- data/spec/framework_spec/app/spec/core/file/blockdev_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/chardev_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/chmod_spec.rb +14 -10
- data/spec/framework_spec/app/spec/core/file/chown_spec.rb +22 -4
- data/spec/framework_spec/app/spec/core/file/constants/constants_spec.rb +7 -7
- data/spec/framework_spec/app/spec/core/file/constants_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/file/ctime_spec.rb +13 -6
- data/spec/framework_spec/app/spec/core/file/delete_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/directory_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/file/dirname_spec.rb +12 -2
- data/spec/framework_spec/app/spec/core/file/executable_real_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/executable_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/exist_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/exists_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/expand_path_spec.rb +133 -31
- data/spec/framework_spec/app/spec/core/file/extname_spec.rb +7 -1
- data/spec/framework_spec/app/spec/core/file/file_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/fixtures/common.rb +22 -0
- data/spec/framework_spec/app/spec/core/file/fixtures/file_types.rb +3 -9
- data/spec/framework_spec/app/spec/core/file/flock_spec.rb +56 -18
- data/spec/framework_spec/app/spec/core/file/fnmatch_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/ftype_spec.rb +43 -45
- data/spec/framework_spec/app/spec/core/file/grpowned_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/identical_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/initialize_spec.rb +25 -1
- data/spec/framework_spec/app/spec/core/file/inspect_spec.rb +14 -7
- data/spec/framework_spec/app/spec/core/file/join_spec.rb +37 -10
- data/spec/framework_spec/app/spec/core/file/lchmod_spec.rb +13 -13
- data/spec/framework_spec/app/spec/core/file/lchown_spec.rb +12 -6
- data/spec/framework_spec/app/spec/core/file/link_spec.rb +7 -9
- data/spec/framework_spec/app/spec/core/file/lstat_spec.rb +16 -11
- data/spec/framework_spec/app/spec/core/file/mtime_spec.rb +7 -6
- data/spec/framework_spec/app/spec/core/file/new_spec.rb +60 -44
- data/spec/framework_spec/app/spec/core/file/open_spec.rb +104 -120
- data/spec/framework_spec/app/spec/core/file/owned_spec.rb +26 -3
- data/spec/framework_spec/app/spec/core/file/path_spec.rb +11 -10
- data/spec/framework_spec/app/spec/core/file/pipe_spec.rb +25 -3
- data/spec/framework_spec/app/spec/core/file/read_spec.rb +6 -0
- data/spec/framework_spec/app/spec/core/file/readable_real_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/readable_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/readlink_spec.rb +17 -13
- data/spec/framework_spec/app/spec/core/file/realdirpath_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/file/realpath_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/file/rename_spec.rb +24 -27
- data/spec/framework_spec/app/spec/core/file/reopen_spec.rb +27 -0
- data/spec/framework_spec/app/spec/core/file/setgid_spec.rb +21 -21
- data/spec/framework_spec/app/spec/core/file/setuid_spec.rb +21 -21
- data/spec/framework_spec/app/spec/core/file/shared/fnmatch.rb +11 -5
- data/spec/framework_spec/app/spec/core/file/shared/open.rb +9 -0
- data/spec/framework_spec/app/spec/core/file/shared/read.rb +21 -0
- data/spec/framework_spec/app/spec/core/file/shared/stat.rb +31 -17
- data/spec/framework_spec/app/spec/core/file/shared/unlink.rb +8 -4
- data/spec/framework_spec/app/spec/core/file/size_spec.rb +111 -22
- data/spec/framework_spec/app/spec/core/file/socket_spec.rb +24 -3
- data/spec/framework_spec/app/spec/core/file/split_spec.rb +12 -7
- data/spec/framework_spec/app/spec/core/file/stat/atime_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/file/stat/blksize_spec.rb +6 -5
- data/spec/framework_spec/app/spec/core/file/stat/blockdev_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/blocks_spec.rb +6 -5
- data/spec/framework_spec/app/spec/core/file/stat/chardev_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/file/stat/comparison_spec.rb +14 -9
- data/spec/framework_spec/app/spec/core/file/stat/ctime_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/file/stat/dev_major_spec.rb +12 -3
- data/spec/framework_spec/app/spec/core/file/stat/dev_minor_spec.rb +13 -3
- data/spec/framework_spec/app/spec/core/file/stat/dev_spec.rb +10 -2
- data/spec/framework_spec/app/spec/core/file/stat/directory_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/executable_real_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/executable_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/file_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/ftype_spec.rb +14 -17
- data/spec/framework_spec/app/spec/core/file/stat/gid_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/file/stat/grpowned_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/ino_spec.rb +6 -5
- data/spec/framework_spec/app/spec/core/file/stat/inspect_spec.rb +8 -10
- data/spec/framework_spec/app/spec/core/file/stat/mode_spec.rb +6 -5
- data/spec/framework_spec/app/spec/core/file/stat/mtime_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/file/stat/new_spec.rb +11 -4
- data/spec/framework_spec/app/spec/core/file/stat/nlink_spec.rb +5 -6
- data/spec/framework_spec/app/spec/core/file/stat/owned_spec.rb +24 -4
- data/spec/framework_spec/app/spec/core/file/stat/pipe_spec.rb +25 -4
- data/spec/framework_spec/app/spec/core/file/stat/rdev_major_spec.rb +11 -3
- data/spec/framework_spec/app/spec/core/file/stat/rdev_minor_spec.rb +13 -3
- data/spec/framework_spec/app/spec/core/file/stat/rdev_spec.rb +10 -2
- data/spec/framework_spec/app/spec/core/file/stat/readable_real_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/readable_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/setgid_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/setuid_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/size_spec.rb +18 -4
- data/spec/framework_spec/app/spec/core/file/stat/socket_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/sticky_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/symlink_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/uid_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/file/stat/world_readable_spec.rb +15 -0
- data/spec/framework_spec/app/spec/core/file/stat/world_writable_spec.rb +17 -0
- data/spec/framework_spec/app/spec/core/file/stat/writable_real_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/writable_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat/zero_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/file/stat_spec.rb +23 -6
- data/spec/framework_spec/app/spec/core/file/sticky_spec.rb +49 -3
- data/spec/framework_spec/app/spec/core/file/symlink_spec.rb +18 -11
- data/spec/framework_spec/app/spec/core/file/to_path_spec.rb +48 -0
- data/spec/framework_spec/app/spec/core/file/truncate_spec.rb +34 -39
- data/spec/framework_spec/app/spec/core/file/umask_spec.rb +20 -21
- data/spec/framework_spec/app/spec/core/file/unlink_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/utime_spec.rb +20 -5
- data/spec/framework_spec/app/spec/core/file/world_readable_spec.rb +14 -0
- data/spec/framework_spec/app/spec/core/file/world_writable_spec.rb +16 -0
- data/spec/framework_spec/app/spec/core/file/writable_real_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/writable_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/file/zero_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/filetest/blockdev_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/filetest/chardev_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/filetest/directory_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/filetest/executable_real_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/filetest/executable_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/filetest/exist_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/filetest/exists_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/filetest/file_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/filetest/grpowned_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/filetest/identical_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/filetest/owned_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/filetest/pipe_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/filetest/readable_real_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/filetest/readable_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/filetest/setgid_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/filetest/setuid_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/filetest/size_spec.rb +31 -4
- data/spec/framework_spec/app/spec/core/filetest/socket_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/filetest/sticky_spec.rb +3 -2
- data/spec/framework_spec/app/spec/core/filetest/symlink_spec.rb +5 -2
- data/spec/framework_spec/app/spec/core/filetest/world_readable_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/filetest/world_writable_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/filetest/writable_real_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/filetest/writable_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/filetest/zero_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/fixnum/abs_spec.rb +4 -8
- data/spec/framework_spec/app/spec/core/fixnum/bit_and_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/fixnum/bit_or_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/fixnum/bit_xor_spec.rb +9 -9
- data/spec/framework_spec/app/spec/core/fixnum/case_compare_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/fixnum/coerce_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/fixnum/comparison_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/fixnum/complement_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/fixnum/div_spec.rb +17 -7
- data/spec/framework_spec/app/spec/core/fixnum/divide_spec.rb +7 -3
- data/spec/framework_spec/app/spec/core/fixnum/divmod_spec.rb +16 -6
- data/spec/framework_spec/app/spec/core/fixnum/element_reference_spec.rb +45 -19
- data/spec/framework_spec/app/spec/core/fixnum/equal_value_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/fixnum/even_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/fixnum/exponent_spec.rb +59 -7
- data/spec/framework_spec/app/spec/core/fixnum/fdiv_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/fixnum/gt_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/fixnum/gte_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/fixnum/hash_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/fixnum/id2name_spec.rb +15 -13
- data/spec/framework_spec/app/spec/core/fixnum/induced_from_spec.rb +36 -35
- data/spec/framework_spec/app/spec/core/fixnum/left_shift_spec.rb +72 -42
- data/spec/framework_spec/app/spec/core/fixnum/lt_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/fixnum/lte_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/fixnum/magnitude_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/fixnum/minus_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/fixnum/modulo_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/fixnum/multiply_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/fixnum/odd_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/fixnum/plus_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/fixnum/quo_spec.rb +16 -6
- data/spec/framework_spec/app/spec/core/fixnum/right_shift_spec.rb +84 -40
- data/spec/framework_spec/app/spec/core/fixnum/shared/abs.rb +9 -0
- data/spec/framework_spec/app/spec/core/fixnum/shared/modulo.rb +17 -7
- data/spec/framework_spec/app/spec/core/fixnum/size_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/fixnum/succ_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/fixnum/to_f_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/fixnum/to_s_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/fixnum/to_sym_spec.rb +16 -14
- data/spec/framework_spec/app/spec/core/fixnum/uminus_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/fixnum/zero_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/float/abs_spec.rb +2 -6
- data/spec/framework_spec/app/spec/core/float/angle_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/float/arg_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/float/case_compare_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/float/ceil_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/coerce_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/comparison_spec.rb +52 -1
- data/spec/framework_spec/app/spec/core/float/constants_spec.rb +25 -17
- data/spec/framework_spec/app/spec/core/float/denominator_spec.rb +31 -0
- data/spec/framework_spec/app/spec/core/float/divide_spec.rb +7 -3
- data/spec/framework_spec/app/spec/core/float/divmod_spec.rb +26 -1
- data/spec/framework_spec/app/spec/core/float/eql_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/equal_value_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/exponent_spec.rb +10 -2
- data/spec/framework_spec/app/spec/core/float/fdiv_spec.rb +68 -0
- data/spec/framework_spec/app/spec/core/float/finite_spec.rb +3 -1
- data/spec/framework_spec/app/spec/core/float/fixtures/coerce.rb +15 -0
- data/spec/framework_spec/app/spec/core/float/floor_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/gt_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/gte_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/hash_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/induced_from_spec.rb +38 -37
- data/spec/framework_spec/app/spec/core/float/infinite_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/lt_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/lte_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/magnitude_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/float/minus_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/modulo_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/float/multiply_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/float/nan_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/numerator_spec.rb +47 -0
- data/spec/framework_spec/app/spec/core/float/phase_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/float/plus_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/quo_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/float/rationalize_spec.rb +40 -0
- data/spec/framework_spec/app/spec/core/float/round_spec.rb +32 -6
- data/spec/framework_spec/app/spec/core/float/shared/abs.rb +9 -0
- data/spec/framework_spec/app/spec/core/float/shared/modulo.rb +14 -3
- data/spec/framework_spec/app/spec/core/float/to_f_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/to_i_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/float/to_int_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/float/to_r_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/float/to_s_spec.rb +93 -18
- data/spec/framework_spec/app/spec/core/float/truncate_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/float/uminus_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/float/uplus_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/float/zero_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/gc/count_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/gc/disable_spec.rb +17 -1
- data/spec/framework_spec/app/spec/core/gc/enable_spec.rb +12 -1
- data/spec/framework_spec/app/spec/core/gc/garbage_collect_spec.rb +15 -1
- data/spec/framework_spec/app/spec/core/gc/profiler/clear_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/gc/profiler/disable_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/gc/profiler/enable_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/gc/profiler/enabled_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/gc/profiler/report_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/gc/profiler/result_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/gc/profiler/total_time_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/gc/start_spec.rb +8 -1
- data/spec/framework_spec/app/spec/core/gc/stress_spec.rb +30 -0
- data/spec/framework_spec/app/spec/core/hash/allocate_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/hash/assoc_spec.rb +43 -0
- data/spec/framework_spec/app/spec/core/hash/clear_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/hash/clone_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/hash/compare_by_identity_spec.rb +109 -0
- data/spec/framework_spec/app/spec/core/hash/constructor_spec.rb +8 -4
- data/spec/framework_spec/app/spec/core/hash/default_proc_spec.rb +24 -4
- data/spec/framework_spec/app/spec/core/hash/default_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/hash/delete_if_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/hash/delete_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/hash/each_key_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/hash/each_pair_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/hash/each_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/hash/each_value_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/hash/element_reference_spec.rb +111 -115
- data/spec/framework_spec/app/spec/core/hash/element_set_spec.rb +7 -8
- data/spec/framework_spec/app/spec/core/hash/empty_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/hash/eql_spec.rb +18 -19
- data/spec/framework_spec/app/spec/core/hash/equal_value_spec.rb +18 -14
- data/spec/framework_spec/app/spec/core/hash/fetch_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/hash/fixtures/classes.rb +1 -1
- data/spec/framework_spec/app/spec/core/hash/flatten_spec.rb +64 -0
- data/spec/framework_spec/app/spec/core/hash/has_key_spec.rb +8 -9
- data/spec/framework_spec/app/spec/core/hash/has_value_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/hash/hash_spec.rb +20 -1
- data/spec/framework_spec/app/spec/core/hash/include_spec.rb +7 -8
- data/spec/framework_spec/app/spec/core/hash/index_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/hash/indexes_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/hash/indices_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/hash/initialize_copy_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/hash/initialize_spec.rb +8 -3
- data/spec/framework_spec/app/spec/core/hash/inspect_spec.rb +3 -41
- data/spec/framework_spec/app/spec/core/hash/invert_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/hash/keep_if_spec.rb +31 -0
- data/spec/framework_spec/app/spec/core/hash/key_spec.rb +14 -15
- data/spec/framework_spec/app/spec/core/hash/keys_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/hash/length_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/hash/member_spec.rb +7 -8
- data/spec/framework_spec/app/spec/core/hash/merge_spec.rb +10 -17
- data/spec/framework_spec/app/spec/core/hash/new_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/hash/rassoc_spec.rb +39 -0
- data/spec/framework_spec/app/spec/core/hash/rehash_spec.rb +51 -60
- data/spec/framework_spec/app/spec/core/hash/reject_spec.rb +18 -12
- data/spec/framework_spec/app/spec/core/hash/replace_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/hash/select_spec.rb +38 -5
- data/spec/framework_spec/app/spec/core/hash/shared/each.rb +46 -6
- data/spec/framework_spec/app/spec/core/hash/shared/eql.rb +14 -1
- data/spec/framework_spec/app/spec/core/hash/shared/index.rb +2 -2
- data/spec/framework_spec/app/spec/core/hash/shared/iteration.rb +2 -2
- data/spec/framework_spec/app/spec/core/hash/shared/key.rb +5 -3
- data/spec/framework_spec/app/spec/core/hash/shared/replace.rb +22 -11
- data/spec/framework_spec/app/spec/core/hash/shared/store.rb +14 -1
- data/spec/framework_spec/app/spec/core/hash/shared/to_s.rb +22 -21
- data/spec/framework_spec/app/spec/core/hash/shared/update.rb +27 -8
- data/spec/framework_spec/app/spec/core/hash/shift_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/hash/size_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/hash/sort_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/hash/store_spec.rb +7 -8
- data/spec/framework_spec/app/spec/core/hash/to_a_spec.rb +16 -3
- data/spec/framework_spec/app/spec/core/hash/to_hash_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/hash/to_s_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/hash/try_convert_spec.rb +32 -0
- data/spec/framework_spec/app/spec/core/hash/update_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/hash/value_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/hash/values_at_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/hash/values_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/integer/ceil_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/integer/chr_spec.rb +141 -18
- data/spec/framework_spec/app/spec/core/integer/denominator_spec.rb +22 -0
- data/spec/framework_spec/app/spec/core/integer/downto_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/integer/even_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/integer/floor_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/integer/gcd_spec.rb +60 -0
- data/spec/framework_spec/app/spec/core/integer/gcdlcm_spec.rb +55 -0
- data/spec/framework_spec/app/spec/core/integer/induced_from_spec.rb +43 -42
- data/spec/framework_spec/app/spec/core/integer/integer_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/integer/lcm_spec.rb +60 -0
- data/spec/framework_spec/app/spec/core/integer/next_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/integer/numerator_spec.rb +20 -0
- data/spec/framework_spec/app/spec/core/integer/odd_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/integer/ord_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/integer/pred_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/integer/rationalize_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/integer/round_spec.rb +35 -2
- data/spec/framework_spec/app/spec/core/integer/shared/next.rb +1 -1
- data/spec/framework_spec/app/spec/core/integer/succ_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/integer/times_spec.rb +9 -9
- data/spec/framework_spec/app/spec/core/integer/to_i_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/integer/to_int_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/integer/to_r_spec.rb +28 -0
- data/spec/framework_spec/app/spec/core/integer/truncate_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/integer/upto_spec.rb +8 -8
- data/spec/framework_spec/app/spec/core/io/binmode_spec.rb +21 -5
- data/spec/framework_spec/app/spec/core/io/binread_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/io/bytes_spec.rb +27 -16
- data/spec/framework_spec/app/spec/core/io/chars_spec.rb +35 -19
- data/spec/framework_spec/app/spec/core/io/close_on_exec_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/io/close_read_spec.rb +29 -29
- data/spec/framework_spec/app/spec/core/io/close_spec.rb +15 -19
- data/spec/framework_spec/app/spec/core/io/close_write_spec.rb +13 -14
- data/spec/framework_spec/app/spec/core/io/closed_spec.rb +15 -7
- data/spec/framework_spec/app/spec/core/io/codepoints_spec.rb +29 -0
- data/spec/framework_spec/app/spec/core/io/constants_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/io/copy_stream_spec.rb +50 -0
- data/spec/framework_spec/app/spec/core/io/dup_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/io/each_byte_spec.rb +32 -26
- data/spec/framework_spec/app/spec/core/io/each_char_spec.rb +35 -22
- data/spec/framework_spec/app/spec/core/io/each_codepoint_spec.rb +34 -0
- data/spec/framework_spec/app/spec/core/io/each_line_spec.rb +7 -5
- data/spec/framework_spec/app/spec/core/io/each_spec.rb +8 -6
- data/spec/framework_spec/app/spec/core/io/eof_spec.rb +59 -45
- data/spec/framework_spec/app/spec/core/io/external_encoding_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/io/fcntl_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/io/fdatasync_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/io/fileno_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/io/fixtures/classes.rb +57 -15
- data/spec/framework_spec/app/spec/core/io/fixtures/empty.txt +0 -0
- data/spec/framework_spec/app/spec/core/io/fixtures/{gets.txt → lines.txt} +0 -0
- data/spec/framework_spec/app/spec/core/io/fixtures/reopen_stdout.rb +3 -0
- data/spec/framework_spec/app/spec/core/io/flush_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/io/for_fd_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/io/foreach_spec.rb +132 -90
- data/spec/framework_spec/app/spec/core/io/fsync_spec.rb +15 -15
- data/spec/framework_spec/app/spec/core/io/getbyte_spec.rb +27 -21
- data/spec/framework_spec/app/spec/core/io/getc_spec.rb +30 -24
- data/spec/framework_spec/app/spec/core/io/gets_spec.rb +144 -127
- data/spec/framework_spec/app/spec/core/io/initialize_copy_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/io/initialize_spec.rb +33 -16
- data/spec/framework_spec/app/spec/core/io/inspect_spec.rb +4 -15
- data/spec/framework_spec/app/spec/core/io/internal_encoding_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/io/io_spec.rb +1 -5
- data/spec/framework_spec/app/spec/core/io/ioctl_spec.rb +42 -5
- data/spec/framework_spec/app/spec/core/io/isatty_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/io/lineno_spec.rb +65 -52
- data/spec/framework_spec/app/spec/core/io/lines_spec.rb +28 -22
- data/spec/framework_spec/app/spec/core/io/new_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/io/open_spec.rb +52 -49
- data/spec/framework_spec/app/spec/core/io/output_spec.rb +22 -14
- data/spec/framework_spec/app/spec/core/io/pid_spec.rb +20 -11
- data/spec/framework_spec/app/spec/core/io/pipe_spec.rb +10 -1
- data/spec/framework_spec/app/spec/core/io/popen_spec.rb +107 -37
- data/spec/framework_spec/app/spec/core/io/pos_spec.rb +5 -44
- data/spec/framework_spec/app/spec/core/io/print_spec.rb +56 -59
- data/spec/framework_spec/app/spec/core/io/printf_spec.rb +25 -19
- data/spec/framework_spec/app/spec/core/io/putc_spec.rb +5 -43
- data/spec/framework_spec/app/spec/core/io/puts_spec.rb +28 -16
- data/spec/framework_spec/app/spec/core/io/read_nonblock_spec.rb +54 -3
- data/spec/framework_spec/app/spec/core/io/read_spec.rb +127 -50
- data/spec/framework_spec/app/spec/core/io/readbyte_spec.rb +29 -0
- data/spec/framework_spec/app/spec/core/io/readchar_spec.rb +31 -31
- data/spec/framework_spec/app/spec/core/io/readline_spec.rb +29 -25
- data/spec/framework_spec/app/spec/core/io/readlines_spec.rb +174 -146
- data/spec/framework_spec/app/spec/core/io/readpartial_spec.rb +16 -4
- data/spec/framework_spec/app/spec/core/io/reopen_spec.rb +226 -82
- data/spec/framework_spec/app/spec/core/io/rewind_spec.rb +8 -9
- data/spec/framework_spec/app/spec/core/io/seek_spec.rb +21 -29
- data/spec/framework_spec/app/spec/core/io/select_spec.rb +34 -7
- data/spec/framework_spec/app/spec/core/io/set_encoding_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/io/shared/codepoints.rb +46 -0
- data/spec/framework_spec/app/spec/core/io/shared/each.rb +97 -112
- data/spec/framework_spec/app/spec/core/io/shared/gets_ascii.rb +27 -0
- data/spec/framework_spec/app/spec/core/io/shared/new.rb +74 -99
- data/spec/framework_spec/app/spec/core/io/shared/pos.rb +43 -4
- data/spec/framework_spec/app/spec/core/io/shared/tty.rb +10 -7
- data/spec/framework_spec/app/spec/core/io/shared/write.rb +4 -4
- data/spec/framework_spec/app/spec/core/io/stat_spec.rb +20 -7
- data/spec/framework_spec/app/spec/core/io/sync_spec.rb +12 -10
- data/spec/framework_spec/app/spec/core/io/sysopen_spec.rb +32 -14
- data/spec/framework_spec/app/spec/core/io/sysread_spec.rb +12 -10
- data/spec/framework_spec/app/spec/core/io/sysseek_spec.rb +17 -42
- data/spec/framework_spec/app/spec/core/io/syswrite_spec.rb +10 -9
- data/spec/framework_spec/app/spec/core/io/tell_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/io/to_i_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/io/to_io_spec.rb +15 -10
- data/spec/framework_spec/app/spec/core/io/try_convert_spec.rb +47 -0
- data/spec/framework_spec/app/spec/core/io/tty_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/io/ungetbyte_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/io/ungetc_spec.rb +55 -48
- data/spec/framework_spec/app/spec/core/io/write_nonblock_spec.rb +6 -5
- data/spec/framework_spec/app/spec/core/io/write_spec.rb +17 -12
- data/spec/framework_spec/app/spec/core/kernel/Array_spec.rb +76 -31
- data/spec/framework_spec/app/spec/core/kernel/Complex_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/kernel/Float_spec.rb +18 -13
- data/spec/framework_spec/app/spec/core/kernel/Integer_spec.rb +243 -7
- data/spec/framework_spec/app/spec/core/kernel/Rational_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/kernel/String_spec.rb +65 -33
- data/spec/framework_spec/app/spec/core/kernel/__callee___spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/kernel/__id___spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/kernel/__method___spec.rb +41 -0
- data/spec/framework_spec/app/spec/core/kernel/__send___spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/abort_spec.rb +6 -3
- data/spec/framework_spec/app/spec/core/kernel/at_exit_spec.rb +16 -11
- data/spec/framework_spec/app/spec/core/kernel/autoload_spec.rb +127 -114
- data/spec/framework_spec/app/spec/core/kernel/backtick_spec.rb +24 -24
- data/spec/framework_spec/app/spec/core/kernel/binding_spec.rb +45 -23
- data/spec/framework_spec/app/spec/core/kernel/block_given_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/kernel/callcc_spec.rb +9 -65
- data/spec/framework_spec/app/spec/core/kernel/caller_spec.rb +162 -91
- data/spec/framework_spec/app/spec/core/kernel/case_compare_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/catch_spec.rb +70 -13
- data/spec/framework_spec/app/spec/core/kernel/chomp_spec.rb +19 -15
- data/spec/framework_spec/app/spec/core/kernel/chop_spec.rb +19 -15
- data/spec/framework_spec/app/spec/core/kernel/class_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/clone_spec.rb +8 -2
- data/spec/framework_spec/app/spec/core/kernel/comparison_spec.rb +33 -0
- data/spec/framework_spec/app/spec/core/kernel/const_lookup_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/kernel/{define_singleton_method.rb → define_singleton_method_spec.rb} +31 -9
- data/spec/framework_spec/app/spec/core/kernel/display_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/dup_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/enum_for_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/kernel/eql_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/kernel/equal_spec.rb +32 -3
- data/spec/framework_spec/app/spec/core/kernel/equal_value_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/kernel/eval_spec.rb +285 -182
- data/spec/framework_spec/app/spec/core/kernel/exec_spec.rb +18 -5
- data/spec/framework_spec/app/spec/core/kernel/exit_spec.rb +70 -4
- data/spec/framework_spec/app/spec/core/kernel/extend_spec.rb +29 -7
- data/spec/framework_spec/app/spec/core/kernel/fail_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/kernel/fixtures/__method__.rb +25 -0
- data/spec/framework_spec/app/spec/core/kernel/fixtures/autoload_d.rb +5 -0
- data/spec/framework_spec/app/spec/core/kernel/fixtures/caller_fixture1.rb +1 -1
- data/spec/framework_spec/app/spec/core/kernel/fixtures/classes.rb +173 -67
- data/spec/framework_spec/app/spec/core/kernel/fixtures/eval_locals.rb +6 -0
- data/spec/framework_spec/app/spec/core/kernel/fixtures/test.rb +80 -80
- data/spec/framework_spec/app/spec/core/kernel/fork_spec.rb +10 -8
- data/spec/framework_spec/app/spec/core/kernel/format_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/freeze_spec.rb +75 -37
- data/spec/framework_spec/app/spec/core/kernel/frozen_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/getc_spec.rb +10 -8
- data/spec/framework_spec/app/spec/core/kernel/gets_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/global_variables_spec.rb +24 -12
- data/spec/framework_spec/app/spec/core/kernel/gsub_spec.rb +76 -72
- data/spec/framework_spec/app/spec/core/kernel/hash_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/id_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/initialize_clone_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/kernel/initialize_copy_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/initialize_dup_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/kernel/inspect_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/instance_eval_spec.rb +154 -113
- data/spec/framework_spec/app/spec/core/kernel/instance_of_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/kernel/instance_variable_defined_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/kernel/instance_variable_get_spec.rb +16 -2
- data/spec/framework_spec/app/spec/core/kernel/instance_variable_set_spec.rb +25 -12
- data/spec/framework_spec/app/spec/core/kernel/instance_variables_spec.rb +48 -3
- data/spec/framework_spec/app/spec/core/kernel/is_a_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/kernel/iterator_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/kind_of_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/kernel/lambda_spec.rb +68 -7
- data/spec/framework_spec/app/spec/core/kernel/load_spec.rb +22 -217
- data/spec/framework_spec/app/spec/core/kernel/local_variables_spec.rb +38 -18
- data/spec/framework_spec/app/spec/core/kernel/loop_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/kernel/match_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/method_missing_spec.rb +9 -54
- data/spec/framework_spec/app/spec/core/kernel/method_spec.rb +29 -31
- data/spec/framework_spec/app/spec/core/kernel/methods_spec.rb +93 -78
- data/spec/framework_spec/app/spec/core/kernel/nil_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/not_match_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/kernel/object_id_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/kernel/open_spec.rb +30 -32
- data/spec/framework_spec/app/spec/core/kernel/p_spec.rb +29 -29
- data/spec/framework_spec/app/spec/core/kernel/print_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/printf_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/private_methods_spec.rb +82 -14
- data/spec/framework_spec/app/spec/core/kernel/proc_spec.rb +22 -4
- data/spec/framework_spec/app/spec/core/kernel/protected_methods_spec.rb +44 -2
- data/spec/framework_spec/app/spec/core/kernel/public_method_spec.rb +37 -0
- data/spec/framework_spec/app/spec/core/kernel/public_methods_spec.rb +70 -12
- data/spec/framework_spec/app/spec/core/kernel/public_send_spec.rb +76 -0
- data/spec/framework_spec/app/spec/core/kernel/putc_spec.rb +31 -4
- data/spec/framework_spec/app/spec/core/kernel/puts_spec.rb +100 -87
- data/spec/framework_spec/app/spec/core/kernel/raise_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/kernel/rand_spec.rb +39 -13
- data/spec/framework_spec/app/spec/core/kernel/readline_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/readlines_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/remove_instance_variable_spec.rb +32 -2
- data/spec/framework_spec/app/spec/core/kernel/require_relative_spec.rb +154 -0
- data/spec/framework_spec/app/spec/core/kernel/require_spec.rb +20 -289
- data/spec/framework_spec/app/spec/core/kernel/respond_to_missing_spec.rb +88 -0
- data/spec/framework_spec/app/spec/core/kernel/respond_to_spec.rb +41 -33
- data/spec/framework_spec/app/spec/core/kernel/scan_spec.rb +10 -8
- data/spec/framework_spec/app/spec/core/kernel/select_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/send_spec.rb +31 -65
- data/spec/framework_spec/app/spec/core/kernel/set_trace_func_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/shared/__method__.rb +6 -7
- data/spec/framework_spec/app/spec/core/kernel/shared/abort.rb +26 -0
- data/spec/framework_spec/app/spec/core/kernel/shared/lambda.rb +12 -25
- data/spec/framework_spec/app/spec/core/kernel/shared/load.rb +93 -0
- data/spec/framework_spec/app/spec/core/kernel/shared/method.rb +59 -0
- data/spec/framework_spec/app/spec/core/kernel/shared/object_id.rb +22 -6
- data/spec/framework_spec/app/spec/core/kernel/shared/require.rb +529 -0
- data/spec/framework_spec/app/spec/core/kernel/shared/send.rb +110 -0
- data/spec/framework_spec/app/spec/core/kernel/singleton_class_spec.rb +30 -0
- data/spec/framework_spec/app/spec/core/kernel/singleton_method_added_spec.rb +6 -5
- data/spec/framework_spec/app/spec/core/kernel/singleton_method_removed_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/kernel/singleton_method_undefined_spec.rb +4 -5
- data/spec/framework_spec/app/spec/core/kernel/singleton_methods_spec.rb +179 -58
- data/spec/framework_spec/app/spec/core/kernel/sleep_spec.rb +18 -19
- data/spec/framework_spec/app/spec/core/kernel/spawn_spec.rb +152 -0
- data/spec/framework_spec/app/spec/core/kernel/split_spec.rb +10 -8
- data/spec/framework_spec/app/spec/core/kernel/sprintf_spec.rb +351 -5
- data/spec/framework_spec/app/spec/core/kernel/srand_spec.rb +33 -6
- data/spec/framework_spec/app/spec/core/kernel/sub_spec.rb +19 -15
- data/spec/framework_spec/app/spec/core/kernel/syscall_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/system_spec.rb +90 -61
- data/spec/framework_spec/app/spec/core/kernel/taint_spec.rb +9 -4
- data/spec/framework_spec/app/spec/core/kernel/tainted_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/kernel/tap_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/kernel/test_spec.rb +36 -16
- data/spec/framework_spec/app/spec/core/kernel/throw_spec.rb +29 -24
- data/spec/framework_spec/app/spec/core/kernel/to_a_spec.rb +17 -15
- data/spec/framework_spec/app/spec/core/kernel/to_enum_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/kernel/to_s_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/trace_var_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/trap_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/trust_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/type_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/untaint_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/untrace_var_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/untrust_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/untrusted_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/kernel/warn_spec.rb +59 -60
- data/spec/framework_spec/app/spec/core/marshal/dump_spec.rb +314 -70
- data/spec/framework_spec/app/spec/core/marshal/fixtures/marshal_data.rb +165 -0
- data/spec/framework_spec/app/spec/core/marshal/fixtures/random.dump +0 -0
- data/spec/framework_spec/app/spec/core/marshal/load_spec.rb +483 -170
- data/spec/framework_spec/app/spec/core/marshal/restore_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/matchdata/begin_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/matchdata/captures_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/matchdata/element_reference_spec.rb +3 -1
- data/spec/framework_spec/app/spec/core/matchdata/end_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/matchdata/eql_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/matchdata/equal_value_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/matchdata/hash_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/matchdata/initialize_copy_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/matchdata/inspect_spec.rb +19 -1
- data/spec/framework_spec/app/spec/core/matchdata/length_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/matchdata/names_spec.rb +3 -0
- data/spec/framework_spec/app/spec/core/matchdata/offset_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/matchdata/post_match_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/matchdata/pre_match_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/matchdata/regexp_spec.rb +15 -0
- data/spec/framework_spec/app/spec/core/matchdata/select_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/matchdata/shared/eql.rb +26 -0
- data/spec/framework_spec/app/spec/core/matchdata/size_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/matchdata/string_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/matchdata/to_a_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/matchdata/to_s_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/matchdata/values_at_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/matchdata/versions/element_reference_1.9.rb +35 -0
- data/spec/framework_spec/app/spec/core/matchdata/versions/names_1.9.rb +33 -0
- data/spec/framework_spec/app/spec/core/math/acos_spec.rb +31 -31
- data/spec/framework_spec/app/spec/core/math/acosh_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/math/asin_spec.rb +15 -15
- data/spec/framework_spec/app/spec/core/math/asinh_spec.rb +7 -7
- data/spec/framework_spec/app/spec/core/math/atan2_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/math/atan_spec.rb +13 -13
- data/spec/framework_spec/app/spec/core/math/atanh_spec.rb +8 -64
- data/spec/framework_spec/app/spec/core/math/cbrt_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/math/constants_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/math/cos_spec.rb +13 -13
- data/spec/framework_spec/app/spec/core/math/cosh_spec.rb +7 -7
- data/spec/framework_spec/app/spec/core/math/erf_spec.rb +14 -14
- data/spec/framework_spec/app/spec/core/math/erfc_spec.rb +12 -12
- data/spec/framework_spec/app/spec/core/math/exp_spec.rb +7 -7
- data/spec/framework_spec/app/spec/core/math/fixtures/classes.rb +2 -2
- data/spec/framework_spec/app/spec/core/math/frexp_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/math/gamma_spec.rb +71 -0
- data/spec/framework_spec/app/spec/core/math/hypot_spec.rb +11 -11
- data/spec/framework_spec/app/spec/core/math/ldexp_spec.rb +10 -10
- data/spec/framework_spec/app/spec/core/math/lgamma_spec.rb +87 -0
- data/spec/framework_spec/app/spec/core/math/log10_spec.rb +7 -7
- data/spec/framework_spec/app/spec/core/math/log2_spec.rb +30 -3
- data/spec/framework_spec/app/spec/core/math/log_spec.rb +30 -11
- data/spec/framework_spec/app/spec/core/math/sin_spec.rb +15 -15
- data/spec/framework_spec/app/spec/core/math/sinh_spec.rb +8 -8
- data/spec/framework_spec/app/spec/core/math/sqrt_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/math/tan_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/math/tanh_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/method/arity_spec.rb +9 -2
- data/spec/framework_spec/app/spec/core/method/call_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/method/clone_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/method/element_reference_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/method/eql_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/method/equal_value_spec.rb +3 -40
- data/spec/framework_spec/app/spec/core/method/fixtures/classes.rb +104 -13
- data/spec/framework_spec/app/spec/core/method/fixtures/classes_1.9.rb +12 -0
- data/spec/framework_spec/app/spec/core/method/hash_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/method/inspect_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/method/name_spec.rb +19 -5
- data/spec/framework_spec/app/spec/core/method/owner_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/method/parameters_spec.rb +3 -0
- data/spec/framework_spec/app/spec/core/method/receiver_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/method/shared/call.rb +2 -2
- data/spec/framework_spec/app/spec/core/method/shared/eql.rb +102 -0
- data/spec/framework_spec/app/spec/core/method/shared/to_s.rb +5 -5
- data/spec/framework_spec/app/spec/core/method/source_location_spec.rb +50 -0
- data/spec/framework_spec/app/spec/core/method/to_proc_spec.rb +20 -2
- data/spec/framework_spec/app/spec/core/method/to_s_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/method/unbind_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/method/versions/parameters_1.9.rb +189 -0
- data/spec/framework_spec/app/spec/core/module/alias_method_spec.rb +20 -8
- data/spec/framework_spec/app/spec/core/module/allocate_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/module/ancestors_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/module/append_features_spec.rb +15 -4
- data/spec/framework_spec/app/spec/core/module/attr_accessor_spec.rb +16 -7
- data/spec/framework_spec/app/spec/core/module/attr_reader_spec.rb +14 -5
- data/spec/framework_spec/app/spec/core/module/attr_spec.rb +61 -63
- data/spec/framework_spec/app/spec/core/module/attr_writer_spec.rb +23 -12
- data/spec/framework_spec/app/spec/core/module/autoload_spec.rb +177 -84
- data/spec/framework_spec/app/spec/core/module/case_compare_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/module/class_eval_spec.rb +7 -8
- data/spec/framework_spec/app/spec/core/module/class_exec_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/module/class_variable_defined_spec.rb +22 -7
- data/spec/framework_spec/app/spec/core/module/class_variable_get_spec.rb +27 -12
- data/spec/framework_spec/app/spec/core/module/class_variable_set_spec.rb +37 -15
- data/spec/framework_spec/app/spec/core/module/class_variables_spec.rb +50 -17
- data/spec/framework_spec/app/spec/core/module/comparison_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/module/const_defined_spec.rb +41 -5
- data/spec/framework_spec/app/spec/core/module/const_get_spec.rb +14 -2
- data/spec/framework_spec/app/spec/core/module/const_missing_spec.rb +8 -2
- data/spec/framework_spec/app/spec/core/module/const_set_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/module/constants_spec.rb +26 -2
- data/spec/framework_spec/app/spec/core/module/define_method_spec.rb +283 -15
- data/spec/framework_spec/app/spec/core/module/eql_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/module/equal_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/module/equal_value_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/module/extend_object_spec.rb +23 -28
- data/spec/framework_spec/app/spec/core/module/extended_spec.rb +18 -10
- data/spec/framework_spec/app/spec/core/module/fixtures/autoload.rb +1 -1
- data/spec/framework_spec/app/spec/core/module/fixtures/autoload_ex1.rb +16 -0
- data/spec/framework_spec/app/spec/core/module/fixtures/autoload_k.rb +3 -1
- data/spec/framework_spec/app/spec/core/module/fixtures/autoload_s.rb +5 -0
- data/spec/framework_spec/app/spec/core/module/fixtures/autoload_w2.rb +1 -0
- data/spec/framework_spec/app/spec/core/module/fixtures/classes.rb +97 -0
- data/spec/framework_spec/app/spec/core/module/fixtures/name.rb +10 -0
- data/spec/framework_spec/app/spec/core/module/freeze_spec.rb +33 -13
- data/spec/framework_spec/app/spec/core/module/gt_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/module/gte_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/module/include_spec.rb +159 -33
- data/spec/framework_spec/app/spec/core/module/included_modules_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/module/included_spec.rb +12 -4
- data/spec/framework_spec/app/spec/core/module/initialize_copy_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/module/initialize_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/module/instance_method_spec.rb +16 -7
- data/spec/framework_spec/app/spec/core/module/instance_methods_spec.rb +51 -17
- data/spec/framework_spec/app/spec/core/module/lt_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/module/lte_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/module/method_added_spec.rb +8 -8
- data/spec/framework_spec/app/spec/core/module/method_defined_spec.rb +13 -6
- data/spec/framework_spec/app/spec/core/module/method_removed_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/module/method_undefined_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/module/module_eval_spec.rb +7 -8
- data/spec/framework_spec/app/spec/core/module/module_exec_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/module/module_function_spec.rb +82 -76
- data/spec/framework_spec/app/spec/core/module/name_spec.rb +24 -6
- data/spec/framework_spec/app/spec/core/module/nesting_spec.rb +13 -9
- data/spec/framework_spec/app/spec/core/module/new_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/module/private_class_method_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/module/private_instance_methods_spec.rb +26 -2
- data/spec/framework_spec/app/spec/core/module/private_method_defined_spec.rb +16 -6
- data/spec/framework_spec/app/spec/core/module/private_spec.rb +21 -3
- data/spec/framework_spec/app/spec/core/module/protected_instance_methods_spec.rb +66 -18
- data/spec/framework_spec/app/spec/core/module/protected_method_defined_spec.rb +40 -18
- data/spec/framework_spec/app/spec/core/module/protected_spec.rb +24 -7
- data/spec/framework_spec/app/spec/core/module/public_class_method_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/module/public_instance_method_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/module/public_instance_methods_spec.rb +38 -14
- data/spec/framework_spec/app/spec/core/module/public_method_defined_spec.rb +28 -6
- data/spec/framework_spec/app/spec/core/module/public_spec.rb +26 -2
- data/spec/framework_spec/app/spec/core/module/remove_class_variable_spec.rb +46 -2
- data/spec/framework_spec/app/spec/core/module/remove_const_spec.rb +10 -3
- data/spec/framework_spec/app/spec/core/module/remove_method_spec.rb +10 -10
- data/spec/framework_spec/app/spec/core/module/shared/class_eval.rb +36 -14
- data/spec/framework_spec/app/spec/core/module/shared/class_exec.rb +24 -0
- data/spec/framework_spec/app/spec/core/module/shared/equal_value.rb +1 -1
- data/spec/framework_spec/app/spec/core/module/to_s_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/module/undef_method_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/mutex/lock_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/mutex/locked_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/mutex/sleep_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/mutex/synchronize_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/mutex/try_lock_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/mutex/unlock_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/nil/and_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/nil/inspect_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/nil/nil_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/nil/or_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/nil/rationalize_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/nil/to_a_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/nil/to_c_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/nil/to_f_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/nil/to_i_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/nil/to_r_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/nil/to_s_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/nil/xor_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/numeric/abs2_spec.rb +36 -0
- data/spec/framework_spec/app/spec/core/numeric/abs_spec.rb +3 -17
- data/spec/framework_spec/app/spec/core/numeric/angle_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/numeric/arg_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/numeric/ceil_spec.rb +10 -9
- data/spec/framework_spec/app/spec/core/numeric/coerce_spec.rb +23 -6
- data/spec/framework_spec/app/spec/core/numeric/comparison_spec.rb +35 -6
- data/spec/framework_spec/app/spec/core/numeric/conj_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/numeric/conjugate_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/numeric/denominator_spec.rb +26 -0
- data/spec/framework_spec/app/spec/core/numeric/div_spec.rb +22 -10
- data/spec/framework_spec/app/spec/core/numeric/divmod_spec.rb +19 -8
- data/spec/framework_spec/app/spec/core/numeric/eql_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/numeric/fdiv_spec.rb +37 -0
- data/spec/framework_spec/app/spec/core/numeric/fixtures/classes.rb +16 -4
- data/spec/framework_spec/app/spec/core/numeric/floor_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/numeric/i_spec.rb +17 -0
- data/spec/framework_spec/app/spec/core/numeric/imag_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/numeric/imaginary_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/numeric/initialize_copy_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/numeric/integer_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/numeric/magnitude_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/numeric/modulo_spec.rb +33 -9
- data/spec/framework_spec/app/spec/core/numeric/nonzero_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/numeric/numerator_spec.rb +35 -0
- data/spec/framework_spec/app/spec/core/numeric/phase_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/numeric/polar_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/numeric/quo_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/numeric/rationalize_spec.rb +32 -0
- data/spec/framework_spec/app/spec/core/numeric/real_spec.rb +14 -0
- data/spec/framework_spec/app/spec/core/numeric/rect_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/numeric/rectangular_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/numeric/remainder_spec.rb +11 -11
- data/spec/framework_spec/app/spec/core/numeric/round_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/numeric/shared/abs.rb +19 -0
- data/spec/framework_spec/app/spec/core/numeric/shared/rect.rb +48 -0
- data/spec/framework_spec/app/spec/core/numeric/singleton_method_added_spec.rb +9 -9
- data/spec/framework_spec/app/spec/core/numeric/step_spec.rb +215 -162
- data/spec/framework_spec/app/spec/core/numeric/to_c_spec.rb +47 -0
- data/spec/framework_spec/app/spec/core/numeric/to_int_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/numeric/truncate_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/numeric/uminus_spec.rb +9 -9
- data/spec/framework_spec/app/spec/core/numeric/uplus_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/numeric/zero_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/object/clone_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/object/dup_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/object/fixtures/classes.rb +17 -0
- data/spec/framework_spec/app/spec/core/object/initialize_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/object/instance_exec_spec.rb +101 -0
- data/spec/framework_spec/app/spec/core/object/instance_of_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/object/is_a_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/object/kind_of_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/object/match_spec.rb +25 -10
- data/spec/framework_spec/app/spec/core/object/metaclass_spec.rb +9 -9
- data/spec/framework_spec/app/spec/core/object/new_spec.rb +18 -2
- data/spec/framework_spec/app/spec/core/object/shared/kind_of.rb +3 -3
- data/spec/framework_spec/app/spec/core/objectspace/_id2ref_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/objectspace/add_finalizer_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/objectspace/call_finalizer_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/objectspace/count_objects_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/objectspace/define_finalizer_spec.rb +44 -3
- data/spec/framework_spec/app/spec/core/objectspace/each_object_spec.rb +27 -5
- data/spec/framework_spec/app/spec/core/objectspace/finalizers_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/objectspace/fixtures.rb +5 -0
- data/spec/framework_spec/app/spec/core/objectspace/garbage_collect_spec.rb +22 -1
- data/spec/framework_spec/app/spec/core/objectspace/remove_finalizer_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/objectspace/undefine_finalizer_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/precision/included_spec.rb +14 -12
- data/spec/framework_spec/app/spec/core/precision/prec_f_spec.rb +9 -8
- data/spec/framework_spec/app/spec/core/precision/prec_i_spec.rb +10 -8
- data/spec/framework_spec/app/spec/core/precision/prec_spec.rb +19 -14
- data/spec/framework_spec/app/spec/core/proc/arity_spec.rb +104 -53
- data/spec/framework_spec/app/spec/core/proc/binding_spec.rb +14 -14
- data/spec/framework_spec/app/spec/core/proc/block_pass_spec.rb +21 -1
- data/spec/framework_spec/app/spec/core/proc/call_spec.rb +9 -2
- data/spec/framework_spec/app/spec/core/proc/case_compare_spec.rb +19 -0
- data/spec/framework_spec/app/spec/core/proc/clone_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/proc/curry_spec.rb +142 -0
- data/spec/framework_spec/app/spec/core/proc/dup_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/proc/element_reference_spec.rb +8 -2
- data/spec/framework_spec/app/spec/core/proc/eql_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/proc/equal_value_spec.rb +4 -12
- data/spec/framework_spec/app/spec/core/proc/fixtures/common.rb +42 -0
- data/spec/framework_spec/app/spec/core/proc/fixtures/source_location.rb +51 -0
- data/spec/framework_spec/app/spec/core/proc/hash_spec.rb +24 -0
- data/spec/framework_spec/app/spec/core/proc/lambda_spec.rb +62 -0
- data/spec/framework_spec/app/spec/core/proc/new_spec.rb +135 -46
- data/spec/framework_spec/app/spec/core/proc/parameters_spec.rb +2 -0
- data/spec/framework_spec/app/spec/core/proc/shared/call.rb +86 -34
- data/spec/framework_spec/app/spec/core/proc/shared/call_arguments.rb +7 -0
- data/spec/framework_spec/app/spec/core/proc/shared/equal.rb +93 -0
- data/spec/framework_spec/app/spec/core/proc/source_location_spec.rb +64 -0
- data/spec/framework_spec/app/spec/core/proc/to_proc_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/proc/to_s_spec.rb +16 -5
- data/spec/framework_spec/app/spec/core/proc/versions/call_1.8.7.rb +1 -0
- data/spec/framework_spec/app/spec/core/proc/versions/call_1.9.rb +1 -0
- data/spec/framework_spec/app/spec/core/proc/versions/parameters_1.9.rb +73 -0
- data/spec/framework_spec/app/spec/core/proc/yield_spec.rb +19 -0
- data/spec/framework_spec/app/spec/core/process/abort_spec.rb +16 -9
- data/spec/framework_spec/app/spec/core/process/constants_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/process/daemon_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/process/detach_spec.rb +5 -9
- data/spec/framework_spec/app/spec/core/process/egid_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/process/euid_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/process/exec_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/process/exit_spec.rb +9 -1
- data/spec/framework_spec/app/spec/core/process/fork_spec.rb +38 -26
- data/spec/framework_spec/app/spec/core/process/getpgid_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/process/getpgrp_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/process/getpriority_spec.rb +8 -9
- data/spec/framework_spec/app/spec/core/process/getrlimit_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/process/gid/change_privilege_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/gid/eid_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/process/gid/grant_privilege_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/gid/re_exchange_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/gid/re_exchangeable_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/gid/rid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/gid/sid_available_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/gid/switch_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/gid_spec.rb +11 -7
- data/spec/framework_spec/app/spec/core/process/groups_spec.rb +15 -17
- data/spec/framework_spec/app/spec/core/process/initgroups_spec.rb +3 -6
- data/spec/framework_spec/app/spec/core/process/kill_spec.rb +21 -17
- data/spec/framework_spec/app/spec/core/process/maxgroups_spec.rb +12 -5
- data/spec/framework_spec/app/spec/core/process/pid_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/process/ppid_spec.rb +16 -15
- data/spec/framework_spec/app/spec/core/process/setpgid_spec.rb +16 -21
- data/spec/framework_spec/app/spec/core/process/setpgrp_spec.rb +3 -8
- data/spec/framework_spec/app/spec/core/process/setpriority_spec.rb +42 -60
- data/spec/framework_spec/app/spec/core/process/setrlimit_spec.rb +38 -46
- data/spec/framework_spec/app/spec/core/process/setsid_spec.rb +20 -22
- data/spec/framework_spec/app/spec/core/process/spawn_spec.rb +32 -0
- data/spec/framework_spec/app/spec/core/process/status/_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/status/coredump_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/status/equal_value_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/status/exited_spec.rb +38 -0
- data/spec/framework_spec/app/spec/core/process/status/exitstatus_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/process/status/inspect_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/status/pid_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/process/status/right_shift_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/status/signaled_spec.rb +36 -0
- data/spec/framework_spec/app/spec/core/process/status/stopped_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/status/stopsig_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/status/success_spec.rb +53 -0
- data/spec/framework_spec/app/spec/core/process/status/termsig_spec.rb +41 -0
- data/spec/framework_spec/app/spec/core/process/status/to_i_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/status/to_int_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/status/to_s_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/getegid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/geteuid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/getgid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/getuid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/issetugid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/setegid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/seteuid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/setgid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/setregid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/setresgid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/setresuid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/setreuid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/setrgid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/setruid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/sys/setuid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/times_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/process/uid/change_privilege_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/uid/eid_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/process/uid/grant_privilege_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/uid/re_exchange_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/uid/re_exchangeable_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/uid/rid_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/uid/sid_available_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/uid/switch_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/process/uid_spec.rb +11 -7
- data/spec/framework_spec/app/spec/core/process/wait2_spec.rb +7 -6
- data/spec/framework_spec/app/spec/core/process/wait_spec.rb +25 -7
- data/spec/framework_spec/app/spec/core/process/waitall_spec.rb +10 -8
- data/spec/framework_spec/app/spec/core/process/waitpid2_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/process/waitpid_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/random/bytes_spec.rb +40 -0
- data/spec/framework_spec/app/spec/core/random/equal_value_spec.rb +39 -0
- data/spec/framework_spec/app/spec/core/random/new_seed_spec.rb +27 -0
- data/spec/framework_spec/app/spec/core/random/new_spec.rb +33 -0
- data/spec/framework_spec/app/spec/core/random/rand_spec.rb +218 -0
- data/spec/framework_spec/app/spec/core/random/seed_spec.rb +32 -0
- data/spec/framework_spec/app/spec/core/random/srand_spec.rb +43 -0
- data/spec/framework_spec/app/spec/core/range/begin_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/range/case_compare_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/range/cover_spec.rb +57 -0
- data/spec/framework_spec/app/spec/core/range/each_spec.rb +5 -4
- data/spec/framework_spec/app/spec/core/range/end_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/range/eql_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/range/equal_value_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/range/exclude_end_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/range/first_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/range/hash_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/range/include_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/range/initialize_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/range/inspect_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/range/last_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/range/max_spec.rb +55 -0
- data/spec/framework_spec/app/spec/core/range/member_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/range/min_spec.rb +55 -0
- data/spec/framework_spec/app/spec/core/range/new_spec.rb +9 -9
- data/spec/framework_spec/app/spec/core/range/shared/equal_value.rb +2 -2
- data/spec/framework_spec/app/spec/core/range/shared/include.rb +9 -0
- data/spec/framework_spec/app/spec/core/range/step_spec.rb +4 -3
- data/spec/framework_spec/app/spec/core/range/to_a_spec.rb +10 -3
- data/spec/framework_spec/app/spec/core/range/to_s_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/rational/Rational_spec.rb +35 -0
- data/spec/framework_spec/app/spec/core/rational/abs_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/ceil_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/coerce_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/comparison_spec.rb +23 -0
- data/spec/framework_spec/app/spec/core/rational/denominator_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/div_spec.rb +19 -0
- data/spec/framework_spec/app/spec/core/rational/divide_spec.rb +19 -0
- data/spec/framework_spec/app/spec/core/rational/divmod_spec.rb +15 -0
- data/spec/framework_spec/app/spec/core/rational/equal_value_spec.rb +19 -0
- data/spec/framework_spec/app/spec/core/rational/exponent_spec.rb +19 -0
- data/spec/framework_spec/app/spec/core/rational/fdiv_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/floor_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/hash_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/initialize_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/inspect_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/integer_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/rational/magnitude_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/marshal_dump_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/marshal_load_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/minus_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/modulo_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/multiply_spec.rb +19 -0
- data/spec/framework_spec/app/spec/core/rational/numerator_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/plus_spec.rb +18 -0
- data/spec/framework_spec/app/spec/core/rational/quo_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/rationalize_spec.rb +33 -0
- data/spec/framework_spec/app/spec/core/rational/remainder_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/round_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/to_f_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/to_i_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/to_r_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/to_s_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/truncate_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/rational/zero_spec.rb +15 -0
- data/spec/framework_spec/app/spec/core/regexp/case_compare_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/regexp/casefold_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/regexp/compile_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/regexp/encoding_spec.rb +56 -0
- data/spec/framework_spec/app/spec/core/regexp/eql_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/regexp/equal_value_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/regexp/escape_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/regexp/fixed_encoding_spec.rb +36 -0
- data/spec/framework_spec/app/spec/core/regexp/hash_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/regexp/initialize_copy_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/regexp/initialize_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/regexp/inspect_spec.rb +9 -1
- data/spec/framework_spec/app/spec/core/regexp/kcode_spec.rb +17 -16
- data/spec/framework_spec/app/spec/core/regexp/last_match_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/regexp/match_spec.rb +31 -3
- data/spec/framework_spec/app/spec/core/regexp/named_captures_spec.rb +1 -0
- data/spec/framework_spec/app/spec/core/regexp/names_spec.rb +1 -0
- data/spec/framework_spec/app/spec/core/regexp/new_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/regexp/options_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/regexp/quote_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/regexp/shared/match.rb +2 -2
- data/spec/framework_spec/app/spec/core/regexp/shared/new.rb +65 -53
- data/spec/framework_spec/app/spec/core/regexp/source_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/regexp/to_s_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/regexp/try_convert_spec.rb +21 -0
- data/spec/framework_spec/app/spec/core/regexp/union_spec.rb +18 -2
- data/spec/framework_spec/app/spec/core/regexp/versions/named_captures_1.9.rb +35 -0
- data/spec/framework_spec/app/spec/core/regexp/versions/names_1.9.rb +29 -0
- data/spec/framework_spec/app/spec/core/signal/list_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/signal/trap_spec.rb +106 -1
- data/spec/framework_spec/app/spec/core/string/allocate_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/string/append_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/string/ascii_only_spec.rb +44 -29
- data/spec/framework_spec/app/spec/core/string/bytes_spec.rb +25 -18
- data/spec/framework_spec/app/spec/core/string/bytesize_spec.rb +12 -12
- data/spec/framework_spec/app/spec/core/string/capitalize_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/string/case_compare_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/string/casecmp_spec.rb +117 -64
- data/spec/framework_spec/app/spec/core/string/center_spec.rb +24 -18
- data/spec/framework_spec/app/spec/core/string/chars_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/string/chomp_spec.rb +68 -39
- data/spec/framework_spec/app/spec/core/string/chop_spec.rb +34 -56
- data/spec/framework_spec/app/spec/core/string/chr_spec.rb +44 -0
- data/spec/framework_spec/app/spec/core/string/clear_spec.rb +39 -0
- data/spec/framework_spec/app/spec/core/string/codepoints_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/string/comparison_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/string/concat_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/string/count_spec.rb +26 -11
- data/spec/framework_spec/app/spec/core/string/crypt_spec.rb +35 -35
- data/spec/framework_spec/app/spec/core/string/delete_spec.rb +25 -8
- data/spec/framework_spec/app/spec/core/string/downcase_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/string/dump_spec.rb +13 -4
- data/spec/framework_spec/app/spec/core/string/each_byte_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/string/each_char_spec.rb +3 -29
- data/spec/framework_spec/app/spec/core/string/each_codepoint_spec.rb +8 -0
- data/spec/framework_spec/app/spec/core/string/each_line_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/string/each_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/string/element_reference_spec.rb +9 -3
- data/spec/framework_spec/app/spec/core/string/element_set_spec.rb +54 -10
- data/spec/framework_spec/app/spec/core/string/empty_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/string/encode_spec.rb +114 -0
- data/spec/framework_spec/app/spec/core/string/encoding_spec.rb +181 -0
- data/spec/framework_spec/app/spec/core/string/end_with_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/string/entries_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/string/eql_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/string/equal_value_spec.rb +7 -3
- data/spec/framework_spec/app/spec/core/string/fixtures/classes.rb +12 -9
- data/spec/framework_spec/app/spec/core/string/fixtures/iso-8859-9-encoding.rb +9 -0
- data/spec/framework_spec/app/spec/core/string/fixtures/utf-8-encoding.rb +7 -0
- data/spec/framework_spec/app/spec/core/string/force_encoding_spec.rb +61 -0
- data/spec/framework_spec/app/spec/core/string/getbyte_spec.rb +63 -0
- data/spec/framework_spec/app/spec/core/string/gsub_spec.rb +228 -75
- data/spec/framework_spec/app/spec/core/string/hash_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/string/hex_spec.rb +23 -9
- data/spec/framework_spec/app/spec/core/string/include_spec.rb +7 -7
- data/spec/framework_spec/app/spec/core/string/index_spec.rb +46 -52
- data/spec/framework_spec/app/spec/core/string/initialize_spec.rb +19 -21
- data/spec/framework_spec/app/spec/core/string/insert_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/string/inspect_spec.rb +661 -41
- data/spec/framework_spec/app/spec/core/string/intern_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/string/length_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/string/lines_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/string/ljust_spec.rb +18 -12
- data/spec/framework_spec/app/spec/core/string/lstrip_spec.rb +23 -14
- data/spec/framework_spec/app/spec/core/string/match_spec.rb +11 -11
- data/spec/framework_spec/app/spec/core/string/modulo_spec.rb +103 -45
- data/spec/framework_spec/app/spec/core/string/multiply_spec.rb +10 -10
- data/spec/framework_spec/app/spec/core/string/new_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/string/next_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/string/oct_spec.rb +59 -16
- data/spec/framework_spec/app/spec/core/string/ord_spec.rb +32 -0
- data/spec/framework_spec/app/spec/core/string/partition_spec.rb +7 -3
- data/spec/framework_spec/app/spec/core/string/plus_spec.rb +9 -9
- data/spec/framework_spec/app/spec/core/string/replace_spec.rb +18 -13
- data/spec/framework_spec/app/spec/core/string/reverse_spec.rb +16 -11
- data/spec/framework_spec/app/spec/core/string/rindex_spec.rb +75 -69
- data/spec/framework_spec/app/spec/core/string/rjust_spec.rb +18 -12
- data/spec/framework_spec/app/spec/core/string/rpartition_spec.rb +8 -3
- data/spec/framework_spec/app/spec/core/string/rstrip_spec.rb +52 -20
- data/spec/framework_spec/app/spec/core/string/scan_spec.rb +48 -23
- data/spec/framework_spec/app/spec/core/string/setbyte_spec.rb +55 -0
- data/spec/framework_spec/app/spec/core/string/shared/chars.rb +70 -0
- data/spec/framework_spec/app/spec/core/string/shared/codepoints.rb +66 -0
- data/spec/framework_spec/app/spec/core/string/shared/concat.rb +9 -6
- data/spec/framework_spec/app/spec/core/string/shared/each_line.rb +27 -6
- data/spec/framework_spec/app/spec/core/string/shared/encode.rb +112 -0
- data/spec/framework_spec/app/spec/core/string/shared/slice.rb +13 -11
- data/spec/framework_spec/app/spec/core/string/shared/succ.rb +3 -3
- data/spec/framework_spec/app/spec/core/string/shared/to_s.rb +1 -1
- data/spec/framework_spec/app/spec/core/string/shared/to_sym.rb +32 -0
- data/spec/framework_spec/app/spec/core/string/shared/versions/slice_1.9.rb +78 -0
- data/spec/framework_spec/app/spec/core/string/size_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/string/slice_spec.rb +54 -42
- data/spec/framework_spec/app/spec/core/string/split_spec.rb +109 -60
- data/spec/framework_spec/app/spec/core/string/squeeze_spec.rb +21 -7
- data/spec/framework_spec/app/spec/core/string/start_with_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/string/strip_spec.rb +49 -12
- data/spec/framework_spec/app/spec/core/string/sub_spec.rb +91 -43
- data/spec/framework_spec/app/spec/core/string/succ_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/string/sum_spec.rb +7 -2
- data/spec/framework_spec/app/spec/core/string/swapcase_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/string/to_a_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/string/to_c_spec.rb +101 -0
- data/spec/framework_spec/app/spec/core/string/to_f_spec.rb +8 -16
- data/spec/framework_spec/app/spec/core/string/to_i_spec.rb +38 -16
- data/spec/framework_spec/app/spec/core/string/to_r_spec.rb +60 -0
- data/spec/framework_spec/app/spec/core/string/to_s_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/string/to_str_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/string/to_sym_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/string/tr_s_spec.rb +8 -8
- data/spec/framework_spec/app/spec/core/string/tr_spec.rb +37 -5
- data/spec/framework_spec/app/spec/core/string/try_convert_spec.rb +15 -17
- data/spec/framework_spec/app/spec/core/string/unpack/a_spec.rb +51 -0
- data/spec/framework_spec/app/spec/core/string/unpack/at_spec.rb +29 -0
- data/spec/framework_spec/app/spec/core/string/unpack/b_spec.rb +184 -0
- data/spec/framework_spec/app/spec/core/string/unpack/c_spec.rb +63 -0
- data/spec/framework_spec/app/spec/core/string/unpack/comment_spec.rb +25 -0
- data/spec/framework_spec/app/spec/core/string/unpack/d_spec.rb +28 -0
- data/spec/framework_spec/app/spec/core/string/unpack/e_spec.rb +14 -0
- data/spec/framework_spec/app/spec/core/string/unpack/f_spec.rb +28 -0
- data/spec/framework_spec/app/spec/core/string/unpack/g_spec.rb +14 -0
- data/spec/framework_spec/app/spec/core/string/unpack/h_spec.rb +124 -0
- data/spec/framework_spec/app/spec/core/string/unpack/i_spec.rb +72 -0
- data/spec/framework_spec/app/spec/core/string/unpack/l_spec.rb +216 -0
- data/spec/framework_spec/app/spec/core/string/unpack/m_spec.rb +165 -0
- data/spec/framework_spec/app/spec/core/string/unpack/n_spec.rb +18 -0
- data/spec/framework_spec/app/spec/core/string/unpack/percent_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/string/unpack/q_spec.rb +42 -0
- data/spec/framework_spec/app/spec/core/string/unpack/s_spec.rb +72 -0
- data/spec/framework_spec/app/spec/core/string/unpack/shared/basic.rb +25 -0
- data/spec/framework_spec/app/spec/core/string/unpack/shared/float.rb +267 -0
- data/spec/framework_spec/app/spec/core/string/unpack/shared/integer.rb +343 -0
- data/spec/framework_spec/app/spec/core/string/unpack/shared/string.rb +51 -0
- data/spec/framework_spec/app/spec/core/string/unpack/shared/unicode.rb +60 -0
- data/spec/framework_spec/app/spec/core/string/unpack/u_spec.rb +78 -0
- data/spec/framework_spec/app/spec/core/string/unpack/v_spec.rb +18 -0
- data/spec/framework_spec/app/spec/core/string/unpack/w_spec.rb +25 -0
- data/spec/framework_spec/app/spec/core/string/unpack/x_spec.rb +62 -0
- data/spec/framework_spec/app/spec/core/string/unpack/z_spec.rb +21 -0
- data/spec/framework_spec/app/spec/core/string/unpack_spec.rb +121 -32
- data/spec/framework_spec/app/spec/core/string/upcase_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/string/upto_spec.rb +21 -11
- data/spec/framework_spec/app/spec/core/string/valid_encoding_spec.rb +122 -0
- data/spec/framework_spec/app/spec/core/struct/each_pair_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/struct/each_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/struct/element_reference_spec.rb +7 -7
- data/spec/framework_spec/app/spec/core/struct/element_set_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/struct/eql_spec.rb +10 -4
- data/spec/framework_spec/app/spec/core/struct/equal_value_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/struct/fixtures/classes.rb +24 -8
- data/spec/framework_spec/app/spec/core/struct/hash_spec.rb +24 -10
- data/spec/framework_spec/app/spec/core/struct/initialize_copy_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/struct/initialize_spec.rb +9 -5
- data/spec/framework_spec/app/spec/core/struct/inspect_spec.rb +13 -6
- data/spec/framework_spec/app/spec/core/struct/length_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/struct/members_spec.rb +17 -7
- data/spec/framework_spec/app/spec/core/struct/new_spec.rb +61 -32
- data/spec/framework_spec/app/spec/core/struct/select_spec.rb +9 -9
- data/spec/framework_spec/app/spec/core/struct/shared/equal_value.rb +20 -5
- data/spec/framework_spec/app/spec/core/struct/shared/inspect.rb +13 -0
- data/spec/framework_spec/app/spec/core/struct/size_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/struct/struct_spec.rb +6 -6
- data/spec/framework_spec/app/spec/core/struct/tms/cstime_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/struct/tms/cutime_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/struct/tms/element_reference_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/struct/tms/members_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/struct/tms/new_spec.rb +5 -0
- data/spec/framework_spec/app/spec/core/struct/tms/stime_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/struct/tms/utime_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/struct/to_a_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/struct/to_s_spec.rb +6 -3
- data/spec/framework_spec/app/spec/core/struct/values_at_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/struct/values_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/symbol/all_symbols_spec.rb +7 -7
- data/spec/framework_spec/app/spec/core/symbol/capitalize_spec.rb +44 -0
- data/spec/framework_spec/app/spec/core/symbol/case_compare_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/symbol/casecmp_spec.rb +65 -0
- data/spec/framework_spec/app/spec/core/symbol/comparison_spec.rb +52 -0
- data/spec/framework_spec/app/spec/core/symbol/downcase_spec.rb +26 -0
- data/spec/framework_spec/app/spec/core/symbol/element_reference_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/symbol/empty_spec.rb +14 -0
- data/spec/framework_spec/app/spec/core/symbol/encoding_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/symbol/equal_value_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/symbol/id2name_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/symbol/inspect_spec.rb +19 -7
- data/spec/framework_spec/app/spec/core/symbol/intern_spec.rb +11 -0
- data/spec/framework_spec/app/spec/core/symbol/length_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/symbol/match_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/symbol/next_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/symbol/size_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/symbol/slice_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/symbol/succ_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/symbol/swapcase_spec.rb +34 -0
- data/spec/framework_spec/app/spec/core/symbol/to_i_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/symbol/to_int_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/symbol/to_proc_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/symbol/to_s_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/symbol/to_sym_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/symbol/upcase_spec.rb +22 -0
- data/spec/framework_spec/app/spec/core/systemexit/initialize_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/thread/abort_on_exception_spec.rb +14 -2
- data/spec/framework_spec/app/spec/core/thread/add_trace_func_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/thread/alive_spec.rb +18 -4
- data/spec/framework_spec/app/spec/core/thread/allocate_spec.rb +9 -0
- data/spec/framework_spec/app/spec/core/thread/backtrace_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/thread/critical_spec.rb +77 -75
- data/spec/framework_spec/app/spec/core/thread/current_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/thread/element_reference_spec.rb +14 -5
- data/spec/framework_spec/app/spec/core/thread/element_set_spec.rb +14 -5
- data/spec/framework_spec/app/spec/core/thread/exclusive_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/thread/exit_spec.rb +15 -5
- data/spec/framework_spec/app/spec/core/thread/fixtures/classes.rb +53 -40
- data/spec/framework_spec/app/spec/core/thread/fork_spec.rb +9 -2
- data/spec/framework_spec/app/spec/core/thread/group_spec.rb +5 -2
- data/spec/framework_spec/app/spec/core/thread/initialize_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/thread/inspect_spec.rb +8 -4
- data/spec/framework_spec/app/spec/core/thread/join_spec.rb +17 -6
- data/spec/framework_spec/app/spec/core/thread/key_spec.rb +16 -5
- data/spec/framework_spec/app/spec/core/thread/keys_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/thread/kill_spec.rb +11 -3
- data/spec/framework_spec/app/spec/core/thread/list_spec.rb +7 -2
- data/spec/framework_spec/app/spec/core/thread/main_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/thread/new_spec.rb +40 -3
- data/spec/framework_spec/app/spec/core/thread/pass_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/thread/priority_spec.rb +9 -2
- data/spec/framework_spec/app/spec/core/thread/raise_spec.rb +41 -27
- data/spec/framework_spec/app/spec/core/thread/run_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/thread/safe_level_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/thread/set_trace_func_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/thread/shared/exit.rb +38 -30
- data/spec/framework_spec/app/spec/core/thread/shared/start.rb +51 -0
- data/spec/framework_spec/app/spec/core/thread/shared/wakeup.rb +25 -13
- data/spec/framework_spec/app/spec/core/thread/start_spec.rb +9 -2
- data/spec/framework_spec/app/spec/core/thread/status_spec.rb +8 -4
- data/spec/framework_spec/app/spec/core/thread/stop_spec.rb +12 -8
- data/spec/framework_spec/app/spec/core/thread/terminate_spec.rb +7 -3
- data/spec/framework_spec/app/spec/core/thread/value_spec.rb +21 -8
- data/spec/framework_spec/app/spec/core/thread/wakeup_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/threadgroup/add_spec.rb +36 -37
- data/spec/framework_spec/app/spec/core/threadgroup/enclose_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/threadgroup/enclosed_spec.rb +5 -1
- data/spec/framework_spec/app/spec/core/threadgroup/list_spec.rb +24 -25
- data/spec/framework_spec/app/spec/core/time/_dump_spec.rb +13 -2
- data/spec/framework_spec/app/spec/core/time/_load_spec.rb +24 -2
- data/spec/framework_spec/app/spec/core/time/asctime_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/at_spec.rb +34 -14
- data/spec/framework_spec/app/spec/core/time/comparison_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/time/ctime_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/day_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/dst_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/dup_spec.rb +10 -2
- data/spec/framework_spec/app/spec/core/time/eql_spec.rb +9 -3
- data/spec/framework_spec/app/spec/core/time/fixtures/classes.rb +5 -0
- data/spec/framework_spec/app/spec/core/time/fixtures/methods.rb +1 -29
- data/spec/framework_spec/app/spec/core/time/friday_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/time/getgm_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/getlocal_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/time/getutc_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/gm_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/time/gmt_offset_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/gmt_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/time/gmtime_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/gmtoff_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/hash_spec.rb +5 -5
- data/spec/framework_spec/app/spec/core/time/hour_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/time/initialize_copy_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/time/initialize_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/inspect_spec.rb +11 -2
- data/spec/framework_spec/app/spec/core/time/isdst_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/time/local_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/time/localtime_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/time/mday_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/min_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/time/minus_spec.rb +53 -33
- data/spec/framework_spec/app/spec/core/time/mktime_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/time/mon_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/monday_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/time/month_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/now_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/nsec_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/time/plus_spec.rb +64 -19
- data/spec/framework_spec/app/spec/core/time/round_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/time/saturday_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/time/sec_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/time/shared/gmt_offset.rb +23 -0
- data/spec/framework_spec/app/spec/core/time/shared/inspect.rb +25 -0
- data/spec/framework_spec/app/spec/core/time/shared/isdst.rb +1 -1
- data/spec/framework_spec/app/spec/core/time/shared/local.rb +8 -0
- data/spec/framework_spec/app/spec/core/time/shared/now.rb +12 -4
- data/spec/framework_spec/app/spec/core/time/shared/time_params.rb +134 -35
- data/spec/framework_spec/app/spec/core/time/strftime_spec.rb +141 -2
- data/spec/framework_spec/app/spec/core/time/subsec_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/time/succ_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/sunday_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/time/thursday_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/time/times_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/time/to_a_spec.rb +4 -3
- data/spec/framework_spec/app/spec/core/time/to_f_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/time/to_i_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/to_r_spec.rb +13 -0
- data/spec/framework_spec/app/spec/core/time/to_s_spec.rb +11 -2
- data/spec/framework_spec/app/spec/core/time/tuesday_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/time/tv_nsec_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/time/tv_sec_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/tv_usec_spec.rb +6 -2
- data/spec/framework_spec/app/spec/core/time/usec_spec.rb +8 -2
- data/spec/framework_spec/app/spec/core/time/utc_offset_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/utc_spec.rb +7 -7
- data/spec/framework_spec/app/spec/core/time/wday_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/time/wednesday_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/time/yday_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/time/year_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/time/zone_spec.rb +4 -3
- data/spec/framework_spec/app/spec/core/true/and_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/true/inspect_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/true/or_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/true/to_s_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/true/xor_spec.rb +1 -1
- data/spec/framework_spec/app/spec/core/unboundmethod/arity_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/unboundmethod/bind_spec.rb +26 -6
- data/spec/framework_spec/app/spec/core/unboundmethod/clone_spec.rb +2 -2
- data/spec/framework_spec/app/spec/core/unboundmethod/eql_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/unboundmethod/equal_value_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/unboundmethod/fixtures/classes.rb +4 -1
- data/spec/framework_spec/app/spec/core/unboundmethod/hash_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/unboundmethod/inspect_spec.rb +3 -3
- data/spec/framework_spec/app/spec/core/unboundmethod/name_spec.rb +19 -5
- data/spec/framework_spec/app/spec/core/unboundmethod/owner_spec.rb +4 -4
- data/spec/framework_spec/app/spec/core/unboundmethod/parameters_spec.rb +7 -0
- data/spec/framework_spec/app/spec/core/unboundmethod/shared/to_s.rb +4 -4
- data/spec/framework_spec/app/spec/core/unboundmethod/source_location_spec.rb +31 -0
- data/spec/framework_spec/app/spec/core/unboundmethod/to_s_spec.rb +3 -3
- data/spec/framework_spec/app/spec/fixtures/class.rb +39 -16
- data/spec/framework_spec/app/spec/fixtures/class_variables.rb +7 -7
- data/spec/framework_spec/app/spec/fixtures/code/file_fixture.rb +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/line_fixture.rb +5 -0
- data/spec/framework_spec/app/spec/fixtures/code/load_ext_fixture.rb +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/load_fixture +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/load_fixture.bundle +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/load_fixture.dll +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/load_fixture.dylib +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/load_fixture.ext +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/load_fixture.ext.bundle +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/load_fixture.ext.dll +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/load_fixture.ext.dylib +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/load_fixture.ext.rb +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/load_fixture.ext.so +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/load_fixture.rb +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/load_fixture.so +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/methods_fixture.rb +364 -0
- data/spec/framework_spec/app/spec/fixtures/code/raise_fixture.rb +1 -0
- data/spec/framework_spec/app/spec/fixtures/code/recursive_load_fixture.rb +5 -0
- data/spec/framework_spec/app/spec/fixtures/code/recursive_require_fixture.rb +3 -0
- data/spec/framework_spec/app/spec/fixtures/code/wrap_fixture.rb +3 -0
- data/spec/framework_spec/app/spec/fixtures/code_loading.rb +30 -0
- data/spec/framework_spec/app/spec/fixtures/enumerator/classes.rb +15 -0
- data/spec/framework_spec/app/spec/fixtures/kernel/callcc.rb +17 -0
- data/spec/framework_spec/app/spec/fixtures/kernel/classes.rb +56 -0
- data/spec/framework_spec/app/spec/fixtures/math/common.rb +3 -0
- data/spec/framework_spec/app/spec/fixtures/reflection.rb +352 -0
- data/spec/framework_spec/app/spec/language/BEGIN_spec.rb +57 -0
- data/spec/framework_spec/app/spec/language/README +1 -1
- data/spec/framework_spec/app/spec/language/alias_spec.rb +33 -20
- data/spec/framework_spec/app/spec/language/and_spec.rb +8 -8
- data/spec/framework_spec/app/spec/language/array_spec.rb +5 -5
- data/spec/framework_spec/app/spec/language/block_spec.rb +408 -27
- data/spec/framework_spec/app/spec/language/break_spec.rb +210 -280
- data/spec/framework_spec/app/spec/language/case_spec.rb +37 -38
- data/spec/framework_spec/app/spec/language/class_spec.rb +52 -70
- data/spec/framework_spec/app/spec/language/class_variable_spec.rb +6 -6
- data/spec/framework_spec/app/spec/language/{constants_spec_dontrun.rb → constants_spec.rb} +14 -0
- data/spec/framework_spec/app/spec/language/def_spec.rb +83 -68
- data/spec/framework_spec/app/spec/language/defined_spec.rb +1181 -142
- data/spec/framework_spec/app/spec/language/encoding_spec.rb +19 -20
- data/spec/framework_spec/app/spec/language/ensure_spec.rb +32 -37
- data/spec/framework_spec/app/spec/language/execution_spec.rb +9 -11
- data/spec/framework_spec/app/spec/language/file_spec.rb +21 -39
- data/spec/framework_spec/app/spec/language/fixtures/block.rb +26 -15
- data/spec/framework_spec/app/spec/language/fixtures/break.rb +240 -0
- data/spec/framework_spec/app/spec/language/fixtures/break_lambda_toplevel.rb +9 -0
- data/spec/framework_spec/app/spec/language/fixtures/break_lambda_toplevel_block.rb +23 -0
- data/spec/framework_spec/app/spec/language/fixtures/break_lambda_toplevel_method.rb +17 -0
- data/spec/framework_spec/app/spec/language/fixtures/classes.rb +8 -8
- data/spec/framework_spec/app/spec/language/fixtures/defined.rb +270 -0
- data/spec/framework_spec/app/spec/language/fixtures/ensure.rb +6 -6
- data/spec/framework_spec/app/spec/language/fixtures/file.rb +1 -1
- data/spec/framework_spec/app/spec/language/fixtures/literal_lambda.rb +7 -0
- data/spec/framework_spec/app/spec/language/fixtures/next.rb +128 -0
- data/spec/framework_spec/app/spec/language/fixtures/private.rb +3 -3
- data/spec/framework_spec/app/spec/language/fixtures/return.rb +44 -0
- data/spec/framework_spec/app/spec/language/fixtures/rubyopt.rb +1 -0
- data/spec/framework_spec/app/spec/language/fixtures/send.rb +110 -0
- data/spec/framework_spec/app/spec/language/fixtures/send_1.9.rb +20 -0
- data/spec/framework_spec/app/spec/language/fixtures/super.rb +38 -7
- data/spec/framework_spec/app/spec/language/fixtures/variables.rb +1 -1
- data/spec/framework_spec/app/spec/language/fixtures/yield.rb +20 -2
- data/spec/framework_spec/app/spec/language/for_spec.rb +63 -39
- data/spec/framework_spec/app/spec/language/hash_spec.rb +26 -1
- data/spec/framework_spec/app/spec/language/if_spec.rb +32 -2
- data/spec/framework_spec/app/spec/language/line_spec.rb +42 -17
- data/spec/framework_spec/app/spec/language/literal_lambda_spec.rb +1 -0
- data/spec/framework_spec/app/spec/language/loop_spec.rb +7 -8
- data/spec/framework_spec/app/spec/language/magic_comment_spec.rb +60 -61
- data/spec/framework_spec/app/spec/language/metaclass_spec.rb +21 -24
- data/spec/framework_spec/app/spec/language/module_spec.rb +46 -1
- data/spec/framework_spec/app/spec/language/next_spec.rb +241 -7
- data/spec/framework_spec/app/spec/language/not_spec.rb +22 -2
- data/spec/framework_spec/app/spec/language/numbers_spec.rb +5 -6
- data/spec/framework_spec/app/spec/language/or_spec.rb +33 -7
- data/spec/framework_spec/app/spec/language/order_spec.rb +3 -3
- data/spec/framework_spec/app/spec/language/precedence_spec.rb +31 -33
- data/spec/framework_spec/app/spec/language/predefined/data_spec.rb +45 -0
- data/spec/framework_spec/app/spec/language/{fixtures/predefined.rb → predefined/fixtures/data1.rb} +2 -0
- data/spec/framework_spec/app/spec/language/predefined/fixtures/data2.rb +4 -0
- data/spec/framework_spec/app/spec/language/predefined/fixtures/data3.rb +7 -0
- data/spec/framework_spec/app/spec/language/predefined/fixtures/data4.rb +4 -0
- data/spec/framework_spec/app/spec/{core/io/data/fixtures/data2.rb → language/predefined/fixtures/data_flock.rb} +1 -1
- data/spec/framework_spec/app/spec/language/predefined/fixtures/data_only.rb +2 -0
- data/spec/framework_spec/app/spec/language/predefined/fixtures/print_data.rb +3 -0
- data/spec/framework_spec/app/spec/language/predefined_spec.rb +599 -283
- data/spec/framework_spec/app/spec/language/private_spec.rb +4 -4
- data/spec/framework_spec/app/spec/language/proc_spec.rb +238 -0
- data/spec/framework_spec/app/spec/language/redo_spec.rb +2 -2
- data/spec/framework_spec/app/spec/language/regexp/anchors_spec.rb +163 -0
- data/spec/framework_spec/app/spec/language/regexp/back-references_spec.rb +50 -0
- data/spec/framework_spec/app/spec/language/regexp/character_classes_spec.rb +96 -0
- data/spec/framework_spec/app/spec/language/regexp/encoding_spec.rb +129 -0
- data/spec/framework_spec/app/spec/language/regexp/escapes_spec.rb +80 -0
- data/spec/framework_spec/app/spec/language/regexp/grouping_spec.rb +23 -0
- data/spec/framework_spec/app/spec/language/regexp/interpolation_spec.rb +55 -0
- data/spec/framework_spec/app/spec/language/regexp/modifiers_spec.rb +132 -0
- data/spec/framework_spec/app/spec/language/regexp/repetition_spec.rb +47 -0
- data/spec/framework_spec/app/spec/language/regexp/versions/character_classes_1.9.rb +499 -0
- data/spec/framework_spec/app/spec/language/regexp_spec.rb +42 -677
- data/spec/framework_spec/app/spec/language/rescue_spec.rb +57 -8
- data/spec/framework_spec/app/spec/language/retry_spec.rb +4 -4
- data/spec/framework_spec/app/spec/language/return_spec.rb +11 -2
- data/spec/framework_spec/app/spec/language/send_spec.rb +227 -0
- data/spec/framework_spec/app/spec/language/shared/__FILE__.rb +37 -0
- data/spec/framework_spec/app/spec/language/shared/__LINE__.rb +17 -0
- data/spec/framework_spec/app/spec/language/singleton_class_spec.rb +299 -0
- data/spec/framework_spec/app/spec/language/splat_spec.rb +188 -0
- data/spec/framework_spec/app/spec/language/string_spec.rb +42 -7
- data/spec/framework_spec/app/spec/language/super_spec.rb +11 -5
- data/spec/framework_spec/app/spec/language/symbol_spec.rb +18 -11
- data/spec/framework_spec/app/spec/language/throw_spec.rb +3 -3
- data/spec/framework_spec/app/spec/language/undef_spec.rb +1 -1
- data/spec/framework_spec/app/spec/language/unless_spec.rb +8 -8
- data/spec/framework_spec/app/spec/language/until_spec.rb +27 -27
- data/spec/framework_spec/app/spec/language/variables_spec.rb +57 -61
- data/spec/framework_spec/app/spec/language/versions/array_1.9.rb +8 -0
- data/spec/framework_spec/app/spec/language/versions/block_1.9.rb +80 -17
- data/spec/framework_spec/app/spec/language/versions/case_1.9.rb +5 -5
- data/spec/framework_spec/app/spec/language/versions/hash_1.9.rb +19 -0
- data/spec/framework_spec/app/spec/language/versions/literal_lambda_1.9.rb +143 -0
- data/spec/framework_spec/app/spec/language/versions/not_1.9.rb +22 -0
- data/spec/framework_spec/app/spec/language/versions/regexp_1.9.rb +3 -3
- data/spec/framework_spec/app/spec/language/versions/send_1.9.rb +196 -0
- data/spec/framework_spec/app/spec/language/versions/symbol_1.9.rb +10 -2
- data/spec/framework_spec/app/spec/language/versions/variables_1.9.rb +8 -0
- data/spec/framework_spec/app/spec/language/while_spec.rb +24 -24
- data/spec/framework_spec/app/spec/language/yield_spec.rb +105 -84
- data/spec/framework_spec/app/spec/library/base64/b64encode_spec.rb +36 -0
- data/spec/framework_spec/app/spec/library/base64/decode64_spec.rb +9 -0
- data/spec/framework_spec/app/spec/library/base64/decode_b_spec.rb +19 -0
- data/spec/framework_spec/app/spec/library/base64/encode64_spec.rb +14 -0
- data/spec/framework_spec/app/spec/library/digest/hexencode_spec.rb +31 -0
- data/spec/framework_spec/app/spec/library/digest/md5/append_spec.rb +3 -3
- data/spec/framework_spec/app/spec/library/digest/md5/block_length_spec.rb +2 -2
- data/spec/framework_spec/app/spec/library/digest/md5/digest_bang_spec.rb +2 -2
- data/spec/framework_spec/app/spec/library/digest/md5/digest_length_spec.rb +2 -2
- data/spec/framework_spec/app/spec/library/digest/md5/digest_spec.rb +2 -2
- data/spec/framework_spec/app/spec/library/digest/md5/equal_spec.rb +2 -2
- data/spec/framework_spec/app/spec/library/digest/md5/file_spec.rb +48 -0
- data/spec/framework_spec/app/spec/library/digest/md5/hexdigest_bang_spec.rb +2 -2
- data/spec/framework_spec/app/spec/library/digest/md5/hexdigest_spec.rb +2 -2
- data/spec/framework_spec/app/spec/library/digest/md5/inspect_spec.rb +2 -2
- data/spec/framework_spec/app/spec/library/digest/md5/length_spec.rb +3 -3
- data/spec/framework_spec/app/spec/library/digest/md5/reset_spec.rb +2 -2
- data/spec/framework_spec/app/spec/library/digest/md5/shared/constants.rb +1 -1
- data/spec/framework_spec/app/spec/library/digest/md5/shared/sample.rb +1 -1
- data/spec/framework_spec/app/spec/library/digest/md5/size_spec.rb +3 -3
- data/spec/framework_spec/app/spec/library/digest/md5/to_s_spec.rb +2 -2
- data/spec/framework_spec/app/spec/library/digest/md5/update_spec.rb +3 -3
- data/spec/framework_spec/app/spec/library/digest/sha1/digest_spec.rb +2 -2
- data/spec/framework_spec/app/spec/library/digest/sha1/file_spec.rb +43 -0
- data/spec/framework_spec/app/spec/library/digest/sha1/shared/constants.rb +1 -1
- data/spec/framework_spec/app/spec/library/set/add_spec.rb +27 -0
- data/spec/framework_spec/app/spec/library/set/append_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/classify_spec.rb +35 -0
- data/spec/framework_spec/app/spec/library/set/clear_spec.rb +17 -0
- data/spec/framework_spec/app/spec/library/set/collect_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/constructor_spec.rb +15 -0
- data/spec/framework_spec/app/spec/library/set/delete_if_spec.rb +46 -0
- data/spec/framework_spec/app/spec/library/set/delete_spec.rb +37 -0
- data/spec/framework_spec/app/spec/library/set/difference_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/divide_spec.rb +34 -0
- data/spec/framework_spec/app/spec/library/set/each_spec.rb +34 -0
- data/spec/framework_spec/app/spec/library/set/empty_spec.rb +10 -0
- data/spec/framework_spec/app/spec/library/set/enumerable/to_set_spec.rb +19 -0
- data/spec/framework_spec/app/spec/library/set/eql_spec.rb +17 -0
- data/spec/framework_spec/app/spec/library/set/equal_value_spec.rb +38 -0
- data/spec/framework_spec/app/spec/library/set/exclusion_spec.rb +18 -0
- data/spec/framework_spec/app/spec/library/set/flatten_merge_spec.rb +23 -0
- data/spec/framework_spec/app/spec/library/set/flatten_spec.rb +40 -0
- data/spec/framework_spec/app/spec/library/set/hash_spec.rb +15 -0
- data/spec/framework_spec/app/spec/library/set/include_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/initialize_copy_spec.rb +18 -0
- data/spec/framework_spec/app/spec/library/set/initialize_spec.rb +24 -0
- data/spec/framework_spec/app/spec/library/set/inspect_spec.rb +18 -0
- data/spec/framework_spec/app/spec/library/set/intersection_spec.rb +11 -0
- data/spec/framework_spec/app/spec/library/set/keep_if_spec.rb +41 -0
- data/spec/framework_spec/app/spec/library/set/length_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/map_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/member_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/merge_spec.rb +19 -0
- data/spec/framework_spec/app/spec/library/set/minus_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/plus_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/pretty_print_cycle_spec.rb +10 -0
- data/spec/framework_spec/app/spec/library/set/pretty_print_spec.rb +17 -0
- data/spec/framework_spec/app/spec/library/set/proper_subset_spec.rb +34 -0
- data/spec/framework_spec/app/spec/library/set/proper_superset_spec.rb +34 -0
- data/spec/framework_spec/app/spec/library/set/reject_spec.rb +50 -0
- data/spec/framework_spec/app/spec/library/set/replace_spec.rb +17 -0
- data/spec/framework_spec/app/spec/library/set/select_spec.rb +45 -0
- data/spec/framework_spec/app/spec/library/set/shared/add.rb +14 -0
- data/spec/framework_spec/app/spec/library/set/shared/collect.rb +20 -0
- data/spec/framework_spec/app/spec/library/set/shared/difference.rb +15 -0
- data/spec/framework_spec/app/spec/library/set/shared/include.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/shared/intersection.rb +15 -0
- data/spec/framework_spec/app/spec/library/set/shared/length.rb +6 -0
- data/spec/framework_spec/app/spec/library/set/shared/union.rb +15 -0
- data/spec/framework_spec/app/spec/library/set/size_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/add_spec.rb +36 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/append_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/classify_spec.rb +35 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/clear_spec.rb +17 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/collect_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/constructor_spec.rb +15 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/delete_if_spec.rb +48 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/delete_spec.rb +37 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/difference_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/divide_spec.rb +34 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/each_spec.rb +36 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/empty_spec.rb +10 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/eql_spec.rb +18 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/equal_value_spec.rb +13 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/exclusion_spec.rb +18 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/flatten_merge_spec.rb +8 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/flatten_spec.rb +48 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/hash_spec.rb +15 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/include_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/initialize_copy_spec.rb +18 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/initialize_spec.rb +32 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/inspect_spec.rb +10 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/intersection_spec.rb +11 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/keep_if_spec.rb +34 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/length_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/map_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/member_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/merge_spec.rb +19 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/minus_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/plus_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/pretty_print_cycle_spec.rb +10 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/pretty_print_spec.rb +17 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/proper_subset_spec.rb +33 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/proper_superset_spec.rb +33 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/reject_spec.rb +52 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/replace_spec.rb +17 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/select_spec.rb +38 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/shared/add.rb +14 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/shared/collect.rb +20 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/shared/difference.rb +15 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/shared/include.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/shared/intersection.rb +15 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/shared/length.rb +6 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/shared/union.rb +15 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/size_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/subset_spec.rb +33 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/subtract_spec.rb +17 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/superset_spec.rb +33 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/to_a_spec.rb +8 -0
- data/spec/framework_spec/app/spec/library/set/sortedset/union_spec.rb +11 -0
- data/spec/framework_spec/app/spec/library/set/subset_spec.rb +34 -0
- data/spec/framework_spec/app/spec/library/set/subtract_spec.rb +17 -0
- data/spec/framework_spec/app/spec/library/set/superset_spec.rb +34 -0
- data/spec/framework_spec/app/spec/library/set/to_a_spec.rb +8 -0
- data/spec/framework_spec/app/spec/library/set/union_spec.rb +11 -0
- data/spec/framework_spec/app/spec/library/stringio/append_spec.rb +84 -0
- data/spec/framework_spec/app/spec/library/stringio/binmode_spec.rb +9 -0
- data/spec/framework_spec/app/spec/library/stringio/bytes_spec.rb +13 -0
- data/spec/framework_spec/app/spec/library/stringio/chars_spec.rb +13 -0
- data/spec/framework_spec/app/spec/library/stringio/close_read_spec.rb +31 -0
- data/spec/framework_spec/app/spec/library/stringio/close_spec.rb +23 -0
- data/spec/framework_spec/app/spec/library/stringio/close_write_spec.rb +31 -0
- data/spec/framework_spec/app/spec/library/stringio/closed_read_spec.rb +12 -0
- data/spec/framework_spec/app/spec/library/stringio/closed_spec.rb +16 -0
- data/spec/framework_spec/app/spec/library/stringio/closed_write_spec.rb +12 -0
- data/spec/framework_spec/app/spec/library/stringio/codepoints.rb +11 -0
- data/spec/framework_spec/app/spec/library/stringio/each_byte_spec.rb +11 -0
- data/spec/framework_spec/app/spec/library/stringio/each_char_spec.rb +13 -0
- data/spec/framework_spec/app/spec/library/stringio/each_codepoint.rb +12 -0
- data/spec/framework_spec/app/spec/library/stringio/each_line_spec.rb +15 -0
- data/spec/framework_spec/app/spec/library/stringio/each_spec.rb +15 -0
- data/spec/framework_spec/app/spec/library/stringio/eof_spec.rb +11 -0
- data/spec/framework_spec/app/spec/library/stringio/external_encoding.rb +12 -0
- data/spec/framework_spec/app/spec/library/stringio/fcntl_spec.rb +8 -0
- data/spec/framework_spec/app/spec/library/stringio/fileno_spec.rb +9 -0
- data/spec/framework_spec/app/spec/library/stringio/fixtures/classes.rb +15 -0
- data/spec/framework_spec/app/spec/library/stringio/flush_spec.rb +9 -0
- data/spec/framework_spec/app/spec/library/stringio/fsync_spec.rb +9 -0
- data/spec/framework_spec/app/spec/library/stringio/getbyte_spec.rb +21 -0
- data/spec/framework_spec/app/spec/library/stringio/getc_spec.rb +19 -0
- data/spec/framework_spec/app/spec/library/stringio/gets_spec.rb +139 -0
- data/spec/framework_spec/app/spec/library/stringio/initialize_copy_spec.rb +96 -0
- data/spec/framework_spec/app/spec/library/stringio/initialize_spec.rb +194 -0
- data/spec/framework_spec/app/spec/library/stringio/internal_encoding.rb +12 -0
- data/spec/framework_spec/app/spec/library/stringio/isatty_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/stringio/length_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/stringio/lineno_spec.rb +30 -0
- data/spec/framework_spec/app/spec/library/stringio/lines_spec.rb +17 -0
- data/spec/framework_spec/app/spec/library/stringio/open_spec.rb +216 -0
- data/spec/framework_spec/app/spec/library/stringio/path_spec.rb +16 -0
- data/spec/framework_spec/app/spec/library/stringio/pid_spec.rb +8 -0
- data/spec/framework_spec/app/spec/library/stringio/pos_spec.rb +28 -0
- data/spec/framework_spec/app/spec/library/stringio/print_spec.rb +114 -0
- data/spec/framework_spec/app/spec/library/stringio/printf_spec.rb +61 -0
- data/spec/framework_spec/app/spec/library/stringio/putc_spec.rb +88 -0
- data/spec/framework_spec/app/spec/library/stringio/puts_spec.rb +159 -0
- data/spec/framework_spec/app/spec/library/stringio/read_spec.rb +62 -0
- data/spec/framework_spec/app/spec/library/stringio/readbyte_spec.rb +22 -0
- data/spec/framework_spec/app/spec/library/stringio/readchar_spec.rb +20 -0
- data/spec/framework_spec/app/spec/library/stringio/readline_spec.rb +128 -0
- data/spec/framework_spec/app/spec/library/stringio/readlines_spec.rb +94 -0
- data/spec/framework_spec/app/spec/library/stringio/readpartial_spec.rb +83 -0
- data/spec/framework_spec/app/spec/library/stringio/reopen_spec.rb +304 -0
- data/spec/framework_spec/app/spec/library/stringio/rewind_spec.rb +24 -0
- data/spec/framework_spec/app/spec/library/stringio/seek_spec.rb +76 -0
- data/spec/framework_spec/app/spec/library/stringio/set_encoding.rb +12 -0
- data/spec/framework_spec/app/spec/library/stringio/shared/codepoints.rb +45 -0
- data/spec/framework_spec/app/spec/library/stringio/shared/each.rb +115 -0
- data/spec/framework_spec/app/spec/library/stringio/shared/each_byte.rb +60 -0
- data/spec/framework_spec/app/spec/library/stringio/shared/each_char.rb +50 -0
- data/spec/framework_spec/app/spec/library/stringio/shared/eof.rb +24 -0
- data/spec/framework_spec/app/spec/library/stringio/shared/getc.rb +43 -0
- data/spec/framework_spec/app/spec/library/stringio/shared/isatty.rb +5 -0
- data/spec/framework_spec/app/spec/library/stringio/shared/length.rb +5 -0
- data/spec/framework_spec/app/spec/library/stringio/shared/read.rb +125 -0
- data/spec/framework_spec/app/spec/library/stringio/shared/readchar.rb +29 -0
- data/spec/framework_spec/app/spec/library/stringio/shared/tell.rb +12 -0
- data/spec/framework_spec/app/spec/library/stringio/shared/write.rb +87 -0
- data/spec/framework_spec/app/spec/library/stringio/size_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/stringio/string_spec.rb +50 -0
- data/spec/framework_spec/app/spec/library/stringio/stringio_spec.rb +9 -0
- data/spec/framework_spec/app/spec/library/stringio/sync_spec.rb +19 -0
- data/spec/framework_spec/app/spec/library/stringio/sysread_spec.rb +54 -0
- data/spec/framework_spec/app/spec/library/stringio/syswrite_spec.rb +19 -0
- data/spec/framework_spec/app/spec/library/stringio/tell_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/stringio/truncate_spec.rb +70 -0
- data/spec/framework_spec/app/spec/library/stringio/tty_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/stringio/ungetc_spec.rb +99 -0
- data/spec/framework_spec/app/spec/library/stringio/write_spec.rb +19 -0
- data/spec/framework_spec/app/spec/library/stringscanner/append_spec.rb +11 -0
- data/spec/framework_spec/app/spec/library/stringscanner/beginning_of_line_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/stringscanner/bol_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/stringscanner/check_spec.rb +16 -0
- data/spec/framework_spec/app/spec/library/stringscanner/check_until_spec.rb +15 -0
- data/spec/framework_spec/app/spec/library/stringscanner/clear_spec.rb +26 -0
- data/spec/framework_spec/app/spec/library/stringscanner/concat_spec.rb +11 -0
- data/spec/framework_spec/app/spec/library/stringscanner/dup_spec.rb +39 -0
- data/spec/framework_spec/app/spec/library/stringscanner/element_reference_spec.rb +49 -0
- data/spec/framework_spec/app/spec/library/stringscanner/empty_spec.rb +26 -0
- data/spec/framework_spec/app/spec/library/stringscanner/eos_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/stringscanner/exist_spec.rb +24 -0
- data/spec/framework_spec/app/spec/library/stringscanner/get_byte_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/stringscanner/getbyte_spec.rb +29 -0
- data/spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb +44 -0
- data/spec/framework_spec/app/spec/library/stringscanner/initialize_spec.rb +28 -0
- data/spec/framework_spec/app/spec/library/stringscanner/inspect_spec.rb +20 -0
- data/spec/framework_spec/app/spec/library/stringscanner/match_spec.rb +28 -0
- data/spec/framework_spec/app/spec/library/stringscanner/matched_size_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/stringscanner/matched_spec.rb +41 -0
- data/spec/framework_spec/app/spec/library/stringscanner/matchedsize_spec.rb +27 -0
- data/spec/framework_spec/app/spec/library/stringscanner/must_C_version_spec.rb +8 -0
- data/spec/framework_spec/app/spec/library/stringscanner/peek_spec.rb +8 -0
- data/spec/framework_spec/app/spec/library/stringscanner/peep_spec.rb +26 -0
- data/spec/framework_spec/app/spec/library/stringscanner/pointer_spec.rb +11 -0
- data/spec/framework_spec/app/spec/library/stringscanner/pos_spec.rb +11 -0
- data/spec/framework_spec/app/spec/library/stringscanner/post_match_spec.rb +28 -0
- data/spec/framework_spec/app/spec/library/stringscanner/pre_match_spec.rb +41 -0
- data/spec/framework_spec/app/spec/library/stringscanner/reset_spec.rb +15 -0
- data/spec/framework_spec/app/spec/library/stringscanner/rest_size_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/stringscanner/rest_spec.rb +48 -0
- data/spec/framework_spec/app/spec/library/stringscanner/restsize_spec.rb +26 -0
- data/spec/framework_spec/app/spec/library/stringscanner/scan_full_spec.rb +30 -0
- data/spec/framework_spec/app/spec/library/stringscanner/scan_spec.rb +43 -0
- data/spec/framework_spec/app/spec/library/stringscanner/scan_until_spec.rb +23 -0
- data/spec/framework_spec/app/spec/library/stringscanner/search_full_spec.rb +30 -0
- data/spec/framework_spec/app/spec/library/stringscanner/shared/bol.rb +25 -0
- data/spec/framework_spec/app/spec/library/stringscanner/shared/concat.rb +30 -0
- data/spec/framework_spec/app/spec/library/stringscanner/shared/eos.rb +17 -0
- data/spec/framework_spec/app/spec/library/stringscanner/shared/extract_range.rb +22 -0
- data/spec/framework_spec/app/spec/library/stringscanner/shared/extract_range_matched.rb +22 -0
- data/spec/framework_spec/app/spec/library/stringscanner/shared/get_byte.rb +28 -0
- data/spec/framework_spec/app/spec/library/stringscanner/shared/matched_size.rb +21 -0
- data/spec/framework_spec/app/spec/library/stringscanner/shared/peek.rb +44 -0
- data/spec/framework_spec/app/spec/library/stringscanner/shared/pos.rb +52 -0
- data/spec/framework_spec/app/spec/library/stringscanner/shared/rest_size.rb +18 -0
- data/spec/framework_spec/app/spec/library/stringscanner/shared/terminate.rb +8 -0
- data/spec/framework_spec/app/spec/library/stringscanner/skip_spec.rb +18 -0
- data/spec/framework_spec/app/spec/library/stringscanner/skip_until_spec.rb +18 -0
- data/spec/framework_spec/app/spec/library/stringscanner/string_spec.rb +40 -0
- data/spec/framework_spec/app/spec/library/stringscanner/terminate_spec.rb +7 -0
- data/spec/framework_spec/app/spec/library/stringscanner/unscan_spec.rb +29 -0
- data/spec/framework_spec/app/spec/shared/complex/Complex.rb +76 -0
- data/spec/framework_spec/app/spec/shared/complex/abs.rb +12 -0
- data/spec/framework_spec/app/spec/shared/complex/abs2.rb +12 -0
- data/spec/framework_spec/app/spec/shared/complex/arg.rb +9 -0
- data/spec/framework_spec/app/spec/shared/complex/coerce.rb +41 -0
- data/spec/framework_spec/app/spec/shared/complex/conjugate.rb +8 -0
- data/spec/framework_spec/app/spec/shared/complex/denominator.rb +13 -0
- data/spec/framework_spec/app/spec/shared/complex/divide.rb +57 -0
- data/spec/framework_spec/app/spec/shared/complex/equal_value.rb +64 -0
- data/spec/framework_spec/app/spec/shared/complex/exponent.rb +54 -0
- data/spec/framework_spec/app/spec/shared/complex/hash.rb +16 -0
- data/spec/framework_spec/app/spec/shared/complex/image.rb +10 -0
- data/spec/framework_spec/app/spec/shared/complex/inspect.rb +29 -0
- data/spec/framework_spec/app/spec/shared/complex/minus.rb +25 -0
- data/spec/framework_spec/app/spec/shared/complex/modulo.rb +25 -0
- data/spec/framework_spec/app/spec/shared/complex/multiply.rb +24 -0
- data/spec/framework_spec/app/spec/shared/complex/numerator.rb +19 -0
- data/spec/framework_spec/app/spec/shared/complex/numeric/arg.rb +43 -0
- data/spec/framework_spec/app/spec/shared/complex/numeric/conj.rb +26 -0
- data/spec/framework_spec/app/spec/shared/complex/numeric/imag.rb +26 -0
- data/spec/framework_spec/app/spec/shared/complex/numeric/polar.rb +52 -0
- data/spec/framework_spec/app/spec/shared/complex/numeric/real.rb +30 -0
- data/spec/framework_spec/app/spec/shared/complex/plus.rb +25 -0
- data/spec/framework_spec/app/spec/shared/complex/polar.rb +22 -0
- data/spec/framework_spec/app/spec/shared/complex/real.rb +8 -0
- data/spec/framework_spec/app/spec/shared/complex/rect.rb +45 -0
- data/spec/framework_spec/app/spec/shared/complex/to_s.rb +39 -0
- data/spec/framework_spec/app/spec/shared/continuation/call.rb +76 -0
- data/spec/framework_spec/app/spec/shared/continuation/new.rb +5 -0
- data/spec/framework_spec/app/spec/shared/enumerator/each.rb +45 -0
- data/spec/framework_spec/app/spec/shared/enumerator/enum_cons.rb +12 -0
- data/spec/framework_spec/app/spec/shared/enumerator/enum_for.rb +15 -0
- data/spec/framework_spec/app/spec/shared/enumerator/new.rb +42 -0
- data/spec/framework_spec/app/spec/shared/enumerator/next.rb +30 -0
- data/spec/framework_spec/app/spec/shared/enumerator/rewind.rb +32 -0
- data/spec/framework_spec/app/spec/shared/enumerator/with_index.rb +35 -0
- data/spec/framework_spec/app/spec/shared/enumerator/with_object.rb +19 -0
- data/spec/framework_spec/app/spec/shared/fiber/resume.rb +65 -0
- data/spec/framework_spec/app/spec/shared/file/blockdev.rb +7 -1
- data/spec/framework_spec/app/spec/shared/file/chardev.rb +7 -1
- data/spec/framework_spec/app/spec/shared/file/directory.rb +59 -21
- data/spec/framework_spec/app/spec/shared/file/executable.rb +10 -14
- data/spec/framework_spec/app/spec/shared/file/executable_real.rb +15 -9
- data/spec/framework_spec/app/spec/shared/file/exist.rb +9 -3
- data/spec/framework_spec/app/spec/shared/file/file.rb +12 -10
- data/spec/framework_spec/app/spec/shared/file/grpowned.rb +12 -6
- data/spec/framework_spec/app/spec/shared/file/identical.rb +21 -16
- data/spec/framework_spec/app/spec/shared/file/owned.rb +4 -0
- data/spec/framework_spec/app/spec/shared/file/pipe.rb +4 -0
- data/spec/framework_spec/app/spec/shared/file/readable.rb +16 -13
- data/spec/framework_spec/app/spec/shared/file/readable_real.rb +7 -1
- data/spec/framework_spec/app/spec/shared/file/size.rb +107 -15
- data/spec/framework_spec/app/spec/shared/file/socket.rb +4 -0
- data/spec/framework_spec/app/spec/shared/file/sticky.rb +30 -0
- data/spec/framework_spec/app/spec/shared/file/symlink.rb +20 -14
- data/spec/framework_spec/app/spec/shared/file/world_readable.rb +48 -0
- data/spec/framework_spec/app/spec/shared/file/world_writable.rb +48 -0
- data/spec/framework_spec/app/spec/shared/file/writable.rb +10 -7
- data/spec/framework_spec/app/spec/shared/file/writable_real.rb +7 -1
- data/spec/framework_spec/app/spec/shared/file/zero.rb +16 -17
- data/spec/framework_spec/app/spec/shared/io/putc.rb +57 -0
- data/spec/framework_spec/app/spec/shared/kernel/callcc.rb +68 -0
- data/spec/framework_spec/app/spec/shared/kernel/method_missing.rb +60 -0
- data/spec/framework_spec/app/spec/shared/kernel/singleton_method_added.rb +7 -0
- data/spec/framework_spec/app/spec/shared/kernel/singleton_method_removed.rb +7 -0
- data/spec/framework_spec/app/spec/shared/kernel/singleton_method_undefined.rb +7 -0
- data/spec/framework_spec/app/spec/shared/math/atanh.rb +142 -0
- data/spec/framework_spec/app/spec/shared/process/times.rb +8 -8
- data/spec/framework_spec/app/spec/shared/rational/Rational.rb +113 -0
- data/spec/framework_spec/app/spec/shared/rational/abs.rb +12 -0
- data/spec/framework_spec/app/spec/shared/rational/ceil.rb +41 -0
- data/spec/framework_spec/app/spec/shared/rational/coerce.rb +41 -0
- data/spec/framework_spec/app/spec/shared/rational/comparison.rb +86 -0
- data/spec/framework_spec/app/spec/shared/rational/denominator.rb +15 -0
- data/spec/framework_spec/app/spec/shared/rational/div.rb +81 -0
- data/spec/framework_spec/app/spec/shared/rational/divide.rb +72 -0
- data/spec/framework_spec/app/spec/shared/rational/divmod.rb +53 -0
- data/spec/framework_spec/app/spec/shared/rational/equal_value.rb +62 -0
- data/spec/framework_spec/app/spec/shared/rational/exponent.rb +144 -0
- data/spec/framework_spec/app/spec/shared/rational/fdiv.rb +5 -0
- data/spec/framework_spec/app/spec/shared/rational/floor.rb +5 -0
- data/spec/framework_spec/app/spec/shared/rational/hash.rb +10 -0
- data/spec/framework_spec/app/spec/shared/rational/initialize.rb +25 -0
- data/spec/framework_spec/app/spec/shared/rational/inspect.rb +24 -0
- data/spec/framework_spec/app/spec/shared/rational/marshal_dump.rb +5 -0
- data/spec/framework_spec/app/spec/shared/rational/marshal_load.rb +5 -0
- data/spec/framework_spec/app/spec/shared/rational/minus.rb +49 -0
- data/spec/framework_spec/app/spec/shared/rational/modulo.rb +52 -0
- data/spec/framework_spec/app/spec/shared/rational/multiply.rb +63 -0
- data/spec/framework_spec/app/spec/shared/rational/new.rb +21 -0
- data/spec/framework_spec/app/spec/shared/rational/numerator.rb +11 -0
- data/spec/framework_spec/app/spec/shared/rational/plus.rb +49 -0
- data/spec/framework_spec/app/spec/shared/rational/quo.rb +5 -0
- data/spec/framework_spec/app/spec/shared/rational/reduce.rb +31 -0
- data/spec/framework_spec/app/spec/shared/rational/remainder.rb +5 -0
- data/spec/framework_spec/app/spec/shared/rational/round.rb +5 -0
- data/spec/framework_spec/app/spec/shared/rational/to_f.rb +11 -0
- data/spec/framework_spec/app/spec/shared/rational/to_i.rb +15 -0
- data/spec/framework_spec/app/spec/shared/rational/to_r.rb +14 -0
- data/spec/framework_spec/app/spec/shared/rational/to_s.rb +24 -0
- data/spec/framework_spec/app/spec/shared/rational/truncate.rb +5 -0
- data/spec/framework_spec/app/spec/spec_helper.rb +1 -37
- data/spec/framework_spec/app/spec/version.rb +3 -0
- data/spec/framework_spec/app/spec_runner.rb +50 -80
- data/spec/framework_spec/build.yml +3 -4
- data/spec/framework_spec/rhoconfig.txt +4 -1
- data/spec/phone_spec/app/spec/contacts_spec.rb +8 -4
- data/spec/phone_spec/app/spec/date_spec.rb +17 -0
- data/spec/phone_spec/app/spec/rhom_object_spec.rb +11 -0
- data/spec/phone_spec/app/spec/syncengine_spec.rb +63 -1
- data/spec/phone_spec/app/spec/uri_spec.rb +2 -0
- data/spec/phone_spec/app/spec/xml_spec.rb +10 -3
- data/spec/phone_spec/app/spec_runner.rb +1 -1
- data/spec/phone_spec/build.yml +2 -2
- data/spec/phone_spec/rhoconfig.txt +1 -0
- metadata +1059 -91
- data/Manifest.txt +0 -6338
- data/doc/rhodes-api/alert-api.txt +0 -102
- data/lib/extensions/mspec/mspec/fileutils.rb +0 -1589
- data/lib/extensions/mspec/mspec/helpers/bignum.rb +0 -5
- data/lib/extensions/mspec/mspec/helpers/infinity.rb +0 -5
- data/lib/extensions/mspec/mspec/helpers/metaclass.rb +0 -7
- data/lib/extensions/mspec/mspec/helpers/nan.rb +0 -5
- data/platform/shared/ruby/blockinlining.c +0 -464
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0b2.min.css +0 -8
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0b2.min.js +0 -155
- data/res/generators/templates/application/public/jquery/jquery-1.6.2.min.js +0 -18
- data/spec/framework_spec/app/spec/core/basicobject/basic_object_class_spec.rb +0 -18
- data/spec/framework_spec/app/spec/core/basicobject/basic_object_spec.rb +0 -23
- data/spec/framework_spec/app/spec/core/basicobject/basic_object_subclass_spec.rb +0 -25
- data/spec/framework_spec/app/spec/core/basicobject/metaclass_spec.rb +0 -27
- data/spec/framework_spec/app/spec/core/basicobject/remove_method_missing.rb +0 -14
- data/spec/framework_spec/app/spec/core/basicobject/shared/behavior.rb +0 -16
- data/spec/framework_spec/app/spec/core/builtin_constants/builtin_constants.rb +0 -13
- data/spec/framework_spec/app/spec/core/continuation/continuation_spec.rb +0 -109
- data/spec/framework_spec/app/spec/core/dir/new_spec.rb +0 -2
- data/spec/framework_spec/app/spec/core/enumerable/each_spec.rb +0 -14
- data/spec/framework_spec/app/spec/core/fiber/alive_spec.rb +0 -54
- data/spec/framework_spec/app/spec/core/fiber/current_spec.rb +0 -63
- data/spec/framework_spec/app/spec/core/fiber/shared/resume.rb +0 -71
- data/spec/framework_spec/app/spec/core/fiber/transfer_spec.rb +0 -45
- data/spec/framework_spec/app/spec/core/io/data/data_spec.rb +0 -13
- data/spec/framework_spec/app/spec/core/io/data/fixtures/data1.rb +0 -3
- data/spec/framework_spec/app/spec/core/io/data/flock_spec.rb +0 -22
- data/spec/framework_spec/app/spec/core/io/fixtures/paragraphs.txt +0 -7
- data/spec/framework_spec/app/spec/core/io/fixtures/readlines.txt +0 -6
- data/spec/framework_spec/app/spec/core/kernel/__callee__spec.rb +0 -9
- data/spec/framework_spec/app/spec/core/kernel/__method__spec.rb +0 -9
- data/spec/framework_spec/app/spec/core/proc/fixtures/procs.rb +0 -5
- data/spec/framework_spec/app/spec/find_spec.rb +0 -56
- data/spec/framework_spec/app/spec/fixtures/load/load_spec +0 -1
- data/spec/framework_spec/app/spec/fixtures/load/load_spec.rooby +0 -1
- data/spec/framework_spec/app/spec/fixtures/load/load_spec_1.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/load/load_spec_10.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/load/load_spec_2.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/load/load_spec_3.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/load/load_spec_4.rb +0 -12
- data/spec/framework_spec/app/spec/fixtures/load/load_spec_5.rb +0 -2
- data/spec/framework_spec/app/spec/fixtures/load/load_spec_6.rb +0 -2
- data/spec/framework_spec/app/spec/fixtures/load/load_spec_7.rb +0 -2
- data/spec/framework_spec/app/spec/fixtures/load/load_spec_8.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/load/load_spec_9.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/load/load_spec_wrap.rb +0 -7
- data/spec/framework_spec/app/spec/fixtures/load/load_spec_wrap2.rb +0 -7
- data/spec/framework_spec/app/spec/fixtures/load/load_spec_wrap_2.rb +0 -7
- data/spec/framework_spec/app/spec/fixtures/matrix.rb +0 -5
- data/spec/framework_spec/app/spec/fixtures/require/masked_require_spec_2.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/require/masked_require_spec_3.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/require/require_spec +0 -1
- data/spec/framework_spec/app/spec/fixtures/require/require_spec.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/require/require_spec.rooby +0 -1
- data/spec/framework_spec/app/spec/fixtures/require/require_spec.rooby.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/require/require_spec_1.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/require/require_spec_10.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/require/require_spec_2.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/require/require_spec_3.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/require/require_spec_4.rb +0 -12
- data/spec/framework_spec/app/spec/fixtures/require/require_spec_6.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/require/require_spec_7.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/require/require_spec_8.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/require/require_spec_9.rb +0 -1
- data/spec/framework_spec/app/spec/fixtures/require/require_spec_raises.rb +0 -3
- data/spec/framework_spec/app/spec/fixtures/require/require_spec_recursive.rb +0 -2
- data/spec/framework_spec/app/spec/language/catch_spec.rb +0 -84
- data/spec/framework_spec/app/spec/language/eigenclass_spec.rb +0 -317
- data/spec/framework_spec/app/spec/language/else_spec.rb +0 -1
- data/spec/framework_spec/app/spec/language/method_spec.rb +0 -273
- data/spec/framework_spec/app/spec/language/versions/array_1.8.rb +0 -13
- data/spec/framework_spec/app/spec/language/versions/method_1.9.rb +0 -137
- data/spec/framework_spec/app/spec/language/versions/symbol_1.8.rb +0 -5
data/platform/shared/ruby/node.h
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
node.h -
|
4
4
|
|
5
|
-
$Author:
|
5
|
+
$Author: muraken $
|
6
6
|
created at: Fri May 28 15:14:02 JST 1993
|
7
7
|
|
8
8
|
Copyright (C) 1993-2007 Yukihiro Matsumoto
|
@@ -20,12 +20,6 @@ extern "C" {
|
|
20
20
|
#endif
|
21
21
|
|
22
22
|
enum node_type {
|
23
|
-
NODE_METHOD,
|
24
|
-
#define NODE_METHOD NODE_METHOD
|
25
|
-
NODE_FBODY,
|
26
|
-
#define NODE_FBODY NODE_FBODY
|
27
|
-
NODE_CFUNC,
|
28
|
-
#define NODE_CFUNC NODE_CFUNC
|
29
23
|
NODE_SCOPE,
|
30
24
|
#define NODE_SCOPE NODE_SCOPE
|
31
25
|
NODE_BLOCK,
|
@@ -202,8 +196,6 @@ enum node_type {
|
|
202
196
|
#define NODE_FLIP2 NODE_FLIP2
|
203
197
|
NODE_FLIP3,
|
204
198
|
#define NODE_FLIP3 NODE_FLIP3
|
205
|
-
NODE_ATTRSET,
|
206
|
-
#define NODE_ATTRSET NODE_ATTRSET
|
207
199
|
NODE_SELF,
|
208
200
|
#define NODE_SELF NODE_SELF
|
209
201
|
NODE_NIL,
|
@@ -260,7 +252,7 @@ typedef struct RNode {
|
|
260
252
|
struct RNode *node;
|
261
253
|
ID id;
|
262
254
|
long state;
|
263
|
-
struct
|
255
|
+
struct rb_global_entry *entry;
|
264
256
|
long cnt;
|
265
257
|
VALUE value;
|
266
258
|
} u3;
|
@@ -270,17 +262,18 @@ typedef struct RNode {
|
|
270
262
|
|
271
263
|
/* 0..4:T_TYPES, 5:FL_MARK, 6:reserved, 7:NODE_FL_NEWLINE */
|
272
264
|
#define NODE_FL_NEWLINE (((VALUE)1)<<7)
|
265
|
+
#define NODE_FL_CREF_PUSHED_BY_EVAL NODE_FL_NEWLINE
|
273
266
|
|
274
267
|
#define NODE_TYPESHIFT 8
|
275
268
|
#define NODE_TYPEMASK (((VALUE)0x7f)<<NODE_TYPESHIFT)
|
276
269
|
|
277
270
|
#define nd_type(n) ((int) (((RNODE(n))->flags & NODE_TYPEMASK)>>NODE_TYPESHIFT))
|
278
271
|
#define nd_set_type(n,t) \
|
279
|
-
RNODE(n)->flags=((RNODE(n)->flags&~NODE_TYPEMASK)|(((t)<<NODE_TYPESHIFT)&NODE_TYPEMASK))
|
272
|
+
RNODE(n)->flags=((RNODE(n)->flags&~NODE_TYPEMASK)|((((unsigned long)t)<<NODE_TYPESHIFT)&NODE_TYPEMASK))
|
280
273
|
|
281
274
|
#define NODE_LSHIFT (NODE_TYPESHIFT+7)
|
282
275
|
#define NODE_LMASK (((SIGNED_VALUE)1<<(sizeof(VALUE)*CHAR_BIT-NODE_LSHIFT))-1)
|
283
|
-
#define nd_line(n) (
|
276
|
+
#define nd_line(n) (int)(RNODE(n)->flags>>NODE_LSHIFT)
|
284
277
|
#define nd_set_line(n,l) \
|
285
278
|
RNODE(n)->flags=((RNODE(n)->flags&~(-1<<NODE_LSHIFT))|(((l)&NODE_LMASK)<<NODE_LSHIFT))
|
286
279
|
|
@@ -355,11 +348,8 @@ typedef struct RNode {
|
|
355
348
|
|
356
349
|
#define NEW_NODE(t,a0,a1,a2) rb_node_newnode((t),(VALUE)(a0),(VALUE)(a1),(VALUE)(a2))
|
357
350
|
|
358
|
-
#define NEW_METHOD(n,x,v) NEW_NODE(NODE_METHOD,x,n,v)
|
359
|
-
#define NEW_FBODY(n,i) NEW_NODE(NODE_FBODY,i,n,0)
|
360
351
|
#define NEW_DEFN(i,a,d,p) NEW_NODE(NODE_DEFN,0,i,NEW_SCOPE(a,d))
|
361
352
|
#define NEW_DEFS(r,i,a,d) NEW_NODE(NODE_DEFS,r,i,NEW_SCOPE(a,d))
|
362
|
-
#define NEW_CFUNC(f,c) NEW_NODE(NODE_CFUNC,f,c,0)
|
363
353
|
#define NEW_IFUNC(f,c) NEW_NODE(NODE_IFUNC,f,c,0)
|
364
354
|
#define NEW_SCOPE(a,b) NEW_NODE(NODE_SCOPE,local_tbl(),b,a)
|
365
355
|
#define NEW_BLOCK(a) NEW_NODE(NODE_BLOCK,a,0,0)
|
@@ -445,7 +435,6 @@ typedef struct RNode {
|
|
445
435
|
#define NEW_COLON3(i) NEW_NODE(NODE_COLON3,0,i,0)
|
446
436
|
#define NEW_DOT2(b,e) NEW_NODE(NODE_DOT2,b,e,0)
|
447
437
|
#define NEW_DOT3(b,e) NEW_NODE(NODE_DOT3,b,e,0)
|
448
|
-
#define NEW_ATTRSET(a) NEW_NODE(NODE_ATTRSET,a,0,0)
|
449
438
|
#define NEW_SELF() NEW_NODE(NODE_SELF,0,0,0)
|
450
439
|
#define NEW_NIL() NEW_NODE(NODE_NIL,0,0,0)
|
451
440
|
#define NEW_TRUE() NEW_NODE(NODE_TRUE,0,0,0)
|
@@ -459,30 +448,6 @@ typedef struct RNode {
|
|
459
448
|
#define NEW_PRELUDE(p,b) NEW_NODE(NODE_PRELUDE,p,b,0)
|
460
449
|
#define NEW_OPTBLOCK(a) NEW_NODE(NODE_OPTBLOCK,a,0,0)
|
461
450
|
|
462
|
-
#define NOEX_PUBLIC 0x00
|
463
|
-
#define NOEX_NOSUPER 0x01
|
464
|
-
#define NOEX_PRIVATE 0x02
|
465
|
-
#define NOEX_PROTECTED 0x04
|
466
|
-
#define NOEX_MASK 0x06 /* 0110 */
|
467
|
-
#define NOEX_BASIC 0x08
|
468
|
-
|
469
|
-
#define NOEX_UNDEF NOEX_NOSUPER
|
470
|
-
|
471
|
-
#define NOEX_MODFUNC 0x12
|
472
|
-
#define NOEX_SUPER 0x20
|
473
|
-
#define NOEX_VCALL 0x40
|
474
|
-
|
475
|
-
#define NOEX_SAFE(n) (((n) >> 8) & 0x0F)
|
476
|
-
#define NOEX_WITH(n, s) ((s << 8) | (n) | (ruby_running ? 0 : NOEX_BASIC))
|
477
|
-
#define NOEX_WITH_SAFE(n) NOEX_WITH(n, rb_safe_level())
|
478
|
-
|
479
|
-
#define CALL_PUBLIC 0
|
480
|
-
#define CALL_FCALL 1
|
481
|
-
#define CALL_VCALL 2
|
482
|
-
#define CALL_SUPER 3
|
483
|
-
|
484
|
-
#define RUBY_VM_METHOD_NODE NODE_METHOD
|
485
|
-
|
486
451
|
VALUE rb_parser_new(void);
|
487
452
|
VALUE rb_parser_end_seen_p(VALUE);
|
488
453
|
VALUE rb_parser_encoding(VALUE);
|
@@ -495,16 +460,18 @@ NODE *rb_compile_cstr(const char*, const char*, int, int);
|
|
495
460
|
NODE *rb_compile_string(const char*, VALUE, int);
|
496
461
|
NODE *rb_compile_file(const char*, VALUE, int);
|
497
462
|
|
498
|
-
void rb_add_method(VALUE, ID, NODE *, int);
|
499
463
|
NODE *rb_node_newnode(enum node_type,VALUE,VALUE,VALUE);
|
464
|
+
NODE *rb_node_newnode_longlife(enum node_type,VALUE,VALUE,VALUE);
|
500
465
|
|
501
|
-
|
502
|
-
|
466
|
+
struct rb_global_entry {
|
467
|
+
struct rb_global_variable *var;
|
468
|
+
ID id;
|
469
|
+
};
|
503
470
|
|
504
|
-
struct
|
505
|
-
VALUE rb_gvar_get(struct
|
506
|
-
VALUE rb_gvar_set(struct
|
507
|
-
VALUE rb_gvar_defined(struct
|
471
|
+
struct rb_global_entry *rb_global_entry(ID);
|
472
|
+
VALUE rb_gvar_get(struct rb_global_entry *);
|
473
|
+
VALUE rb_gvar_set(struct rb_global_entry *, VALUE);
|
474
|
+
VALUE rb_gvar_defined(struct rb_global_entry *);
|
508
475
|
|
509
476
|
#if defined(__cplusplus)
|
510
477
|
#if 0
|
@@ -11,6 +11,7 @@
|
|
11
11
|
|
12
12
|
#include "ruby/ruby.h"
|
13
13
|
#include "ruby/encoding.h"
|
14
|
+
#include "ruby/util.h"
|
14
15
|
#include <ctype.h>
|
15
16
|
#include <math.h>
|
16
17
|
#include <stdio.h>
|
@@ -22,6 +23,7 @@
|
|
22
23
|
#ifdef HAVE_FLOAT_H
|
23
24
|
#include <float.h>
|
24
25
|
#endif
|
26
|
+
|
25
27
|
//RHO
|
26
28
|
// LB (5/14/09): iPhone 3.0 OS redefines FLT_ROUNDS (through float.h above) and causes
|
27
29
|
// link error so we need to define it here.
|
@@ -69,6 +71,22 @@
|
|
69
71
|
#define DBL_EPSILON 2.2204460492503131e-16
|
70
72
|
#endif
|
71
73
|
|
74
|
+
#ifdef HAVE_INFINITY
|
75
|
+
#elif BYTE_ORDER == LITTLE_ENDIAN
|
76
|
+
const unsigned char rb_infinity[] = "\x00\x00\x80\x7f";
|
77
|
+
#else
|
78
|
+
const unsigned char rb_infinity[] = "\x7f\x80\x00\x00";
|
79
|
+
#endif
|
80
|
+
|
81
|
+
#ifdef HAVE_NAN
|
82
|
+
#elif BYTE_ORDER == LITTLE_ENDIAN
|
83
|
+
const unsigned char rb_nan[] = "\x00\x00\xc0\x7f";
|
84
|
+
#else
|
85
|
+
const unsigned char rb_nan[] = "\x7f\xc0\x00\x00";
|
86
|
+
#endif
|
87
|
+
|
88
|
+
extern double round(double);
|
89
|
+
|
72
90
|
#ifndef HAVE_ROUND
|
73
91
|
double
|
74
92
|
round(double x)
|
@@ -85,11 +103,12 @@ round(double x)
|
|
85
103
|
}
|
86
104
|
return x;
|
87
105
|
}
|
88
|
-
#elif defined(__BEOS__)
|
89
|
-
/* appears to be a bug in the BeOS headers */
|
90
|
-
double round(double x);
|
91
106
|
#endif
|
92
107
|
|
108
|
+
static VALUE fix_uminus(VALUE num);
|
109
|
+
static VALUE fix_mul(VALUE x, VALUE y);
|
110
|
+
static VALUE int_pow(long x, unsigned long y);
|
111
|
+
|
93
112
|
static ID id_coerce, id_to_i, id_eq;
|
94
113
|
|
95
114
|
VALUE rb_cNumeric;
|
@@ -109,7 +128,7 @@ rb_num_zerodiv(void)
|
|
109
128
|
|
110
129
|
/*
|
111
130
|
* call-seq:
|
112
|
-
* num.coerce(numeric)
|
131
|
+
* num.coerce(numeric) -> array
|
113
132
|
*
|
114
133
|
* If <i>aNumeric</i> is the same type as <i>num</i>, returns an array
|
115
134
|
* containing <i>aNumeric</i> and <i>num</i>. Otherwise, returns an
|
@@ -165,25 +184,25 @@ do_coerce(VALUE *x, VALUE *y, int err)
|
|
165
184
|
if (err) {
|
166
185
|
rb_raise(rb_eTypeError, "coerce must return [x, y]");
|
167
186
|
}
|
168
|
-
return
|
187
|
+
return FALSE;
|
169
188
|
}
|
170
189
|
|
171
190
|
*x = RARRAY_PTR(ary)[0];
|
172
191
|
*y = RARRAY_PTR(ary)[1];
|
173
|
-
return
|
192
|
+
return TRUE;
|
174
193
|
}
|
175
194
|
|
176
195
|
VALUE
|
177
196
|
rb_num_coerce_bin(VALUE x, VALUE y, ID func)
|
178
197
|
{
|
179
|
-
do_coerce(&x, &y,
|
198
|
+
do_coerce(&x, &y, TRUE);
|
180
199
|
return rb_funcall(x, func, 1, y);
|
181
200
|
}
|
182
201
|
|
183
202
|
VALUE
|
184
203
|
rb_num_coerce_cmp(VALUE x, VALUE y, ID func)
|
185
204
|
{
|
186
|
-
if (do_coerce(&x, &y,
|
205
|
+
if (do_coerce(&x, &y, FALSE))
|
187
206
|
return rb_funcall(x, func, 1, y);
|
188
207
|
return Qnil;
|
189
208
|
}
|
@@ -193,7 +212,7 @@ rb_num_coerce_relop(VALUE x, VALUE y, ID func)
|
|
193
212
|
{
|
194
213
|
VALUE c, x0 = x, y0 = y;
|
195
214
|
|
196
|
-
if (!do_coerce(&x, &y,
|
215
|
+
if (!do_coerce(&x, &y, FALSE) ||
|
197
216
|
NIL_P(c = rb_funcall(x, func, 1, y))) {
|
198
217
|
rb_cmperr(x0, y0);
|
199
218
|
return Qnil; /* not reached */
|
@@ -209,13 +228,13 @@ rb_num_coerce_relop(VALUE x, VALUE y, ID func)
|
|
209
228
|
static VALUE
|
210
229
|
num_sadded(VALUE x, VALUE name)
|
211
230
|
{
|
212
|
-
|
231
|
+
ID mid = rb_to_id(name);
|
213
232
|
/* ruby_frame = ruby_frame->prev; */ /* pop frame for "singleton_method_added" */
|
214
233
|
/* Numerics should be values; singleton_methods should not be added to them */
|
215
|
-
|
234
|
+
rb_remove_method_id(rb_singleton_class(x), mid);
|
216
235
|
rb_raise(rb_eTypeError,
|
217
236
|
"can't define singleton method \"%s\" for %s",
|
218
|
-
|
237
|
+
rb_id2name(mid),
|
219
238
|
rb_obj_classname(x));
|
220
239
|
return Qnil; /* not reached */
|
221
240
|
}
|
@@ -231,7 +250,7 @@ num_init_copy(VALUE x, VALUE y)
|
|
231
250
|
|
232
251
|
/*
|
233
252
|
* call-seq:
|
234
|
-
* +num
|
253
|
+
* +num -> num
|
235
254
|
*
|
236
255
|
* Unary Plus---Returns the receiver's value.
|
237
256
|
*/
|
@@ -244,7 +263,22 @@ num_uplus(VALUE num)
|
|
244
263
|
|
245
264
|
/*
|
246
265
|
* call-seq:
|
247
|
-
*
|
266
|
+
* num.i -> Complex(0,num)
|
267
|
+
*
|
268
|
+
* Returns the corresponding imaginary number.
|
269
|
+
* Not available for complex numbers.
|
270
|
+
*/
|
271
|
+
|
272
|
+
static VALUE
|
273
|
+
num_imaginary(VALUE num)
|
274
|
+
{
|
275
|
+
return rb_complex_new(INT2FIX(0), num);
|
276
|
+
}
|
277
|
+
|
278
|
+
|
279
|
+
/*
|
280
|
+
* call-seq:
|
281
|
+
* -num -> numeric
|
248
282
|
*
|
249
283
|
* Unary Minus---Returns the receiver's value, negated.
|
250
284
|
*/
|
@@ -255,14 +289,14 @@ num_uminus(VALUE num)
|
|
255
289
|
VALUE zero;
|
256
290
|
|
257
291
|
zero = INT2FIX(0);
|
258
|
-
do_coerce(&zero, &num,
|
292
|
+
do_coerce(&zero, &num, TRUE);
|
259
293
|
|
260
294
|
return rb_funcall(zero, '-', 1, num);
|
261
295
|
}
|
262
296
|
|
263
297
|
/*
|
264
298
|
* call-seq:
|
265
|
-
* num.quo(numeric)
|
299
|
+
* num.quo(numeric) -> real
|
266
300
|
*
|
267
301
|
* Returns most exact division (rational for integers, float for floats).
|
268
302
|
*/
|
@@ -276,7 +310,7 @@ num_quo(VALUE x, VALUE y)
|
|
276
310
|
|
277
311
|
/*
|
278
312
|
* call-seq:
|
279
|
-
* num.fdiv(numeric)
|
313
|
+
* num.fdiv(numeric) -> float
|
280
314
|
*
|
281
315
|
* Returns float division.
|
282
316
|
*/
|
@@ -288,35 +322,82 @@ num_fdiv(VALUE x, VALUE y)
|
|
288
322
|
}
|
289
323
|
|
290
324
|
|
291
|
-
static VALUE num_floor(VALUE num);
|
292
|
-
|
293
325
|
/*
|
294
326
|
* call-seq:
|
295
|
-
* num.div(numeric)
|
327
|
+
* num.div(numeric) -> integer
|
296
328
|
*
|
297
329
|
* Uses <code>/</code> to perform division, then converts the result to
|
298
|
-
* an integer. <code>
|
330
|
+
* an integer. <code>numeric</code> does not define the <code>/</code>
|
299
331
|
* operator; this is left to subclasses.
|
332
|
+
*
|
333
|
+
* Equivalent to
|
334
|
+
* <i>num</i>.<code>divmod(</code><i>aNumeric</i><code>)[0]</code>.
|
335
|
+
*
|
336
|
+
* See <code>Numeric#divmod</code>.
|
300
337
|
*/
|
301
338
|
|
302
339
|
static VALUE
|
303
340
|
num_div(VALUE x, VALUE y)
|
304
341
|
{
|
305
342
|
if (rb_equal(INT2FIX(0), y)) rb_num_zerodiv();
|
306
|
-
return
|
343
|
+
return rb_funcall(rb_funcall(x, '/', 1, y), rb_intern("floor"), 0);
|
344
|
+
}
|
345
|
+
|
346
|
+
|
347
|
+
/*
|
348
|
+
* call-seq:
|
349
|
+
* num.modulo(numeric) -> real
|
350
|
+
*
|
351
|
+
* x.modulo(y) means x-y*(x/y).floor
|
352
|
+
*
|
353
|
+
* Equivalent to
|
354
|
+
* <i>num</i>.<code>divmod(</code><i>aNumeric</i><code>)[1]</code>.
|
355
|
+
*
|
356
|
+
* See <code>Numeric#divmod</code>.
|
357
|
+
*/
|
358
|
+
|
359
|
+
static VALUE
|
360
|
+
num_modulo(VALUE x, VALUE y)
|
361
|
+
{
|
362
|
+
return rb_funcall(x, '-', 1,
|
363
|
+
rb_funcall(y, '*', 1,
|
364
|
+
rb_funcall(x, rb_intern("div"), 1, y)));
|
307
365
|
}
|
308
366
|
|
367
|
+
/*
|
368
|
+
* call-seq:
|
369
|
+
* num.remainder(numeric) -> real
|
370
|
+
*
|
371
|
+
* x.remainder(y) means x-y*(x/y).truncate
|
372
|
+
*
|
373
|
+
* See <code>Numeric#divmod</code>.
|
374
|
+
*/
|
375
|
+
|
376
|
+
static VALUE
|
377
|
+
num_remainder(VALUE x, VALUE y)
|
378
|
+
{
|
379
|
+
VALUE z = rb_funcall(x, '%', 1, y);
|
380
|
+
|
381
|
+
if ((!rb_equal(z, INT2FIX(0))) &&
|
382
|
+
((RTEST(rb_funcall(x, '<', 1, INT2FIX(0))) &&
|
383
|
+
RTEST(rb_funcall(y, '>', 1, INT2FIX(0)))) ||
|
384
|
+
(RTEST(rb_funcall(x, '>', 1, INT2FIX(0))) &&
|
385
|
+
RTEST(rb_funcall(y, '<', 1, INT2FIX(0)))))) {
|
386
|
+
return rb_funcall(z, '-', 1, y);
|
387
|
+
}
|
388
|
+
return z;
|
389
|
+
}
|
309
390
|
|
310
391
|
/*
|
311
392
|
* call-seq:
|
312
|
-
* num.divmod(
|
393
|
+
* num.divmod(numeric) -> array
|
313
394
|
*
|
314
395
|
* Returns an array containing the quotient and modulus obtained by
|
315
|
-
* dividing <i>num</i> by <i>
|
396
|
+
* dividing <i>num</i> by <i>numeric</i>. If <code>q, r =
|
316
397
|
* x.divmod(y)</code>, then
|
317
398
|
*
|
318
|
-
* q = floor(
|
319
|
-
* x = q*y
|
399
|
+
* q = floor(x/y)
|
400
|
+
* x = q*y+r
|
320
401
|
*
|
321
402
|
* The quotient is rounded toward -infinity, as shown in the following table:
|
322
403
|
*
|
@@ -324,7 +405,7 @@ num_div(VALUE x, VALUE y)
|
|
324
405
|
* ------+-----+---------------+---------+-------------+---------------
|
325
406
|
* 13 | 4 | 3, 1 | 3 | 1 | 1
|
326
407
|
* ------+-----+---------------+---------+-------------+---------------
|
327
|
-
* 13 | -4 | -4, -3 | -
|
408
|
+
* 13 | -4 | -4, -3 | -4 | -3 | 1
|
328
409
|
* ------+-----+---------------+---------+-------------+---------------
|
329
410
|
* -13 | 4 | -4, 3 | -4 | 3 | -1
|
330
411
|
* ------+-----+---------------+---------+-------------+---------------
|
@@ -351,53 +432,12 @@ num_div(VALUE x, VALUE y)
|
|
351
432
|
static VALUE
|
352
433
|
num_divmod(VALUE x, VALUE y)
|
353
434
|
{
|
354
|
-
return rb_assoc_new(num_div(x, y),
|
355
|
-
}
|
356
|
-
|
357
|
-
/*
|
358
|
-
* call-seq:
|
359
|
-
* num.modulo(numeric) => result
|
360
|
-
*
|
361
|
-
* Equivalent to
|
362
|
-
* <i>num</i>.<code>divmod(</code><i>aNumeric</i><code>)[1]</code>.
|
363
|
-
*/
|
364
|
-
|
365
|
-
static VALUE
|
366
|
-
num_modulo(VALUE x, VALUE y)
|
367
|
-
{
|
368
|
-
return rb_funcall(x, '%', 1, y);
|
369
|
-
}
|
370
|
-
|
371
|
-
/*
|
372
|
-
* call-seq:
|
373
|
-
* num.remainder(numeric) => result
|
374
|
-
*
|
375
|
-
* If <i>num</i> and <i>numeric</i> have different signs, returns
|
376
|
-
* <em>mod</em>-<i>numeric</i>; otherwise, returns <em>mod</em>. In
|
377
|
-
* both cases <em>mod</em> is the value
|
378
|
-
* <i>num</i>.<code>modulo(</code><i>numeric</i><code>)</code>. The
|
379
|
-
* differences between <code>remainder</code> and modulo
|
380
|
-
* (<code>%</code>) are shown in the table under <code>Numeric#divmod</code>.
|
381
|
-
*/
|
382
|
-
|
383
|
-
static VALUE
|
384
|
-
num_remainder(VALUE x, VALUE y)
|
385
|
-
{
|
386
|
-
VALUE z = rb_funcall(x, '%', 1, y);
|
387
|
-
|
388
|
-
if ((!rb_equal(z, INT2FIX(0))) &&
|
389
|
-
((RTEST(rb_funcall(x, '<', 1, INT2FIX(0))) &&
|
390
|
-
RTEST(rb_funcall(y, '>', 1, INT2FIX(0)))) ||
|
391
|
-
(RTEST(rb_funcall(x, '>', 1, INT2FIX(0))) &&
|
392
|
-
RTEST(rb_funcall(y, '<', 1, INT2FIX(0)))))) {
|
393
|
-
return rb_funcall(z, '-', 1, y);
|
394
|
-
}
|
395
|
-
return z;
|
435
|
+
return rb_assoc_new(num_div(x, y), num_modulo(x, y));
|
396
436
|
}
|
397
437
|
|
398
438
|
/*
|
399
439
|
* call-seq:
|
400
|
-
* num.real?
|
440
|
+
* num.real? -> true or false
|
401
441
|
*
|
402
442
|
* Returns <code>true</code> if <i>num</i> is a <code>Real</code>
|
403
443
|
* (i.e. non <code>Complex</code>).
|
@@ -411,7 +451,7 @@ num_real_p(VALUE num)
|
|
411
451
|
|
412
452
|
/*
|
413
453
|
* call-seq:
|
414
|
-
* num.integer?
|
454
|
+
* num.integer? -> true or false
|
415
455
|
*
|
416
456
|
* Returns <code>true</code> if <i>num</i> is an <code>Integer</code>
|
417
457
|
* (including <code>Fixnum</code> and <code>Bignum</code>).
|
@@ -425,7 +465,8 @@ num_int_p(VALUE num)
|
|
425
465
|
|
426
466
|
/*
|
427
467
|
* call-seq:
|
428
|
-
* num.abs
|
468
|
+
* num.abs -> numeric
|
469
|
+
* num.magnitude -> numeric
|
429
470
|
*
|
430
471
|
* Returns the absolute value of <i>num</i>.
|
431
472
|
*
|
@@ -446,7 +487,7 @@ num_abs(VALUE num)
|
|
446
487
|
|
447
488
|
/*
|
448
489
|
* call-seq:
|
449
|
-
* num.zero?
|
490
|
+
* num.zero? -> true or false
|
450
491
|
*
|
451
492
|
* Returns <code>true</code> if <i>num</i> has a zero value.
|
452
493
|
*/
|
@@ -463,9 +504,9 @@ num_zero_p(VALUE num)
|
|
463
504
|
|
464
505
|
/*
|
465
506
|
* call-seq:
|
466
|
-
* num.nonzero?
|
507
|
+
* num.nonzero? -> self or nil
|
467
508
|
*
|
468
|
-
* Returns
|
509
|
+
* Returns +self+ if <i>num</i> is not zero, <code>nil</code>
|
469
510
|
* otherwise. This behavior is useful when chaining comparisons:
|
470
511
|
*
|
471
512
|
* a = %w( z Bb bB bb BB a aA Aa AA A )
|
@@ -484,7 +525,7 @@ num_nonzero_p(VALUE num)
|
|
484
525
|
|
485
526
|
/*
|
486
527
|
* call-seq:
|
487
|
-
* num.to_int
|
528
|
+
* num.to_int -> integer
|
488
529
|
*
|
489
530
|
* Invokes the child class's <code>to_i</code> method to convert
|
490
531
|
* <i>num</i> to an integer.
|
@@ -501,8 +542,9 @@ num_to_int(VALUE num)
|
|
501
542
|
*
|
502
543
|
* Document-class: Float
|
503
544
|
*
|
504
|
-
* <code>Float</code> objects represent real numbers using
|
505
|
-
* architecture's double-precision floating point
|
545
|
+
* <code>Float</code> objects represent inexact real numbers using
|
546
|
+
* the native architecture's double-precision floating point
|
547
|
+
* representation.
|
506
548
|
*/
|
507
549
|
|
508
550
|
VALUE
|
@@ -517,7 +559,7 @@ rb_float_new(double d)
|
|
517
559
|
|
518
560
|
/*
|
519
561
|
* call-seq:
|
520
|
-
* flt.to_s
|
562
|
+
* flt.to_s -> string
|
521
563
|
*
|
522
564
|
* Returns a string containing a representation of self. As well as a
|
523
565
|
* fixed or exponential form of the number, the call may return
|
@@ -528,30 +570,70 @@ rb_float_new(double d)
|
|
528
570
|
static VALUE
|
529
571
|
flo_to_s(VALUE flt)
|
530
572
|
{
|
531
|
-
char
|
573
|
+
char *ruby_dtoa(double d_, int mode, int ndigits, int *decpt, int *sign, char **rve);
|
574
|
+
enum {decimal_mant = DBL_MANT_DIG-DBL_DIG};
|
575
|
+
enum {float_dig = DBL_DIG+1};
|
576
|
+
char buf[float_dig + (decimal_mant + CHAR_BIT - 1) / CHAR_BIT + 10];
|
532
577
|
double value = RFLOAT_VALUE(flt);
|
578
|
+
VALUE s;
|
533
579
|
char *p, *e;
|
580
|
+
int sign, decpt, digs;
|
534
581
|
|
535
582
|
if (isinf(value))
|
536
583
|
return rb_usascii_str_new2(value < 0 ? "-Infinity" : "Infinity");
|
537
|
-
else if(isnan(value))
|
584
|
+
else if (isnan(value))
|
538
585
|
return rb_usascii_str_new2("NaN");
|
539
586
|
|
540
|
-
|
541
|
-
|
542
|
-
|
587
|
+
p = ruby_dtoa(value, 0, 0, &decpt, &sign, &e);
|
588
|
+
s = sign ? rb_usascii_str_new_cstr("-") : rb_usascii_str_new(0, 0);
|
589
|
+
if ((digs = (int)(e - p)) >= (int)sizeof(buf)) digs = (int)sizeof(buf) - 1;
|
590
|
+
memcpy(buf, p, digs);
|
591
|
+
xfree(p);
|
592
|
+
if (decpt > 0) {
|
593
|
+
if (decpt < digs) {
|
594
|
+
memmove(buf + decpt + 1, buf + decpt, digs - decpt);
|
595
|
+
buf[decpt] = '.';
|
596
|
+
rb_str_cat(s, buf, digs + 1);
|
597
|
+
}
|
598
|
+
else if (decpt - digs < float_dig) {
|
599
|
+
long len;
|
600
|
+
char *ptr;
|
601
|
+
rb_str_cat(s, buf, digs);
|
602
|
+
rb_str_resize(s, (len = RSTRING_LEN(s)) + decpt - digs + 2);
|
603
|
+
ptr = RSTRING_PTR(s) + len;
|
604
|
+
if (decpt > digs) {
|
605
|
+
memset(ptr, '0', decpt - digs);
|
606
|
+
ptr += decpt - digs;
|
607
|
+
}
|
608
|
+
memcpy(ptr, ".0", 2);
|
609
|
+
}
|
610
|
+
else {
|
611
|
+
goto exp;
|
612
|
+
}
|
543
613
|
}
|
544
|
-
if (
|
545
|
-
|
546
|
-
|
547
|
-
|
614
|
+
else if (decpt > -4) {
|
615
|
+
long len;
|
616
|
+
char *ptr;
|
617
|
+
rb_str_cat(s, "0.", 2);
|
618
|
+
rb_str_resize(s, (len = RSTRING_LEN(s)) - decpt + digs);
|
619
|
+
ptr = RSTRING_PTR(s);
|
620
|
+
memset(ptr += len, '0', -decpt);
|
621
|
+
memcpy(ptr -= decpt, buf, digs);
|
622
|
+
}
|
623
|
+
else {
|
624
|
+
exp:
|
625
|
+
if (digs > 1) {
|
626
|
+
memmove(buf + 2, buf + 1, digs - 1);
|
548
627
|
}
|
628
|
+
else {
|
629
|
+
buf[2] = '0';
|
630
|
+
digs++;
|
631
|
+
}
|
632
|
+
buf[1] = '.';
|
633
|
+
rb_str_cat(s, buf, digs + 1);
|
634
|
+
rb_str_catf(s, "e%+03d", decpt - 1);
|
549
635
|
}
|
550
|
-
|
551
|
-
while (p[-1]=='0' && ISDIGIT(p[-2]))
|
552
|
-
p--;
|
553
|
-
memmove(p, e, strlen(e)+1);
|
554
|
-
return rb_usascii_str_new2(buf);
|
636
|
+
return s;
|
555
637
|
}
|
556
638
|
|
557
639
|
/*
|
@@ -566,7 +648,7 @@ flo_coerce(VALUE x, VALUE y)
|
|
566
648
|
|
567
649
|
/*
|
568
650
|
* call-seq:
|
569
|
-
* -float
|
651
|
+
* -float -> float
|
570
652
|
*
|
571
653
|
* Returns float, negated.
|
572
654
|
*/
|
@@ -579,7 +661,7 @@ flo_uminus(VALUE flt)
|
|
579
661
|
|
580
662
|
/*
|
581
663
|
* call-seq:
|
582
|
-
* float + other
|
664
|
+
* float + other -> float
|
583
665
|
*
|
584
666
|
* Returns a new float which is the sum of <code>float</code>
|
585
667
|
* and <code>other</code>.
|
@@ -602,7 +684,7 @@ flo_plus(VALUE x, VALUE y)
|
|
602
684
|
|
603
685
|
/*
|
604
686
|
* call-seq:
|
605
|
-
* float
|
687
|
+
* float - other -> float
|
606
688
|
*
|
607
689
|
* Returns a new float which is the difference of <code>float</code>
|
608
690
|
* and <code>other</code>.
|
@@ -625,7 +707,7 @@ flo_minus(VALUE x, VALUE y)
|
|
625
707
|
|
626
708
|
/*
|
627
709
|
* call-seq:
|
628
|
-
* float * other
|
710
|
+
* float * other -> float
|
629
711
|
*
|
630
712
|
* Returns a new float which is the product of <code>float</code>
|
631
713
|
* and <code>other</code>.
|
@@ -648,7 +730,7 @@ flo_mul(VALUE x, VALUE y)
|
|
648
730
|
|
649
731
|
/*
|
650
732
|
* call-seq:
|
651
|
-
* float / other
|
733
|
+
* float / other -> float
|
652
734
|
*
|
653
735
|
* Returns a new float which is the result of dividing
|
654
736
|
* <code>float</code> by <code>other</code>.
|
@@ -674,6 +756,13 @@ flo_div(VALUE x, VALUE y)
|
|
674
756
|
}
|
675
757
|
}
|
676
758
|
|
759
|
+
/*
|
760
|
+
* call-seq:
|
761
|
+
* float.quo(numeric) -> float
|
762
|
+
*
|
763
|
+
* Returns float / numeric.
|
764
|
+
*/
|
765
|
+
|
677
766
|
static VALUE
|
678
767
|
flo_quo(VALUE x, VALUE y)
|
679
768
|
{
|
@@ -685,6 +774,7 @@ flodivmod(double x, double y, double *divp, double *modp)
|
|
685
774
|
{
|
686
775
|
double div, mod;
|
687
776
|
|
777
|
+
if (y == 0.0) rb_num_zerodiv();
|
688
778
|
#ifdef HAVE_FMOD
|
689
779
|
mod = fmod(x, y);
|
690
780
|
#else
|
@@ -710,8 +800,8 @@ flodivmod(double x, double y, double *divp, double *modp)
|
|
710
800
|
|
711
801
|
/*
|
712
802
|
* call-seq:
|
713
|
-
* flt % other
|
714
|
-
* flt.modulo(other)
|
803
|
+
* flt % other -> float
|
804
|
+
* flt.modulo(other) -> float
|
715
805
|
*
|
716
806
|
* Return the modulo after division of <code>flt</code> by <code>other</code>.
|
717
807
|
*
|
@@ -748,18 +838,12 @@ dbl2ival(double d)
|
|
748
838
|
d = round(d);
|
749
839
|
return LONG2FIX((long)d);
|
750
840
|
}
|
751
|
-
|
752
|
-
/* special case: cannot return integer value */
|
753
|
-
return rb_float_new(d);
|
754
|
-
}
|
755
|
-
else {
|
756
|
-
return rb_dbl2big(d);
|
757
|
-
}
|
841
|
+
return rb_dbl2big(d);
|
758
842
|
}
|
759
843
|
|
760
844
|
/*
|
761
845
|
* call-seq:
|
762
|
-
* flt.divmod(numeric)
|
846
|
+
* flt.divmod(numeric) -> array
|
763
847
|
*
|
764
848
|
* See <code>Numeric#divmod</code>.
|
765
849
|
*/
|
@@ -792,9 +876,11 @@ flo_divmod(VALUE x, VALUE y)
|
|
792
876
|
/*
|
793
877
|
* call-seq:
|
794
878
|
*
|
795
|
-
* flt ** other
|
879
|
+
* flt ** other -> float
|
796
880
|
*
|
797
881
|
* Raises <code>float</code> the <code>other</code> power.
|
882
|
+
*
|
883
|
+
* 2.0**3 #=> 8.0
|
798
884
|
*/
|
799
885
|
|
800
886
|
static VALUE
|
@@ -806,7 +892,13 @@ flo_pow(VALUE x, VALUE y)
|
|
806
892
|
case T_BIGNUM:
|
807
893
|
return DBL2NUM(pow(RFLOAT_VALUE(x), rb_big2dbl(y)));
|
808
894
|
case T_FLOAT:
|
809
|
-
|
895
|
+
{
|
896
|
+
double dx = RFLOAT_VALUE(x);
|
897
|
+
double dy = RFLOAT_VALUE(y);
|
898
|
+
if (dx < 0 && dy != round(dy))
|
899
|
+
return rb_funcall(rb_complex_raw1(x), rb_intern("**"), 1, y);
|
900
|
+
return DBL2NUM(pow(dx, dy));
|
901
|
+
}
|
810
902
|
default:
|
811
903
|
return rb_num_coerce_bin(x, y, rb_intern("**"));
|
812
904
|
}
|
@@ -814,7 +906,7 @@ flo_pow(VALUE x, VALUE y)
|
|
814
906
|
|
815
907
|
/*
|
816
908
|
* call-seq:
|
817
|
-
* num.eql?(numeric)
|
909
|
+
* num.eql?(numeric) -> true or false
|
818
910
|
*
|
819
911
|
* Returns <code>true</code> if <i>num</i> and <i>numeric</i> are the
|
820
912
|
* same type and have equal values.
|
@@ -834,7 +926,7 @@ num_eql(VALUE x, VALUE y)
|
|
834
926
|
|
835
927
|
/*
|
836
928
|
* call-seq:
|
837
|
-
* num <=> other
|
929
|
+
* num <=> other -> 0 or nil
|
838
930
|
*
|
839
931
|
* Returns zero if <i>num</i> equals <i>other</i>, <code>nil</code>
|
840
932
|
* otherwise.
|
@@ -856,7 +948,7 @@ num_equal(VALUE x, VALUE y)
|
|
856
948
|
|
857
949
|
/*
|
858
950
|
* call-seq:
|
859
|
-
* flt == obj
|
951
|
+
* flt == obj -> true or false
|
860
952
|
*
|
861
953
|
* Returns <code>true</code> only if <i>obj</i> has the same value
|
862
954
|
* as <i>flt</i>. Contrast this with <code>Float#eql?</code>, which
|
@@ -873,26 +965,30 @@ flo_eq(VALUE x, VALUE y)
|
|
873
965
|
|
874
966
|
switch (TYPE(y)) {
|
875
967
|
case T_FIXNUM:
|
876
|
-
b = FIX2LONG(y);
|
968
|
+
b = (double)FIX2LONG(y);
|
877
969
|
break;
|
878
970
|
case T_BIGNUM:
|
879
971
|
b = rb_big2dbl(y);
|
880
972
|
break;
|
881
973
|
case T_FLOAT:
|
882
974
|
b = RFLOAT_VALUE(y);
|
975
|
+
#if defined(_MSC_VER) && _MSC_VER < 1300
|
883
976
|
if (isnan(b)) return Qfalse;
|
977
|
+
#endif
|
884
978
|
break;
|
885
979
|
default:
|
886
980
|
return num_equal(x, y);
|
887
981
|
}
|
888
982
|
a = RFLOAT_VALUE(x);
|
983
|
+
#if defined(_MSC_VER) && _MSC_VER < 1300
|
889
984
|
if (isnan(a)) return Qfalse;
|
985
|
+
#endif
|
890
986
|
return (a == b)?Qtrue:Qfalse;
|
891
987
|
}
|
892
988
|
|
893
989
|
/*
|
894
990
|
* call-seq:
|
895
|
-
* flt.hash
|
991
|
+
* flt.hash -> integer
|
896
992
|
*
|
897
993
|
* Returns a hash code for this float.
|
898
994
|
*/
|
@@ -901,11 +997,13 @@ static VALUE
|
|
901
997
|
flo_hash(VALUE num)
|
902
998
|
{
|
903
999
|
double d;
|
904
|
-
|
1000
|
+
st_index_t hash;
|
905
1001
|
|
906
1002
|
d = RFLOAT_VALUE(num);
|
1003
|
+
/* normalize -0.0 to 0.0 */
|
1004
|
+
if (d == 0.0) d = 0.0;
|
907
1005
|
hash = rb_memhash(&d, sizeof(d));
|
908
|
-
return
|
1006
|
+
return LONG2FIX(hash);
|
909
1007
|
}
|
910
1008
|
|
911
1009
|
VALUE
|
@@ -920,11 +1018,11 @@ rb_dbl_cmp(double a, double b)
|
|
920
1018
|
|
921
1019
|
/*
|
922
1020
|
* call-seq:
|
923
|
-
* flt <=>
|
1021
|
+
* flt <=> real -> -1, 0, +1 or nil
|
924
1022
|
*
|
925
|
-
* Returns -1, 0,
|
926
|
-
* equal to, or greater than <i>
|
927
|
-
* tests in <code>Comparable</code>.
|
1023
|
+
* Returns -1, 0, +1 or nil depending on whether <i>flt</i> is less
|
1024
|
+
* than, equal to, or greater than <i>real</i>. This is the basis for
|
1025
|
+
* the tests in <code>Comparable</code>.
|
928
1026
|
*/
|
929
1027
|
|
930
1028
|
static VALUE
|
@@ -933,12 +1031,17 @@ flo_cmp(VALUE x, VALUE y)
|
|
933
1031
|
double a, b;
|
934
1032
|
|
935
1033
|
a = RFLOAT_VALUE(x);
|
1034
|
+
if (isnan(a)) return Qnil;
|
936
1035
|
switch (TYPE(y)) {
|
937
1036
|
case T_FIXNUM:
|
938
1037
|
b = (double)FIX2LONG(y);
|
939
1038
|
break;
|
940
1039
|
|
941
1040
|
case T_BIGNUM:
|
1041
|
+
if (isinf(a)) {
|
1042
|
+
if (a > 0.0) return INT2FIX(1);
|
1043
|
+
else return INT2FIX(-1);
|
1044
|
+
}
|
942
1045
|
b = rb_big2dbl(y);
|
943
1046
|
break;
|
944
1047
|
|
@@ -947,6 +1050,11 @@ flo_cmp(VALUE x, VALUE y)
|
|
947
1050
|
break;
|
948
1051
|
|
949
1052
|
default:
|
1053
|
+
if (isinf(a) && (!rb_respond_to(y, rb_intern("infinite?")) ||
|
1054
|
+
!RTEST(rb_funcall(y, rb_intern("infinite?"), 0, 0)))) {
|
1055
|
+
if (a > 0.0) return INT2FIX(1);
|
1056
|
+
return INT2FIX(-1);
|
1057
|
+
}
|
950
1058
|
return rb_num_coerce_cmp(x, y, rb_intern("<=>"));
|
951
1059
|
}
|
952
1060
|
return rb_dbl_cmp(a, b);
|
@@ -954,9 +1062,9 @@ flo_cmp(VALUE x, VALUE y)
|
|
954
1062
|
|
955
1063
|
/*
|
956
1064
|
* call-seq:
|
957
|
-
* flt >
|
1065
|
+
* flt > real -> true or false
|
958
1066
|
*
|
959
|
-
* <code>true</code> if <code>flt</code> is greater than <code>
|
1067
|
+
* <code>true</code> if <code>flt</code> is greater than <code>real</code>.
|
960
1068
|
*/
|
961
1069
|
|
962
1070
|
static VALUE
|
@@ -976,22 +1084,26 @@ flo_gt(VALUE x, VALUE y)
|
|
976
1084
|
|
977
1085
|
case T_FLOAT:
|
978
1086
|
b = RFLOAT_VALUE(y);
|
1087
|
+
#if defined(_MSC_VER) && _MSC_VER < 1300
|
979
1088
|
if (isnan(b)) return Qfalse;
|
1089
|
+
#endif
|
980
1090
|
break;
|
981
1091
|
|
982
1092
|
default:
|
983
1093
|
return rb_num_coerce_relop(x, y, '>');
|
984
1094
|
}
|
1095
|
+
#if defined(_MSC_VER) && _MSC_VER < 1300
|
985
1096
|
if (isnan(a)) return Qfalse;
|
1097
|
+
#endif
|
986
1098
|
return (a > b)?Qtrue:Qfalse;
|
987
1099
|
}
|
988
1100
|
|
989
1101
|
/*
|
990
1102
|
* call-seq:
|
991
|
-
* flt >=
|
1103
|
+
* flt >= real -> true or false
|
992
1104
|
*
|
993
1105
|
* <code>true</code> if <code>flt</code> is greater than
|
994
|
-
* or equal to <code>
|
1106
|
+
* or equal to <code>real</code>.
|
995
1107
|
*/
|
996
1108
|
|
997
1109
|
static VALUE
|
@@ -1011,21 +1123,25 @@ flo_ge(VALUE x, VALUE y)
|
|
1011
1123
|
|
1012
1124
|
case T_FLOAT:
|
1013
1125
|
b = RFLOAT_VALUE(y);
|
1126
|
+
#if defined(_MSC_VER) && _MSC_VER < 1300
|
1014
1127
|
if (isnan(b)) return Qfalse;
|
1128
|
+
#endif
|
1015
1129
|
break;
|
1016
1130
|
|
1017
1131
|
default:
|
1018
1132
|
return rb_num_coerce_relop(x, y, rb_intern(">="));
|
1019
1133
|
}
|
1134
|
+
#if defined(_MSC_VER) && _MSC_VER < 1300
|
1020
1135
|
if (isnan(a)) return Qfalse;
|
1136
|
+
#endif
|
1021
1137
|
return (a >= b)?Qtrue:Qfalse;
|
1022
1138
|
}
|
1023
1139
|
|
1024
1140
|
/*
|
1025
1141
|
* call-seq:
|
1026
|
-
* flt <
|
1142
|
+
* flt < real -> true or false
|
1027
1143
|
*
|
1028
|
-
* <code>true</code> if <code>flt</code> is less than <code>
|
1144
|
+
* <code>true</code> if <code>flt</code> is less than <code>real</code>.
|
1029
1145
|
*/
|
1030
1146
|
|
1031
1147
|
static VALUE
|
@@ -1045,22 +1161,26 @@ flo_lt(VALUE x, VALUE y)
|
|
1045
1161
|
|
1046
1162
|
case T_FLOAT:
|
1047
1163
|
b = RFLOAT_VALUE(y);
|
1164
|
+
#if defined(_MSC_VER) && _MSC_VER < 1300
|
1048
1165
|
if (isnan(b)) return Qfalse;
|
1166
|
+
#endif
|
1049
1167
|
break;
|
1050
1168
|
|
1051
1169
|
default:
|
1052
1170
|
return rb_num_coerce_relop(x, y, '<');
|
1053
1171
|
}
|
1172
|
+
#if defined(_MSC_VER) && _MSC_VER < 1300
|
1054
1173
|
if (isnan(a)) return Qfalse;
|
1174
|
+
#endif
|
1055
1175
|
return (a < b)?Qtrue:Qfalse;
|
1056
1176
|
}
|
1057
1177
|
|
1058
1178
|
/*
|
1059
1179
|
* call-seq:
|
1060
|
-
* flt <=
|
1180
|
+
* flt <= real -> true or false
|
1061
1181
|
*
|
1062
1182
|
* <code>true</code> if <code>flt</code> is less than
|
1063
|
-
* or equal to <code>
|
1183
|
+
* or equal to <code>real</code>.
|
1064
1184
|
*/
|
1065
1185
|
|
1066
1186
|
static VALUE
|
@@ -1080,19 +1200,23 @@ flo_le(VALUE x, VALUE y)
|
|
1080
1200
|
|
1081
1201
|
case T_FLOAT:
|
1082
1202
|
b = RFLOAT_VALUE(y);
|
1203
|
+
#if defined(_MSC_VER) && _MSC_VER < 1300
|
1083
1204
|
if (isnan(b)) return Qfalse;
|
1205
|
+
#endif
|
1084
1206
|
break;
|
1085
1207
|
|
1086
1208
|
default:
|
1087
1209
|
return rb_num_coerce_relop(x, y, rb_intern("<="));
|
1088
1210
|
}
|
1211
|
+
#if defined(_MSC_VER) && _MSC_VER < 1300
|
1089
1212
|
if (isnan(a)) return Qfalse;
|
1213
|
+
#endif
|
1090
1214
|
return (a <= b)?Qtrue:Qfalse;
|
1091
1215
|
}
|
1092
1216
|
|
1093
1217
|
/*
|
1094
1218
|
* call-seq:
|
1095
|
-
* flt.eql?(obj)
|
1219
|
+
* flt.eql?(obj) -> true or false
|
1096
1220
|
*
|
1097
1221
|
* Returns <code>true</code> only if <i>obj</i> is a
|
1098
1222
|
* <code>Float</code> with the same value as <i>flt</i>. Contrast this
|
@@ -1107,18 +1231,20 @@ flo_eql(VALUE x, VALUE y)
|
|
1107
1231
|
if (TYPE(y) == T_FLOAT) {
|
1108
1232
|
double a = RFLOAT_VALUE(x);
|
1109
1233
|
double b = RFLOAT_VALUE(y);
|
1110
|
-
|
1234
|
+
#if defined(_MSC_VER) && _MSC_VER < 1300
|
1111
1235
|
if (isnan(a) || isnan(b)) return Qfalse;
|
1112
|
-
|
1236
|
+
#endif
|
1237
|
+
if (a == b)
|
1238
|
+
return Qtrue;
|
1113
1239
|
}
|
1114
1240
|
return Qfalse;
|
1115
1241
|
}
|
1116
1242
|
|
1117
1243
|
/*
|
1118
1244
|
* call-seq:
|
1119
|
-
* flt.to_f
|
1245
|
+
* flt.to_f -> self
|
1120
1246
|
*
|
1121
|
-
* As <code>flt</code> is already a float, returns
|
1247
|
+
* As <code>flt</code> is already a float, returns +self+.
|
1122
1248
|
*/
|
1123
1249
|
|
1124
1250
|
static VALUE
|
@@ -1129,7 +1255,8 @@ flo_to_f(VALUE num)
|
|
1129
1255
|
|
1130
1256
|
/*
|
1131
1257
|
* call-seq:
|
1132
|
-
* flt.abs
|
1258
|
+
* flt.abs -> float
|
1259
|
+
* flt.magnitude -> float
|
1133
1260
|
*
|
1134
1261
|
* Returns the absolute value of <i>flt</i>.
|
1135
1262
|
*
|
@@ -1147,7 +1274,7 @@ flo_abs(VALUE flt)
|
|
1147
1274
|
|
1148
1275
|
/*
|
1149
1276
|
* call-seq:
|
1150
|
-
* flt.zero?
|
1277
|
+
* flt.zero? -> true or false
|
1151
1278
|
*
|
1152
1279
|
* Returns <code>true</code> if <i>flt</i> is 0.0.
|
1153
1280
|
*
|
@@ -1164,7 +1291,7 @@ flo_zero_p(VALUE num)
|
|
1164
1291
|
|
1165
1292
|
/*
|
1166
1293
|
* call-seq:
|
1167
|
-
* flt.nan?
|
1294
|
+
* flt.nan? -> true or false
|
1168
1295
|
*
|
1169
1296
|
* Returns <code>true</code> if <i>flt</i> is an invalid IEEE floating
|
1170
1297
|
* point number.
|
@@ -1185,7 +1312,7 @@ flo_is_nan_p(VALUE num)
|
|
1185
1312
|
|
1186
1313
|
/*
|
1187
1314
|
* call-seq:
|
1188
|
-
* flt.infinite?
|
1315
|
+
* flt.infinite? -> nil, -1, +1
|
1189
1316
|
*
|
1190
1317
|
* Returns <code>nil</code>, -1, or +1 depending on whether <i>flt</i>
|
1191
1318
|
* is finite, -infinity, or +infinity.
|
@@ -1209,7 +1336,7 @@ flo_is_infinite_p(VALUE num)
|
|
1209
1336
|
|
1210
1337
|
/*
|
1211
1338
|
* call-seq:
|
1212
|
-
* flt.finite?
|
1339
|
+
* flt.finite? -> true or false
|
1213
1340
|
*
|
1214
1341
|
* Returns <code>true</code> if <i>flt</i> is a valid IEEE floating
|
1215
1342
|
* point number (it is not infinite, and <code>nan?</code> is
|
@@ -1235,7 +1362,7 @@ flo_is_finite_p(VALUE num)
|
|
1235
1362
|
|
1236
1363
|
/*
|
1237
1364
|
* call-seq:
|
1238
|
-
* flt.floor
|
1365
|
+
* flt.floor -> integer
|
1239
1366
|
*
|
1240
1367
|
* Returns the largest integer less than or equal to <i>flt</i>.
|
1241
1368
|
*
|
@@ -1254,13 +1381,13 @@ flo_floor(VALUE num)
|
|
1254
1381
|
if (!FIXABLE(f)) {
|
1255
1382
|
return rb_dbl2big(f);
|
1256
1383
|
}
|
1257
|
-
val = f;
|
1384
|
+
val = (long)f;
|
1258
1385
|
return LONG2FIX(val);
|
1259
1386
|
}
|
1260
1387
|
|
1261
1388
|
/*
|
1262
1389
|
* call-seq:
|
1263
|
-
* flt.ceil
|
1390
|
+
* flt.ceil -> integer
|
1264
1391
|
*
|
1265
1392
|
* Returns the smallest <code>Integer</code> greater than or equal to
|
1266
1393
|
* <i>flt</i>.
|
@@ -1280,20 +1407,38 @@ flo_ceil(VALUE num)
|
|
1280
1407
|
if (!FIXABLE(f)) {
|
1281
1408
|
return rb_dbl2big(f);
|
1282
1409
|
}
|
1283
|
-
val = f;
|
1410
|
+
val = (long)f;
|
1284
1411
|
return LONG2FIX(val);
|
1285
1412
|
}
|
1286
1413
|
|
1287
1414
|
/*
|
1288
1415
|
* call-seq:
|
1289
|
-
* flt.round([ndigits])
|
1416
|
+
* flt.round([ndigits]) -> integer or float
|
1290
1417
|
*
|
1291
1418
|
* Rounds <i>flt</i> to a given precision in decimal digits (default 0 digits).
|
1292
|
-
* Precision may be negative. Returns a
|
1293
|
-
* is more than
|
1419
|
+
* Precision may be negative. Returns a floating point number when ndigits
|
1420
|
+
* is more than zero.
|
1294
1421
|
*
|
1422
|
+
* 1.4.round #=> 1
|
1295
1423
|
* 1.5.round #=> 2
|
1424
|
+
* 1.6.round #=> 2
|
1296
1425
|
* (-1.5).round #=> -2
|
1426
|
+
*
|
1427
|
+
* 1.234567.round(2) #=> 1.23
|
1428
|
+
* 1.234567.round(3) #=> 1.235
|
1429
|
+
* 1.234567.round(4) #=> 1.2346
|
1430
|
+
* 1.234567.round(5) #=> 1.23457
|
1431
|
+
*
|
1432
|
+
* 34567.89.round(-5) #=> 0
|
1433
|
+
* 34567.89.round(-4) #=> 30000
|
1434
|
+
* 34567.89.round(-3) #=> 35000
|
1435
|
+
* 34567.89.round(-2) #=> 34600
|
1436
|
+
* 34567.89.round(-1) #=> 34570
|
1437
|
+
* 34567.89.round(0) #=> 34568
|
1438
|
+
* 34567.89.round(1) #=> 34567.9
|
1439
|
+
* 34567.89.round(2) #=> 34567.89
|
1440
|
+
* 34567.89.round(3) #=> 34567.89
|
1441
|
+
*
|
1297
1442
|
*/
|
1298
1443
|
|
1299
1444
|
static VALUE
|
@@ -1317,7 +1462,21 @@ flo_round(int argc, VALUE *argv, VALUE num)
|
|
1317
1462
|
if (ndigits < 0) number = 0;
|
1318
1463
|
}
|
1319
1464
|
else {
|
1320
|
-
if (ndigits < 0)
|
1465
|
+
if (ndigits < 0) {
|
1466
|
+
double absnum = fabs(number);
|
1467
|
+
if (absnum < f) return INT2FIX(0);
|
1468
|
+
if (!FIXABLE(number)) {
|
1469
|
+
VALUE f10 = int_pow(10, -ndigits);
|
1470
|
+
VALUE n10 = f10;
|
1471
|
+
if (number < 0) {
|
1472
|
+
extern VALUE rb_big_uminus(VALUE x);
|
1473
|
+
f10 = FIXNUM_P(f10) ? fix_uminus(f10) : rb_big_uminus(f10);
|
1474
|
+
}
|
1475
|
+
num = rb_big_idiv(rb_dbl2big(absnum), n10);
|
1476
|
+
return FIXNUM_P(num) ? fix_mul(num, f10) : rb_big_mul(num, f10);
|
1477
|
+
}
|
1478
|
+
number /= f;
|
1479
|
+
}
|
1321
1480
|
else number *= f;
|
1322
1481
|
number = round(number);
|
1323
1482
|
if (ndigits < 0) number *= f;
|
@@ -1329,15 +1488,15 @@ flo_round(int argc, VALUE *argv, VALUE num)
|
|
1329
1488
|
if (!FIXABLE(number)) {
|
1330
1489
|
return rb_dbl2big(number);
|
1331
1490
|
}
|
1332
|
-
val = number;
|
1491
|
+
val = (long)number;
|
1333
1492
|
return LONG2FIX(val);
|
1334
1493
|
}
|
1335
1494
|
|
1336
1495
|
/*
|
1337
1496
|
* call-seq:
|
1338
|
-
* flt.to_i
|
1339
|
-
* flt.to_int
|
1340
|
-
* flt.truncate
|
1497
|
+
* flt.to_i -> integer
|
1498
|
+
* flt.to_int -> integer
|
1499
|
+
* flt.truncate -> integer
|
1341
1500
|
*
|
1342
1501
|
* Returns <i>flt</i> truncated to an <code>Integer</code>.
|
1343
1502
|
*/
|
@@ -1354,14 +1513,13 @@ flo_truncate(VALUE num)
|
|
1354
1513
|
if (!FIXABLE(f)) {
|
1355
1514
|
return rb_dbl2big(f);
|
1356
1515
|
}
|
1357
|
-
val = f;
|
1516
|
+
val = (long)f;
|
1358
1517
|
return LONG2FIX(val);
|
1359
1518
|
}
|
1360
1519
|
|
1361
|
-
|
1362
1520
|
/*
|
1363
1521
|
* call-seq:
|
1364
|
-
* num.floor
|
1522
|
+
* num.floor -> integer
|
1365
1523
|
*
|
1366
1524
|
* Returns the largest integer less than or equal to <i>num</i>.
|
1367
1525
|
* <code>Numeric</code> implements this by converting <i>anInteger</i>
|
@@ -1380,7 +1538,7 @@ num_floor(VALUE num)
|
|
1380
1538
|
|
1381
1539
|
/*
|
1382
1540
|
* call-seq:
|
1383
|
-
* num.ceil
|
1541
|
+
* num.ceil -> integer
|
1384
1542
|
*
|
1385
1543
|
* Returns the smallest <code>Integer</code> greater than or equal to
|
1386
1544
|
* <i>num</i>. Class <code>Numeric</code> achieves this by converting
|
@@ -1401,11 +1559,11 @@ num_ceil(VALUE num)
|
|
1401
1559
|
|
1402
1560
|
/*
|
1403
1561
|
* call-seq:
|
1404
|
-
* num.round([ndigits])
|
1562
|
+
* num.round([ndigits]) -> integer or float
|
1405
1563
|
*
|
1406
1564
|
* Rounds <i>num</i> to a given precision in decimal digits (default 0 digits).
|
1407
|
-
* Precision may be negative. Returns a
|
1408
|
-
* is more than
|
1565
|
+
* Precision may be negative. Returns a floating point number when ndigits
|
1566
|
+
* is more than zero. <code>Numeric</code> implements this by converting itself
|
1409
1567
|
* to a <code>Float</code> and invoking <code>Float#round</code>.
|
1410
1568
|
*/
|
1411
1569
|
|
@@ -1417,7 +1575,7 @@ num_round(int argc, VALUE* argv, VALUE num)
|
|
1417
1575
|
|
1418
1576
|
/*
|
1419
1577
|
* call-seq:
|
1420
|
-
* num.truncate
|
1578
|
+
* num.truncate -> integer
|
1421
1579
|
*
|
1422
1580
|
* Returns <i>num</i> truncated to an integer. <code>Numeric</code>
|
1423
1581
|
* implements this by converting its value to a float and invoking
|
@@ -1444,38 +1602,41 @@ ruby_float_step(VALUE from, VALUE to, VALUE step, int excl)
|
|
1444
1602
|
long i;
|
1445
1603
|
|
1446
1604
|
if (isinf(unit)) {
|
1447
|
-
if (unit > 0) rb_yield(DBL2NUM(beg));
|
1605
|
+
if (unit > 0 ? beg <= end : beg >= end) rb_yield(DBL2NUM(beg));
|
1448
1606
|
}
|
1449
1607
|
else {
|
1450
1608
|
if (err>0.5) err=0.5;
|
1451
1609
|
n = floor(n + err);
|
1452
|
-
if (!excl) n++;
|
1610
|
+
if (!excl || ((long)n)*unit+beg < end) n++;
|
1453
1611
|
for (i=0; i<n; i++) {
|
1454
1612
|
rb_yield(DBL2NUM(i*unit+beg));
|
1455
1613
|
}
|
1456
1614
|
}
|
1457
|
-
return
|
1615
|
+
return TRUE;
|
1458
1616
|
}
|
1459
|
-
return
|
1617
|
+
return FALSE;
|
1460
1618
|
}
|
1461
1619
|
|
1462
1620
|
/*
|
1463
1621
|
* call-seq:
|
1464
|
-
* num.step(limit, step
|
1622
|
+
* num.step(limit[, step]) {|i| block } -> self
|
1623
|
+
* num.step(limit[, step]) -> an_enumerator
|
1465
1624
|
*
|
1466
1625
|
* Invokes <em>block</em> with the sequence of numbers starting at
|
1467
|
-
* <i>num</i>, incremented by <i>step</i> on each
|
1468
|
-
* finishes when the value to be passed to the block
|
1469
|
-
* <i>limit</i> (if <i>step</i> is positive) or less
|
1470
|
-
* <i>limit</i> (if <i>step</i> is negative). If all the
|
1471
|
-
* integers, the loop operates using an integer
|
1472
|
-
* arguments are floating point numbers, all
|
1473
|
-
* and the loop is executed <i>floor(n +
|
1474
|
-
* where <i>n = (limit -
|
1475
|
-
* starts at <i>num</i>, uses
|
1476
|
-
* <code>></code> operator to compare
|
1477
|
-
* <i>limit</i>, and increments itself using the
|
1478
|
-
* operator.
|
1626
|
+
* <i>num</i>, incremented by <i>step</i> (default 1) on each
|
1627
|
+
* call. The loop finishes when the value to be passed to the block
|
1628
|
+
* is greater than <i>limit</i> (if <i>step</i> is positive) or less
|
1629
|
+
* than <i>limit</i> (if <i>step</i> is negative). If all the
|
1630
|
+
* arguments are integers, the loop operates using an integer
|
1631
|
+
* counter. If any of the arguments are floating point numbers, all
|
1632
|
+
* are converted to floats, and the loop is executed <i>floor(n +
|
1633
|
+
* n*epsilon)+ 1</i> times, where <i>n = (limit -
|
1634
|
+
* num)/step</i>. Otherwise, the loop starts at <i>num</i>, uses
|
1635
|
+
* either the <code><</code> or <code>></code> operator to compare
|
1636
|
+
* the counter against <i>limit</i>, and increments itself using the
|
1637
|
+
* <code>+</code> operator.
|
1638
|
+
*
|
1639
|
+
* If no block is given, an enumerator is returned instead.
|
1479
1640
|
*
|
1480
1641
|
* 1.step(10, 2) { |i| print i, " " }
|
1481
1642
|
* Math::E.step(Math::PI, 0.2) { |f| print f, " " }
|
@@ -1502,7 +1663,7 @@ num_step(int argc, VALUE *argv, VALUE from)
|
|
1502
1663
|
step = argv[1];
|
1503
1664
|
}
|
1504
1665
|
else {
|
1505
|
-
rb_raise(rb_eArgError, "wrong number of arguments");
|
1666
|
+
rb_raise(rb_eArgError, "wrong number of arguments (%d for 1..2)", argc);
|
1506
1667
|
}
|
1507
1668
|
if (rb_equal(step, INT2FIX(0))) {
|
1508
1669
|
rb_raise(rb_eArgError, "step can't be 0");
|
@@ -1529,7 +1690,7 @@ num_step(int argc, VALUE *argv, VALUE from)
|
|
1529
1690
|
}
|
1530
1691
|
}
|
1531
1692
|
}
|
1532
|
-
else if (!ruby_float_step(from, to, step,
|
1693
|
+
else if (!ruby_float_step(from, to, step, FALSE)) {
|
1533
1694
|
VALUE i = from;
|
1534
1695
|
ID cmp;
|
1535
1696
|
|
@@ -1585,28 +1746,51 @@ rb_num2long(VALUE val)
|
|
1585
1746
|
VALUE
|
1586
1747
|
rb_num2ulong(VALUE val)
|
1587
1748
|
{
|
1588
|
-
|
1749
|
+
again:
|
1750
|
+
if (NIL_P(val)) {
|
1751
|
+
rb_raise(rb_eTypeError, "no implicit conversion from nil to integer");
|
1752
|
+
}
|
1753
|
+
|
1754
|
+
if (FIXNUM_P(val)) return FIX2LONG(val); /* this is FIX2LONG, inteneded */
|
1755
|
+
|
1756
|
+
switch (TYPE(val)) {
|
1757
|
+
case T_FLOAT:
|
1758
|
+
if (RFLOAT_VALUE(val) <= (double)LONG_MAX
|
1759
|
+
&& RFLOAT_VALUE(val) >= (double)LONG_MIN) {
|
1760
|
+
return (VALUE)RFLOAT_VALUE(val);
|
1761
|
+
}
|
1762
|
+
else {
|
1763
|
+
char buf[24];
|
1764
|
+
char *s;
|
1765
|
+
|
1766
|
+
snprintf(buf, sizeof(buf), "%-.10g", RFLOAT_VALUE(val));
|
1767
|
+
if ((s = strchr(buf, ' ')) != 0) *s = '\0';
|
1768
|
+
rb_raise(rb_eRangeError, "float %s out of range of integer", buf);
|
1769
|
+
}
|
1770
|
+
|
1771
|
+
case T_BIGNUM:
|
1589
1772
|
return rb_big2ulong(val);
|
1773
|
+
|
1774
|
+
default:
|
1775
|
+
val = rb_to_int(val);
|
1776
|
+
goto again;
|
1590
1777
|
}
|
1591
|
-
return (VALUE)rb_num2long(val);
|
1592
1778
|
}
|
1593
1779
|
|
1594
1780
|
#if SIZEOF_INT < SIZEOF_VALUE
|
1781
|
+
void
|
1782
|
+
rb_out_of_int(SIGNED_VALUE num)
|
1783
|
+
{
|
1784
|
+
rb_raise(rb_eRangeError, "integer %"PRIdVALUE " too %s to convert to `int'",
|
1785
|
+
num, num < 0 ? "small" : "big");
|
1786
|
+
}
|
1787
|
+
|
1595
1788
|
static void
|
1596
1789
|
check_int(SIGNED_VALUE num)
|
1597
1790
|
{
|
1598
|
-
|
1599
|
-
|
1600
|
-
if (num < INT_MIN) {
|
1601
|
-
s = "small";
|
1602
|
-
}
|
1603
|
-
else if (num > INT_MAX) {
|
1604
|
-
s = "big";
|
1791
|
+
if ((SIGNED_VALUE)(int)num != num) {
|
1792
|
+
rb_out_of_int(num);
|
1605
1793
|
}
|
1606
|
-
else {
|
1607
|
-
return;
|
1608
|
-
}
|
1609
|
-
rb_raise(rb_eRangeError, "integer %"PRIdVALUE " too %s to convert to `int'", num, s);
|
1610
1794
|
}
|
1611
1795
|
|
1612
1796
|
static void
|
@@ -1748,18 +1932,6 @@ rb_num2ull(VALUE val)
|
|
1748
1932
|
|
1749
1933
|
#endif /* HAVE_LONG_LONG */
|
1750
1934
|
|
1751
|
-
static VALUE
|
1752
|
-
num_numerator(VALUE num)
|
1753
|
-
{
|
1754
|
-
return rb_funcall(rb_Rational1(num), rb_intern("numerator"), 0);
|
1755
|
-
}
|
1756
|
-
|
1757
|
-
static VALUE
|
1758
|
-
num_denominator(VALUE num)
|
1759
|
-
{
|
1760
|
-
return rb_funcall(rb_Rational1(num), rb_intern("denominator"), 0);
|
1761
|
-
}
|
1762
|
-
|
1763
1935
|
/*
|
1764
1936
|
* Document-class: Integer
|
1765
1937
|
*
|
@@ -1771,12 +1943,12 @@ num_denominator(VALUE num)
|
|
1771
1943
|
|
1772
1944
|
/*
|
1773
1945
|
* call-seq:
|
1774
|
-
* int.to_i
|
1775
|
-
* int.to_int
|
1776
|
-
* int.floor
|
1777
|
-
* int.ceil
|
1778
|
-
* int.round
|
1779
|
-
* int.truncate
|
1946
|
+
* int.to_i -> integer
|
1947
|
+
* int.to_int -> integer
|
1948
|
+
* int.floor -> integer
|
1949
|
+
* int.ceil -> integer
|
1950
|
+
* int.round -> integer
|
1951
|
+
* int.truncate -> integer
|
1780
1952
|
*
|
1781
1953
|
* As <i>int</i> is already an <code>Integer</code>, all these
|
1782
1954
|
* methods simply return the receiver.
|
@@ -1790,7 +1962,7 @@ int_to_i(VALUE num)
|
|
1790
1962
|
|
1791
1963
|
/*
|
1792
1964
|
* call-seq:
|
1793
|
-
* int.integer?
|
1965
|
+
* int.integer? -> true
|
1794
1966
|
*
|
1795
1967
|
* Always returns <code>true</code>.
|
1796
1968
|
*/
|
@@ -1803,7 +1975,7 @@ int_int_p(VALUE num)
|
|
1803
1975
|
|
1804
1976
|
/*
|
1805
1977
|
* call-seq:
|
1806
|
-
* int.odd?
|
1978
|
+
* int.odd? -> true or false
|
1807
1979
|
*
|
1808
1980
|
* Returns <code>true</code> if <i>int</i> is an odd number.
|
1809
1981
|
*/
|
@@ -1819,7 +1991,7 @@ int_odd_p(VALUE num)
|
|
1819
1991
|
|
1820
1992
|
/*
|
1821
1993
|
* call-seq:
|
1822
|
-
* int.even?
|
1994
|
+
* int.even? -> true or false
|
1823
1995
|
*
|
1824
1996
|
* Returns <code>true</code> if <i>int</i> is an even number.
|
1825
1997
|
*/
|
@@ -1835,8 +2007,8 @@ int_even_p(VALUE num)
|
|
1835
2007
|
|
1836
2008
|
/*
|
1837
2009
|
* call-seq:
|
1838
|
-
* fixnum.next
|
1839
|
-
* fixnum.succ
|
2010
|
+
* fixnum.next -> integer
|
2011
|
+
* fixnum.succ -> integer
|
1840
2012
|
*
|
1841
2013
|
* Returns the <code>Integer</code> equal to <i>int</i> + 1.
|
1842
2014
|
*
|
@@ -1853,8 +2025,8 @@ fix_succ(VALUE num)
|
|
1853
2025
|
|
1854
2026
|
/*
|
1855
2027
|
* call-seq:
|
1856
|
-
* int.next
|
1857
|
-
* int.succ
|
2028
|
+
* int.next -> integer
|
2029
|
+
* int.succ -> integer
|
1858
2030
|
*
|
1859
2031
|
* Returns the <code>Integer</code> equal to <i>int</i> + 1.
|
1860
2032
|
*
|
@@ -1874,7 +2046,7 @@ int_succ(VALUE num)
|
|
1874
2046
|
|
1875
2047
|
/*
|
1876
2048
|
* call-seq:
|
1877
|
-
* int.pred
|
2049
|
+
* int.pred -> integer
|
1878
2050
|
*
|
1879
2051
|
* Returns the <code>Integer</code> equal to <i>int</i> - 1.
|
1880
2052
|
*
|
@@ -1892,9 +2064,22 @@ int_pred(VALUE num)
|
|
1892
2064
|
return rb_funcall(num, '-', 1, INT2FIX(1));
|
1893
2065
|
}
|
1894
2066
|
|
2067
|
+
VALUE
|
2068
|
+
rb_enc_uint_chr(unsigned int code, rb_encoding *enc)
|
2069
|
+
{
|
2070
|
+
int n;
|
2071
|
+
VALUE str;
|
2072
|
+
if ((n = rb_enc_codelen(code, enc)) <= 0) {
|
2073
|
+
rb_raise(rb_eRangeError, "%d out of char range", code);
|
2074
|
+
}
|
2075
|
+
str = rb_enc_str_new(0, n, enc);
|
2076
|
+
rb_enc_mbcput(code, RSTRING_PTR(str), enc);
|
2077
|
+
return str;
|
2078
|
+
}
|
2079
|
+
|
1895
2080
|
/*
|
1896
2081
|
* call-seq:
|
1897
|
-
* int.chr([encoding])
|
2082
|
+
* int.chr([encoding]) -> string
|
1898
2083
|
*
|
1899
2084
|
* Returns a string containing the character represented by the
|
1900
2085
|
* receiver's value according to +encoding+.
|
@@ -1908,18 +2093,21 @@ static VALUE
|
|
1908
2093
|
int_chr(int argc, VALUE *argv, VALUE num)
|
1909
2094
|
{
|
1910
2095
|
char c;
|
1911
|
-
int
|
1912
|
-
long i = NUM2LONG(num);
|
2096
|
+
unsigned int i = NUM2UINT(num);
|
1913
2097
|
rb_encoding *enc;
|
1914
|
-
VALUE str;
|
1915
2098
|
|
1916
2099
|
switch (argc) {
|
1917
2100
|
case 0:
|
1918
|
-
if (i < 0
|
2101
|
+
if (i < 0) {
|
1919
2102
|
out_of_range:
|
1920
|
-
rb_raise(rb_eRangeError, "%
|
2103
|
+
rb_raise(rb_eRangeError, "%d out of char range", i);
|
1921
2104
|
}
|
1922
|
-
|
2105
|
+
if (0xff < i) {
|
2106
|
+
enc = rb_default_internal_encoding();
|
2107
|
+
if (!enc) goto out_of_range;
|
2108
|
+
goto decode;
|
2109
|
+
}
|
2110
|
+
c = (char)i;
|
1923
2111
|
if (i < 0x80) {
|
1924
2112
|
return rb_usascii_str_new(&c, 1);
|
1925
2113
|
}
|
@@ -1929,20 +2117,18 @@ int_chr(int argc, VALUE *argv, VALUE num)
|
|
1929
2117
|
case 1:
|
1930
2118
|
break;
|
1931
2119
|
default:
|
1932
|
-
rb_raise(rb_eArgError, "wrong number of arguments (%d for 0
|
2120
|
+
rb_raise(rb_eArgError, "wrong number of arguments (%d for 0..1)", argc);
|
1933
2121
|
break;
|
1934
2122
|
}
|
1935
2123
|
enc = rb_to_encoding(argv[0]);
|
1936
2124
|
if (!enc) enc = rb_ascii8bit_encoding();
|
1937
|
-
|
1938
|
-
|
1939
|
-
rb_enc_mbcput(i, RSTRING_PTR(str), enc);
|
1940
|
-
return str;
|
2125
|
+
decode:
|
2126
|
+
return rb_enc_uint_chr(i, enc);
|
1941
2127
|
}
|
1942
2128
|
|
1943
2129
|
/*
|
1944
2130
|
* call-seq:
|
1945
|
-
* int.ord
|
2131
|
+
* int.ord -> self
|
1946
2132
|
*
|
1947
2133
|
* Returns the int itself.
|
1948
2134
|
*
|
@@ -1960,18 +2146,6 @@ int_ord(num)
|
|
1960
2146
|
return num;
|
1961
2147
|
}
|
1962
2148
|
|
1963
|
-
static VALUE
|
1964
|
-
int_numerator(VALUE num)
|
1965
|
-
{
|
1966
|
-
return num;
|
1967
|
-
}
|
1968
|
-
|
1969
|
-
static VALUE
|
1970
|
-
int_denominator(VALUE num)
|
1971
|
-
{
|
1972
|
-
return INT2FIX(1);
|
1973
|
-
}
|
1974
|
-
|
1975
2149
|
/********************************************************************
|
1976
2150
|
*
|
1977
2151
|
* Document-class: Fixnum
|
@@ -1993,7 +2167,7 @@ int_denominator(VALUE num)
|
|
1993
2167
|
|
1994
2168
|
/*
|
1995
2169
|
* call-seq:
|
1996
|
-
* -fix
|
2170
|
+
* -fix -> integer
|
1997
2171
|
*
|
1998
2172
|
* Negates <code>fix</code> (which might return a Bignum).
|
1999
2173
|
*/
|
@@ -2035,7 +2209,7 @@ rb_fix2str(VALUE x, int base)
|
|
2035
2209
|
|
2036
2210
|
/*
|
2037
2211
|
* call-seq:
|
2038
|
-
* fix.to_s(
|
2212
|
+
* fix.to_s(base=10) -> string
|
2039
2213
|
*
|
2040
2214
|
* Returns a string containing the representation of <i>fix</i> radix
|
2041
2215
|
* <i>base</i> (between 2 and 36).
|
@@ -2066,7 +2240,7 @@ fix_to_s(int argc, VALUE *argv, VALUE x)
|
|
2066
2240
|
|
2067
2241
|
/*
|
2068
2242
|
* call-seq:
|
2069
|
-
* fix + numeric
|
2243
|
+
* fix + numeric -> numeric_result
|
2070
2244
|
*
|
2071
2245
|
* Performs addition: the class of the resulting object depends on
|
2072
2246
|
* the class of <code>numeric</code> and on the magnitude of the
|
@@ -2099,7 +2273,7 @@ fix_plus(VALUE x, VALUE y)
|
|
2099
2273
|
|
2100
2274
|
/*
|
2101
2275
|
* call-seq:
|
2102
|
-
* fix - numeric
|
2276
|
+
* fix - numeric -> numeric_result
|
2103
2277
|
*
|
2104
2278
|
* Performs subtraction: the class of the resulting object depends on
|
2105
2279
|
* the class of <code>numeric</code> and on the magnitude of the
|
@@ -2137,7 +2311,7 @@ fix_minus(VALUE x, VALUE y)
|
|
2137
2311
|
|
2138
2312
|
/*
|
2139
2313
|
* call-seq:
|
2140
|
-
* fix * numeric
|
2314
|
+
* fix * numeric -> numeric_result
|
2141
2315
|
*
|
2142
2316
|
* Performs multiplication: the class of the resulting object depends on
|
2143
2317
|
* the class of <code>numeric</code> and on the magnitude of the
|
@@ -2152,18 +2326,18 @@ fix_mul(VALUE x, VALUE y)
|
|
2152
2326
|
/* avoids an optimization bug of HP aC++/ANSI C B3910B A.06.05 [Jul 25 2005] */
|
2153
2327
|
volatile
|
2154
2328
|
#endif
|
2155
|
-
|
2156
|
-
#if
|
2329
|
+
long a, b;
|
2330
|
+
#if SIZEOF_LONG * 2 <= SIZEOF_LONG_LONG
|
2157
2331
|
LONG_LONG d;
|
2158
2332
|
#else
|
2159
|
-
|
2333
|
+
volatile long c;
|
2160
2334
|
VALUE r;
|
2161
2335
|
#endif
|
2162
2336
|
|
2163
2337
|
a = FIX2LONG(x);
|
2164
2338
|
b = FIX2LONG(y);
|
2165
2339
|
|
2166
|
-
#if
|
2340
|
+
#if SIZEOF_LONG * 2 <= SIZEOF_LONG_LONG
|
2167
2341
|
d = (LONG_LONG)a * b;
|
2168
2342
|
if (FIXABLE(d)) return LONG2FIX(d);
|
2169
2343
|
return rb_ll2inum(d);
|
@@ -2217,9 +2391,11 @@ fixdivmod(long x, long y, long *divp, long *modp)
|
|
2217
2391
|
if (modp) *modp = mod;
|
2218
2392
|
}
|
2219
2393
|
|
2394
|
+
VALUE rb_big_fdiv(VALUE x, VALUE y);
|
2395
|
+
|
2220
2396
|
/*
|
2221
2397
|
* call-seq:
|
2222
|
-
* fix.fdiv(numeric)
|
2398
|
+
* fix.fdiv(numeric) -> float
|
2223
2399
|
*
|
2224
2400
|
* Returns the floating point result of dividing <i>fix</i> by
|
2225
2401
|
* <i>numeric</i>.
|
@@ -2237,7 +2413,7 @@ fix_fdiv(VALUE x, VALUE y)
|
|
2237
2413
|
}
|
2238
2414
|
switch (TYPE(y)) {
|
2239
2415
|
case T_BIGNUM:
|
2240
|
-
return
|
2416
|
+
return rb_big_fdiv(rb_int2big(FIX2LONG(x)), y);
|
2241
2417
|
case T_FLOAT:
|
2242
2418
|
return DBL2NUM((double)FIX2LONG(x) / RFLOAT_VALUE(y));
|
2243
2419
|
default:
|
@@ -2245,6 +2421,8 @@ fix_fdiv(VALUE x, VALUE y)
|
|
2245
2421
|
}
|
2246
2422
|
}
|
2247
2423
|
|
2424
|
+
VALUE rb_rational_reciprocal(VALUE x);
|
2425
|
+
|
2248
2426
|
static VALUE
|
2249
2427
|
fix_divide(VALUE x, VALUE y, ID op)
|
2250
2428
|
{
|
@@ -2272,6 +2450,10 @@ fix_divide(VALUE x, VALUE y, ID op)
|
|
2272
2450
|
return rb_dbl2big(floor(div));
|
2273
2451
|
}
|
2274
2452
|
}
|
2453
|
+
case T_RATIONAL:
|
2454
|
+
if (op == '/' && FIX2LONG(x) == 1)
|
2455
|
+
return rb_rational_reciprocal(y);
|
2456
|
+
/* fall through */
|
2275
2457
|
default:
|
2276
2458
|
return rb_num_coerce_bin(x, y, op);
|
2277
2459
|
}
|
@@ -2279,7 +2461,7 @@ fix_divide(VALUE x, VALUE y, ID op)
|
|
2279
2461
|
|
2280
2462
|
/*
|
2281
2463
|
* call-seq:
|
2282
|
-
* fix / numeric
|
2464
|
+
* fix / numeric -> numeric_result
|
2283
2465
|
*
|
2284
2466
|
* Performs division: the class of the resulting object depends on
|
2285
2467
|
* the class of <code>numeric</code> and on the magnitude of the
|
@@ -2294,7 +2476,7 @@ fix_div(VALUE x, VALUE y)
|
|
2294
2476
|
|
2295
2477
|
/*
|
2296
2478
|
* call-seq:
|
2297
|
-
* fix.div(numeric)
|
2479
|
+
* fix.div(numeric) -> integer
|
2298
2480
|
*
|
2299
2481
|
* Performs integer division: returns integer value.
|
2300
2482
|
*/
|
@@ -2307,11 +2489,11 @@ fix_idiv(VALUE x, VALUE y)
|
|
2307
2489
|
|
2308
2490
|
/*
|
2309
2491
|
* call-seq:
|
2310
|
-
* fix % other
|
2311
|
-
* fix.modulo(other)
|
2492
|
+
* fix % other -> real
|
2493
|
+
* fix.modulo(other) -> real
|
2312
2494
|
*
|
2313
2495
|
* Returns <code>fix</code> modulo <code>other</code>.
|
2314
|
-
* See <code>
|
2496
|
+
* See <code>numeric.divmod</code> for more information.
|
2315
2497
|
*/
|
2316
2498
|
|
2317
2499
|
static VALUE
|
@@ -2341,7 +2523,7 @@ fix_mod(VALUE x, VALUE y)
|
|
2341
2523
|
|
2342
2524
|
/*
|
2343
2525
|
* call-seq:
|
2344
|
-
* fix.divmod(numeric)
|
2526
|
+
* fix.divmod(numeric) -> array
|
2345
2527
|
*
|
2346
2528
|
* See <code>Numeric#divmod</code>.
|
2347
2529
|
*/
|
@@ -2399,7 +2581,7 @@ int_pow(long x, unsigned long y)
|
|
2399
2581
|
y >>= 1;
|
2400
2582
|
}
|
2401
2583
|
{
|
2402
|
-
long xz = x * z;
|
2584
|
+
volatile long xz = x * z;
|
2403
2585
|
if (!POSFIXABLE(xz) || xz / x != z) {
|
2404
2586
|
goto bignum;
|
2405
2587
|
}
|
@@ -2412,9 +2594,9 @@ int_pow(long x, unsigned long y)
|
|
2412
2594
|
|
2413
2595
|
/*
|
2414
2596
|
* call-seq:
|
2415
|
-
* fix **
|
2597
|
+
* fix ** numeric -> numeric_result
|
2416
2598
|
*
|
2417
|
-
* Raises <code>fix</code> to the <code>
|
2599
|
+
* Raises <code>fix</code> to the <code>numeric</code> power, which may
|
2418
2600
|
* be negative or fractional.
|
2419
2601
|
*
|
2420
2602
|
* 2 ** 3 #=> 8
|
@@ -2425,7 +2607,6 @@ int_pow(long x, unsigned long y)
|
|
2425
2607
|
static VALUE
|
2426
2608
|
fix_pow(VALUE x, VALUE y)
|
2427
2609
|
{
|
2428
|
-
static const double zero = 0.0;
|
2429
2610
|
long a = FIX2LONG(x);
|
2430
2611
|
|
2431
2612
|
if (FIXNUM_P(y)) {
|
@@ -2438,13 +2619,13 @@ fix_pow(VALUE x, VALUE y)
|
|
2438
2619
|
if (b == 1) return x;
|
2439
2620
|
if (a == 0) {
|
2440
2621
|
if (b > 0) return INT2FIX(0);
|
2441
|
-
return DBL2NUM(
|
2622
|
+
return DBL2NUM(INFINITY);
|
2442
2623
|
}
|
2443
2624
|
if (a == 1) return INT2FIX(1);
|
2444
2625
|
if (a == -1) {
|
2445
2626
|
if (b % 2 == 0)
|
2446
2627
|
return INT2FIX(1);
|
2447
|
-
else
|
2628
|
+
else
|
2448
2629
|
return INT2FIX(-1);
|
2449
2630
|
}
|
2450
2631
|
return int_pow(a, b);
|
@@ -2466,10 +2647,15 @@ fix_pow(VALUE x, VALUE y)
|
|
2466
2647
|
case T_FLOAT:
|
2467
2648
|
if (RFLOAT_VALUE(y) == 0.0) return DBL2NUM(1.0);
|
2468
2649
|
if (a == 0) {
|
2469
|
-
return DBL2NUM(RFLOAT_VALUE(y) < 0 ?
|
2650
|
+
return DBL2NUM(RFLOAT_VALUE(y) < 0 ? INFINITY : 0.0);
|
2470
2651
|
}
|
2471
2652
|
if (a == 1) return DBL2NUM(1.0);
|
2472
|
-
|
2653
|
+
{
|
2654
|
+
double dy = RFLOAT_VALUE(y);
|
2655
|
+
if (a < 0 && dy != round(dy))
|
2656
|
+
return rb_funcall(rb_complex_raw1(x), rb_intern("**"), 1, y);
|
2657
|
+
return DBL2NUM(pow((double)a, dy));
|
2658
|
+
}
|
2473
2659
|
default:
|
2474
2660
|
return rb_num_coerce_bin(x, y, rb_intern("**"));
|
2475
2661
|
}
|
@@ -2477,7 +2663,7 @@ fix_pow(VALUE x, VALUE y)
|
|
2477
2663
|
|
2478
2664
|
/*
|
2479
2665
|
* call-seq:
|
2480
|
-
* fix == other
|
2666
|
+
* fix == other -> true or false
|
2481
2667
|
*
|
2482
2668
|
* Return <code>true</code> if <code>fix</code> equals <code>other</code>
|
2483
2669
|
* numerically.
|
@@ -2503,11 +2689,12 @@ fix_equal(VALUE x, VALUE y)
|
|
2503
2689
|
|
2504
2690
|
/*
|
2505
2691
|
* call-seq:
|
2506
|
-
* fix <=> numeric
|
2692
|
+
* fix <=> numeric -> -1, 0, +1 or nil
|
2507
2693
|
*
|
2508
|
-
* Comparison---Returns -1, 0,
|
2509
|
-
* less than, equal to, or greater than
|
2510
|
-
* basis for the tests in
|
2694
|
+
* Comparison---Returns -1, 0, +1 or nil depending on whether
|
2695
|
+
* <i>fix</i> is less than, equal to, or greater than
|
2696
|
+
* <i>numeric</i>. This is the basis for the tests in
|
2697
|
+
* <code>Comparable</code>.
|
2511
2698
|
*/
|
2512
2699
|
|
2513
2700
|
static VALUE
|
@@ -2530,10 +2717,10 @@ fix_cmp(VALUE x, VALUE y)
|
|
2530
2717
|
|
2531
2718
|
/*
|
2532
2719
|
* call-seq:
|
2533
|
-
* fix >
|
2720
|
+
* fix > real -> true or false
|
2534
2721
|
*
|
2535
2722
|
* Returns <code>true</code> if the value of <code>fix</code> is
|
2536
|
-
* greater than that of <code>
|
2723
|
+
* greater than that of <code>real</code>.
|
2537
2724
|
*/
|
2538
2725
|
|
2539
2726
|
static VALUE
|
@@ -2555,10 +2742,10 @@ fix_gt(VALUE x, VALUE y)
|
|
2555
2742
|
|
2556
2743
|
/*
|
2557
2744
|
* call-seq:
|
2558
|
-
* fix >=
|
2745
|
+
* fix >= real -> true or false
|
2559
2746
|
*
|
2560
2747
|
* Returns <code>true</code> if the value of <code>fix</code> is
|
2561
|
-
* greater than or equal to that of <code>
|
2748
|
+
* greater than or equal to that of <code>real</code>.
|
2562
2749
|
*/
|
2563
2750
|
|
2564
2751
|
static VALUE
|
@@ -2580,10 +2767,10 @@ fix_ge(VALUE x, VALUE y)
|
|
2580
2767
|
|
2581
2768
|
/*
|
2582
2769
|
* call-seq:
|
2583
|
-
* fix <
|
2770
|
+
* fix < real -> true or false
|
2584
2771
|
*
|
2585
2772
|
* Returns <code>true</code> if the value of <code>fix</code> is
|
2586
|
-
* less than that of <code>
|
2773
|
+
* less than that of <code>real</code>.
|
2587
2774
|
*/
|
2588
2775
|
|
2589
2776
|
static VALUE
|
@@ -2605,10 +2792,10 @@ fix_lt(VALUE x, VALUE y)
|
|
2605
2792
|
|
2606
2793
|
/*
|
2607
2794
|
* call-seq:
|
2608
|
-
* fix <=
|
2795
|
+
* fix <= real -> true or false
|
2609
2796
|
*
|
2610
2797
|
* Returns <code>true</code> if the value of <code>fix</code> is
|
2611
|
-
* less than or equal to that of <code>
|
2798
|
+
* less than or equal to that of <code>real</code>.
|
2612
2799
|
*/
|
2613
2800
|
|
2614
2801
|
static VALUE
|
@@ -2630,7 +2817,7 @@ fix_le(VALUE x, VALUE y)
|
|
2630
2817
|
|
2631
2818
|
/*
|
2632
2819
|
* call-seq:
|
2633
|
-
* ~fix
|
2820
|
+
* ~fix -> integer
|
2634
2821
|
*
|
2635
2822
|
* One's complement: returns a number where each bit is flipped.
|
2636
2823
|
*/
|
@@ -2658,7 +2845,7 @@ bit_coerce(VALUE x)
|
|
2658
2845
|
|
2659
2846
|
/*
|
2660
2847
|
* call-seq:
|
2661
|
-
* fix &
|
2848
|
+
* fix & integer -> integer_result
|
2662
2849
|
*
|
2663
2850
|
* Bitwise AND.
|
2664
2851
|
*/
|
@@ -2677,7 +2864,7 @@ fix_and(VALUE x, VALUE y)
|
|
2677
2864
|
|
2678
2865
|
/*
|
2679
2866
|
* call-seq:
|
2680
|
-
* fix |
|
2867
|
+
* fix | integer -> integer_result
|
2681
2868
|
*
|
2682
2869
|
* Bitwise OR.
|
2683
2870
|
*/
|
@@ -2696,7 +2883,7 @@ fix_or(VALUE x, VALUE y)
|
|
2696
2883
|
|
2697
2884
|
/*
|
2698
2885
|
* call-seq:
|
2699
|
-
* fix ^
|
2886
|
+
* fix ^ integer -> integer_result
|
2700
2887
|
*
|
2701
2888
|
* Bitwise EXCLUSIVE OR.
|
2702
2889
|
*/
|
@@ -2718,7 +2905,7 @@ static VALUE fix_rshift(long, unsigned long);
|
|
2718
2905
|
|
2719
2906
|
/*
|
2720
2907
|
* call-seq:
|
2721
|
-
* fix << count
|
2908
|
+
* fix << count -> integer
|
2722
2909
|
*
|
2723
2910
|
* Shifts _fix_ left _count_ positions (right if _count_ is negative).
|
2724
2911
|
*/
|
@@ -2750,7 +2937,7 @@ fix_lshift(long val, unsigned long width)
|
|
2750
2937
|
|
2751
2938
|
/*
|
2752
2939
|
* call-seq:
|
2753
|
-
* fix >> count
|
2940
|
+
* fix >> count -> integer
|
2754
2941
|
*
|
2755
2942
|
* Shifts _fix_ right _count_ positions (left if _count_ is negative).
|
2756
2943
|
*/
|
@@ -2783,7 +2970,7 @@ fix_rshift(long val, unsigned long i)
|
|
2783
2970
|
|
2784
2971
|
/*
|
2785
2972
|
* call-seq:
|
2786
|
-
* fix[n]
|
2973
|
+
* fix[n] -> 0, 1
|
2787
2974
|
*
|
2788
2975
|
* Bit Reference---Returns the <em>n</em>th bit in the binary
|
2789
2976
|
* representation of <i>fix</i>, where <i>fix</i>[0] is the least
|
@@ -2826,7 +3013,7 @@ fix_aref(VALUE fix, VALUE idx)
|
|
2826
3013
|
|
2827
3014
|
/*
|
2828
3015
|
* call-seq:
|
2829
|
-
* fix.to_f
|
3016
|
+
* fix.to_f -> float
|
2830
3017
|
*
|
2831
3018
|
* Converts <i>fix</i> to a <code>Float</code>.
|
2832
3019
|
*
|
@@ -2844,7 +3031,8 @@ fix_to_f(VALUE num)
|
|
2844
3031
|
|
2845
3032
|
/*
|
2846
3033
|
* call-seq:
|
2847
|
-
* fix.abs
|
3034
|
+
* fix.abs -> integer
|
3035
|
+
* fix.magnitude -> integer
|
2848
3036
|
*
|
2849
3037
|
* Returns the absolute value of <i>fix</i>.
|
2850
3038
|
*
|
@@ -2867,7 +3055,7 @@ fix_abs(VALUE fix)
|
|
2867
3055
|
|
2868
3056
|
/*
|
2869
3057
|
* call-seq:
|
2870
|
-
* fix.size
|
3058
|
+
* fix.size -> fixnum
|
2871
3059
|
*
|
2872
3060
|
* Returns the number of <em>bytes</em> in the machine representation
|
2873
3061
|
* of a <code>Fixnum</code>.
|
@@ -2885,11 +3073,14 @@ fix_size(VALUE fix)
|
|
2885
3073
|
|
2886
3074
|
/*
|
2887
3075
|
* call-seq:
|
2888
|
-
* int.upto(limit) {|i| block }
|
3076
|
+
* int.upto(limit) {|i| block } -> self
|
3077
|
+
* int.upto(limit) -> an_enumerator
|
2889
3078
|
*
|
2890
3079
|
* Iterates <em>block</em>, passing in integer values from <i>int</i>
|
2891
3080
|
* up to and including <i>limit</i>.
|
2892
3081
|
*
|
3082
|
+
* If no block is given, an enumerator is returned instead.
|
3083
|
+
*
|
2893
3084
|
* 5.upto(10) { |i| print i, " " }
|
2894
3085
|
*
|
2895
3086
|
* <em>produces:</em>
|
@@ -2923,11 +3114,14 @@ int_upto(VALUE from, VALUE to)
|
|
2923
3114
|
|
2924
3115
|
/*
|
2925
3116
|
* call-seq:
|
2926
|
-
* int.downto(limit) {|i| block }
|
3117
|
+
* int.downto(limit) {|i| block } -> self
|
3118
|
+
* int.downto(limit) -> an_enumerator
|
2927
3119
|
*
|
2928
3120
|
* Iterates <em>block</em>, passing decreasing values from <i>int</i>
|
2929
3121
|
* down to and including <i>limit</i>.
|
2930
3122
|
*
|
3123
|
+
* If no block is given, an enumerator is returned instead.
|
3124
|
+
*
|
2931
3125
|
* 5.downto(1) { |n| print n, ".. " }
|
2932
3126
|
* print " Liftoff!\n"
|
2933
3127
|
*
|
@@ -2962,11 +3156,14 @@ int_downto(VALUE from, VALUE to)
|
|
2962
3156
|
|
2963
3157
|
/*
|
2964
3158
|
* call-seq:
|
2965
|
-
* int.times {|i| block }
|
3159
|
+
* int.times {|i| block } -> self
|
3160
|
+
* int.times -> an_enumerator
|
2966
3161
|
*
|
2967
3162
|
* Iterates block <i>int</i> times, passing in values from zero to
|
2968
3163
|
* <i>int</i> - 1.
|
2969
3164
|
*
|
3165
|
+
* If no block is given, an enumerator is returned instead.
|
3166
|
+
*
|
2970
3167
|
* 5.times do |i|
|
2971
3168
|
* print i, " "
|
2972
3169
|
* end
|
@@ -3001,6 +3198,19 @@ int_dotimes(VALUE num)
|
|
3001
3198
|
return num;
|
3002
3199
|
}
|
3003
3200
|
|
3201
|
+
/*
|
3202
|
+
* call-seq:
|
3203
|
+
* num.round([ndigits]) -> integer or float
|
3204
|
+
*
|
3205
|
+
* Rounds <i>flt</i> to a given precision in decimal digits (default 0 digits).
|
3206
|
+
* Precision may be negative. Returns a floating point number when +ndigits+
|
3207
|
+
* is positive, +self+ for zero, and round down for negative.
|
3208
|
+
*
|
3209
|
+
* 1.round #=> 1
|
3210
|
+
* 1.round(2) #=> 1.0
|
3211
|
+
* 15.round(-1) #=> 20
|
3212
|
+
*/
|
3213
|
+
|
3004
3214
|
static VALUE
|
3005
3215
|
int_round(int argc, VALUE* argv, VALUE num)
|
3006
3216
|
{
|
@@ -3040,7 +3250,7 @@ int_round(int argc, VALUE* argv, VALUE num)
|
|
3040
3250
|
|
3041
3251
|
/*
|
3042
3252
|
* call-seq:
|
3043
|
-
* fix.zero?
|
3253
|
+
* fix.zero? -> true or false
|
3044
3254
|
*
|
3045
3255
|
* Returns <code>true</code> if <i>fix</i> is zero.
|
3046
3256
|
*
|
@@ -3057,7 +3267,7 @@ fix_zero_p(VALUE num)
|
|
3057
3267
|
|
3058
3268
|
/*
|
3059
3269
|
* call-seq:
|
3060
|
-
* fix.odd?
|
3270
|
+
* fix.odd? -> true or false
|
3061
3271
|
*
|
3062
3272
|
* Returns <code>true</code> if <i>fix</i> is an odd number.
|
3063
3273
|
*/
|
@@ -3073,7 +3283,7 @@ fix_odd_p(VALUE num)
|
|
3073
3283
|
|
3074
3284
|
/*
|
3075
3285
|
* call-seq:
|
3076
|
-
* fix.even?
|
3286
|
+
* fix.even? -> true or false
|
3077
3287
|
*
|
3078
3288
|
* Returns <code>true</code> if <i>fix</i> is an even number.
|
3079
3289
|
*/
|
@@ -3087,6 +3297,38 @@ fix_even_p(VALUE num)
|
|
3087
3297
|
return Qtrue;
|
3088
3298
|
}
|
3089
3299
|
|
3300
|
+
/*
|
3301
|
+
* Document-class: ZeroDivisionError
|
3302
|
+
*
|
3303
|
+
* Raised when attempting to divide an integer by 0.
|
3304
|
+
*
|
3305
|
+
* 42 / 0
|
3306
|
+
*
|
3307
|
+
* <em>raises the exception:</em>
|
3308
|
+
*
|
3309
|
+
* ZeroDivisionError: divided by 0
|
3310
|
+
*
|
3311
|
+
* Note that only division by an exact 0 will raise that exception:
|
3312
|
+
*
|
3313
|
+
* 42 / 0.0 #=> Float::INFINITY
|
3314
|
+
* 42 / -0.0 #=> -Float::INFINITY
|
3315
|
+
* 0 / 0.0 #=> NaN
|
3316
|
+
*/
|
3317
|
+
|
3318
|
+
/*
|
3319
|
+
* Document-class: FloatDomainError
|
3320
|
+
*
|
3321
|
+
* Raised when attempting to convert special float values
|
3322
|
+
* (in particular infinite or NaN)
|
3323
|
+
* to numerical classes which don't support them.
|
3324
|
+
*
|
3325
|
+
* Float::INFINITY.to_r
|
3326
|
+
*
|
3327
|
+
* <em>raises the exception:</em>
|
3328
|
+
*
|
3329
|
+
* FloatDomainError: Infinity
|
3330
|
+
*/
|
3331
|
+
|
3090
3332
|
void
|
3091
3333
|
Init_Numeric(void)
|
3092
3334
|
{
|
@@ -3116,6 +3358,7 @@ Init_Numeric(void)
|
|
3116
3358
|
rb_define_method(rb_cNumeric, "initialize_copy", num_init_copy, 1);
|
3117
3359
|
rb_define_method(rb_cNumeric, "coerce", num_coerce, 1);
|
3118
3360
|
|
3361
|
+
rb_define_method(rb_cNumeric, "i", num_imaginary, 0);
|
3119
3362
|
rb_define_method(rb_cNumeric, "+@", num_uplus, 0);
|
3120
3363
|
rb_define_method(rb_cNumeric, "-@", num_uminus, 0);
|
3121
3364
|
rb_define_method(rb_cNumeric, "<=>", num_cmp, 1);
|
@@ -3124,6 +3367,7 @@ Init_Numeric(void)
|
|
3124
3367
|
rb_define_method(rb_cNumeric, "fdiv", num_fdiv, 1);
|
3125
3368
|
rb_define_method(rb_cNumeric, "div", num_div, 1);
|
3126
3369
|
rb_define_method(rb_cNumeric, "divmod", num_divmod, 1);
|
3370
|
+
rb_define_method(rb_cNumeric, "%", num_modulo, 1);
|
3127
3371
|
rb_define_method(rb_cNumeric, "modulo", num_modulo, 1);
|
3128
3372
|
rb_define_method(rb_cNumeric, "remainder", num_remainder, 1);
|
3129
3373
|
rb_define_method(rb_cNumeric, "abs", num_abs, 0);
|
@@ -3141,9 +3385,6 @@ Init_Numeric(void)
|
|
3141
3385
|
rb_define_method(rb_cNumeric, "truncate", num_truncate, 0);
|
3142
3386
|
rb_define_method(rb_cNumeric, "step", num_step, -1);
|
3143
3387
|
|
3144
|
-
rb_define_method(rb_cNumeric, "numerator", num_numerator, 0);
|
3145
|
-
rb_define_method(rb_cNumeric, "denominator", num_denominator, 0);
|
3146
|
-
|
3147
3388
|
rb_cInteger = rb_define_class("Integer", rb_cNumeric);
|
3148
3389
|
rb_undef_alloc_func(rb_cInteger);
|
3149
3390
|
rb_undef_method(CLASS_OF(rb_cInteger), "new");
|
@@ -3166,9 +3407,6 @@ Init_Numeric(void)
|
|
3166
3407
|
rb_define_method(rb_cInteger, "truncate", int_to_i, 0);
|
3167
3408
|
rb_define_method(rb_cInteger, "round", int_round, -1);
|
3168
3409
|
|
3169
|
-
rb_define_method(rb_cInteger, "numerator", int_numerator, 0);
|
3170
|
-
rb_define_method(rb_cInteger, "denominator", int_denominator, 0);
|
3171
|
-
|
3172
3410
|
rb_cFixnum = rb_define_class("Fixnum", rb_cInteger);
|
3173
3411
|
|
3174
3412
|
rb_define_method(rb_cFixnum, "to_s", fix_to_s, -1);
|
@@ -3189,6 +3427,7 @@ Init_Numeric(void)
|
|
3189
3427
|
rb_define_method(rb_cFixnum, "magnitude", fix_abs, 0);
|
3190
3428
|
|
3191
3429
|
rb_define_method(rb_cFixnum, "==", fix_equal, 1);
|
3430
|
+
rb_define_method(rb_cFixnum, "===", fix_equal, 1);
|
3192
3431
|
rb_define_method(rb_cFixnum, "<=>", fix_cmp, 1);
|
3193
3432
|
rb_define_method(rb_cFixnum, ">", fix_gt, 1);
|
3194
3433
|
rb_define_method(rb_cFixnum, ">=", fix_ge, 1);
|
@@ -3227,6 +3466,8 @@ Init_Numeric(void)
|
|
3227
3466
|
rb_define_const(rb_cFloat, "MIN", DBL2NUM(DBL_MIN));
|
3228
3467
|
rb_define_const(rb_cFloat, "MAX", DBL2NUM(DBL_MAX));
|
3229
3468
|
rb_define_const(rb_cFloat, "EPSILON", DBL2NUM(DBL_EPSILON));
|
3469
|
+
rb_define_const(rb_cFloat, "INFINITY", DBL2NUM(INFINITY));
|
3470
|
+
rb_define_const(rb_cFloat, "NAN", DBL2NUM(NAN));
|
3230
3471
|
|
3231
3472
|
rb_define_method(rb_cFloat, "to_s", flo_to_s, 0);
|
3232
3473
|
rb_define_method(rb_cFloat, "coerce", flo_coerce, 1);
|
@@ -3242,6 +3483,7 @@ Init_Numeric(void)
|
|
3242
3483
|
rb_define_method(rb_cFloat, "divmod", flo_divmod, 1);
|
3243
3484
|
rb_define_method(rb_cFloat, "**", flo_pow, 1);
|
3244
3485
|
rb_define_method(rb_cFloat, "==", flo_eq, 1);
|
3486
|
+
rb_define_method(rb_cFloat, "===", flo_eq, 1);
|
3245
3487
|
rb_define_method(rb_cFloat, "<=>", flo_cmp, 1);
|
3246
3488
|
rb_define_method(rb_cFloat, ">", flo_gt, 1);
|
3247
3489
|
rb_define_method(rb_cFloat, ">=", flo_ge, 1);
|