Changeset 2310 for lang/javascript/jsruby
- Timestamp:
- 12/03/07 00:58:09 (6 years ago)
- Location:
- lang/javascript/jsruby/trunk
- Files:
-
- 2 modified
-
src/parse.js (modified) (2 diffs)
-
tests/integer.html (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/javascript/jsruby/trunk/src/parse.js
r2308 r2310 202 202 this.body = prebody; 203 203 } 204 if (this.body.match(/^[ \t]*(0x[0-9A-F a-f]+|0b([01]+)|[0-9]+)/)) {204 if (this.body.match(/^[ \t]*(0x[0-9A-F]+|0b([01]+)|0o?[0-7]+|(?:0d)?[0-9]+)/i)) { 205 205 this.body = RegExp.rightContext; 206 206 var i; … … 208 208 i = parseInt(RegExp.$2, 2); 209 209 } else { 210 i = parseInt(RegExp.$1 );210 i = parseInt(RegExp.$1.replace(/^0d/i, '').replace(/^0o/i, '0')); 211 211 } 212 212 return new RubyEngine.RubyObject.Numeric(i); -
lang/javascript/jsruby/trunk/tests/integer.html
r2308 r2310 18 18 function testLiteral() { 19 19 assertEquals("hex", ruby.exec("0xfc84"), 64644); 20 assertEquals("hex", ruby.exec("0XFC84"), 64644); 21 20 22 assertEquals("dec", ruby.exec("52525"), 52525); 23 assertEquals("dec", ruby.exec("0d52525"), 52525); 24 assertEquals("dec", ruby.exec("0D52525"), 52525); 25 21 26 assertEquals("oct", ruby.exec("0744"), 484); 27 assertEquals("oct", ruby.exec("0o744"), 484); 28 assertEquals("oct", ruby.exec("0O744"), 484); 29 22 30 assertEquals("bin", ruby.exec("0b01101001"), 105); 31 assertEquals("bin", ruby.exec("0B01101001"), 105); 23 32 } 24 33
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)