rice 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -51,7 +51,7 @@ call(int argc, VALUE* argv, VALUE self)
51
51
 
52
52
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14, varg15;
53
53
 
54
- rb_scan_args(argc, argv, args->formatString(Num_Args),
54
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
55
55
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12, &varg13, &varg14, &varg15);
56
56
 
57
57
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -141,7 +141,7 @@ call(int argc, VALUE* argv, VALUE self)
141
141
 
142
142
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14, varg15;
143
143
 
144
- rb_scan_args(argc, argv, args->formatString(Num_Args),
144
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
145
145
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12, &varg13, &varg14, &varg15);
146
146
 
147
147
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -233,7 +233,7 @@ call(int argc, VALUE* argv, VALUE self)
233
233
 
234
234
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14;
235
235
 
236
- rb_scan_args(argc, argv, args->formatString(Num_Args),
236
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
237
237
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12, &varg13, &varg14);
238
238
 
239
239
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -321,7 +321,7 @@ call(int argc, VALUE* argv, VALUE self)
321
321
 
322
322
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14;
323
323
 
324
- rb_scan_args(argc, argv, args->formatString(Num_Args),
324
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
325
325
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12, &varg13, &varg14);
326
326
 
327
327
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -411,7 +411,7 @@ call(int argc, VALUE* argv, VALUE self)
411
411
 
412
412
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13;
413
413
 
414
- rb_scan_args(argc, argv, args->formatString(Num_Args),
414
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
415
415
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12, &varg13);
416
416
 
417
417
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -497,7 +497,7 @@ call(int argc, VALUE* argv, VALUE self)
497
497
 
498
498
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13;
499
499
 
500
- rb_scan_args(argc, argv, args->formatString(Num_Args),
500
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
501
501
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12, &varg13);
502
502
 
503
503
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -585,7 +585,7 @@ call(int argc, VALUE* argv, VALUE self)
585
585
 
586
586
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12;
587
587
 
588
- rb_scan_args(argc, argv, args->formatString(Num_Args),
588
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
589
589
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12);
590
590
 
591
591
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -669,7 +669,7 @@ call(int argc, VALUE* argv, VALUE self)
669
669
 
670
670
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12;
671
671
 
672
- rb_scan_args(argc, argv, args->formatString(Num_Args),
672
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
673
673
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12);
674
674
 
675
675
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -755,7 +755,7 @@ call(int argc, VALUE* argv, VALUE self)
755
755
 
756
756
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11;
757
757
 
758
- rb_scan_args(argc, argv, args->formatString(Num_Args),
758
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
759
759
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11);
760
760
 
761
761
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -837,7 +837,7 @@ call(int argc, VALUE* argv, VALUE self)
837
837
 
838
838
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11;
839
839
 
840
- rb_scan_args(argc, argv, args->formatString(Num_Args),
840
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
841
841
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11);
842
842
 
843
843
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -921,7 +921,7 @@ call(int argc, VALUE* argv, VALUE self)
921
921
 
922
922
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10;
923
923
 
924
- rb_scan_args(argc, argv, args->formatString(Num_Args),
924
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
925
925
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10);
926
926
 
927
927
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -1001,7 +1001,7 @@ call(int argc, VALUE* argv, VALUE self)
1001
1001
 
1002
1002
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10;
1003
1003
 
1004
- rb_scan_args(argc, argv, args->formatString(Num_Args),
1004
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
1005
1005
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10);
1006
1006
 
1007
1007
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -1083,7 +1083,7 @@ call(int argc, VALUE* argv, VALUE self)
1083
1083
 
1084
1084
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9;
1085
1085
 
1086
- rb_scan_args(argc, argv, args->formatString(Num_Args),
1086
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
1087
1087
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9);
1088
1088
 
1089
1089
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -1161,7 +1161,7 @@ call(int argc, VALUE* argv, VALUE self)
1161
1161
 
1162
1162
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9;
1163
1163
 
1164
- rb_scan_args(argc, argv, args->formatString(Num_Args),
1164
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
1165
1165
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9);
1166
1166
 
1167
1167
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -1241,7 +1241,7 @@ call(int argc, VALUE* argv, VALUE self)
1241
1241
 
1242
1242
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8;
1243
1243
 
1244
- rb_scan_args(argc, argv, args->formatString(Num_Args),
1244
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
1245
1245
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8);
1246
1246
 
1247
1247
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -1317,7 +1317,7 @@ call(int argc, VALUE* argv, VALUE self)
1317
1317
 
1318
1318
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8;
1319
1319
 
1320
- rb_scan_args(argc, argv, args->formatString(Num_Args),
1320
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
1321
1321
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8);
1322
1322
 
1323
1323
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -1395,7 +1395,7 @@ call(int argc, VALUE* argv, VALUE self)
1395
1395
 
1396
1396
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7;
1397
1397
 
1398
- rb_scan_args(argc, argv, args->formatString(Num_Args),
1398
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
1399
1399
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7);
1400
1400
 
1401
1401
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -1469,7 +1469,7 @@ call(int argc, VALUE* argv, VALUE self)
1469
1469
 
1470
1470
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7;
1471
1471
 
1472
- rb_scan_args(argc, argv, args->formatString(Num_Args),
1472
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
1473
1473
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7);
1474
1474
 
1475
1475
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -1545,7 +1545,7 @@ call(int argc, VALUE* argv, VALUE self)
1545
1545
 
1546
1546
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6;
1547
1547
 
1548
- rb_scan_args(argc, argv, args->formatString(Num_Args),
1548
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
1549
1549
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6);
1550
1550
 
1551
1551
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -1617,7 +1617,7 @@ call(int argc, VALUE* argv, VALUE self)
1617
1617
 
1618
1618
  VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6;
1619
1619
 
1620
- rb_scan_args(argc, argv, args->formatString(Num_Args),
1620
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
1621
1621
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6);
1622
1622
 
1623
1623
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -1691,7 +1691,7 @@ call(int argc, VALUE* argv, VALUE self)
1691
1691
 
1692
1692
  VALUE varg0, varg1, varg2, varg3, varg4, varg5;
1693
1693
 
1694
- rb_scan_args(argc, argv, args->formatString(Num_Args),
1694
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
1695
1695
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5);
1696
1696
 
1697
1697
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -1761,7 +1761,7 @@ call(int argc, VALUE* argv, VALUE self)
1761
1761
 
1762
1762
  VALUE varg0, varg1, varg2, varg3, varg4, varg5;
1763
1763
 
1764
- rb_scan_args(argc, argv, args->formatString(Num_Args),
1764
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
1765
1765
  &varg0, &varg1, &varg2, &varg3, &varg4, &varg5);
1766
1766
 
1767
1767
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -1833,7 +1833,7 @@ call(int argc, VALUE* argv, VALUE self)
1833
1833
 
1834
1834
  VALUE varg0, varg1, varg2, varg3, varg4;
1835
1835
 
1836
- rb_scan_args(argc, argv, args->formatString(Num_Args),
1836
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
1837
1837
  &varg0, &varg1, &varg2, &varg3, &varg4);
1838
1838
 
1839
1839
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -1901,7 +1901,7 @@ call(int argc, VALUE* argv, VALUE self)
1901
1901
 
1902
1902
  VALUE varg0, varg1, varg2, varg3, varg4;
1903
1903
 
1904
- rb_scan_args(argc, argv, args->formatString(Num_Args),
1904
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
1905
1905
  &varg0, &varg1, &varg2, &varg3, &varg4);
1906
1906
 
1907
1907
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -1971,7 +1971,7 @@ call(int argc, VALUE* argv, VALUE self)
1971
1971
 
1972
1972
  VALUE varg0, varg1, varg2, varg3;
1973
1973
 
1974
- rb_scan_args(argc, argv, args->formatString(Num_Args),
1974
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
1975
1975
  &varg0, &varg1, &varg2, &varg3);
1976
1976
 
1977
1977
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -2037,7 +2037,7 @@ call(int argc, VALUE* argv, VALUE self)
2037
2037
 
2038
2038
  VALUE varg0, varg1, varg2, varg3;
2039
2039
 
2040
- rb_scan_args(argc, argv, args->formatString(Num_Args),
2040
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
2041
2041
  &varg0, &varg1, &varg2, &varg3);
2042
2042
 
2043
2043
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -2105,7 +2105,7 @@ call(int argc, VALUE* argv, VALUE self)
2105
2105
 
2106
2106
  VALUE varg0, varg1, varg2;
2107
2107
 
2108
- rb_scan_args(argc, argv, args->formatString(Num_Args),
2108
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
2109
2109
  &varg0, &varg1, &varg2);
2110
2110
 
2111
2111
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -2169,7 +2169,7 @@ call(int argc, VALUE* argv, VALUE self)
2169
2169
 
2170
2170
  VALUE varg0, varg1, varg2;
2171
2171
 
2172
- rb_scan_args(argc, argv, args->formatString(Num_Args),
2172
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
2173
2173
  &varg0, &varg1, &varg2);
2174
2174
 
2175
2175
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -2235,7 +2235,7 @@ call(int argc, VALUE* argv, VALUE self)
2235
2235
 
2236
2236
  VALUE varg0, varg1;
2237
2237
 
2238
- rb_scan_args(argc, argv, args->formatString(Num_Args),
2238
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
2239
2239
  &varg0, &varg1);
2240
2240
 
2241
2241
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -2297,7 +2297,7 @@ call(int argc, VALUE* argv, VALUE self)
2297
2297
 
2298
2298
  VALUE varg0, varg1;
2299
2299
 
2300
- rb_scan_args(argc, argv, args->formatString(Num_Args),
2300
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
2301
2301
  &varg0, &varg1);
2302
2302
 
2303
2303
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -2361,7 +2361,7 @@ call(int argc, VALUE* argv, VALUE self)
2361
2361
 
2362
2362
  VALUE varg0;
2363
2363
 
2364
- rb_scan_args(argc, argv, args->formatString(Num_Args),
2364
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
2365
2365
  &varg0);
2366
2366
 
2367
2367
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -2421,7 +2421,7 @@ call(int argc, VALUE* argv, VALUE self)
2421
2421
 
2422
2422
  VALUE varg0;
2423
2423
 
2424
- rb_scan_args(argc, argv, args->formatString(Num_Args),
2424
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
2425
2425
  &varg0);
2426
2426
 
2427
2427
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -8,7 +8,7 @@ namespace Rice
8
8
  template<typename T>
9
9
  struct to_ruby_
10
10
  {
11
- static Rice::Object convert(T & x);
11
+ static Rice::Object convert(T const & x);
12
12
  };
13
13
 
14
14
  template<typename T>
@@ -3,11 +3,11 @@
3
3
  template<typename T>
4
4
  Rice::Object
5
5
  Rice::detail::to_ruby_<T>::
6
- convert(T & x)
6
+ convert(T const & x)
7
7
  {
8
8
  if(Data_Type<T>::is_bound())
9
9
  {
10
- Data_Object<T> obj(&x);
10
+ Data_Object<T> obj(&const_cast<T&>(x));
11
11
  return obj;
12
12
  }
13
13
  else
@@ -364,7 +364,7 @@ call(int argc, VALUE *argv, VALUE self)
364
364
  VALUE %(scan_def_list);
365
365
 
366
366
  if(hasSelf) {
367
- rb_scan_args(argc, argv, args->formatString(Num_Args - 1)
367
+ rb_scan_args(argc, argv, args->formatString(Num_Args - 1).c_str()
368
368
  %(scan_args_list));
369
369
 
370
370
  Arg0_T arg0 = from_ruby<Arg0_T>(self);
@@ -372,7 +372,7 @@ call(int argc, VALUE *argv, VALUE self)
372
372
 
373
373
  return to_ruby(wrapper->func_(%(arg_list)));
374
374
  } else {
375
- rb_scan_args(argc, argv, args->formatString(Num_Args)
375
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str()
376
376
  %(scan_args_list));
377
377
 
378
378
  %(arg_convert_list)
@@ -437,7 +437,7 @@ call(int argc, VALUE* argv, VALUE self)
437
437
  VALUE %(scan_def_list);
438
438
 
439
439
  if(hasSelf) {
440
- rb_scan_args(argc, argv, args->formatString(Num_Args - 1)
440
+ rb_scan_args(argc, argv, args->formatString(Num_Args - 1) .c_str()
441
441
  %(scan_args_list));
442
442
 
443
443
  Arg0_T arg0 = from_ruby<Arg0_T>(self);
@@ -446,7 +446,7 @@ call(int argc, VALUE* argv, VALUE self)
446
446
  wrapper->func_(%(arg_list));
447
447
  return Qnil;
448
448
  } else {
449
- rb_scan_args(argc, argv, args->formatString(Num_Args)
449
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str()
450
450
  %(scan_args_list));
451
451
 
452
452
  %(arg_convert_list)
@@ -563,7 +563,7 @@ call()
563
563
  Data_Object<Wrapped_Function> data(detail::method_data());
564
564
  wrapper = (Auto_Function_Wrapper<Func_T, Ret_T>*)data.get();
565
565
 
566
- return to_ruby<Ret_T>(wrapper->func_());
566
+ return to_ruby(wrapper->func_());
567
567
  }
568
568
  catch(...)
569
569
  {
@@ -765,7 +765,7 @@ call(int argc, VALUE* argv, VALUE self)
765
765
 
766
766
  VALUE %(scan_def_list);
767
767
 
768
- rb_scan_args(argc, argv, args->formatString(Num_Args),
768
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
769
769
  %(scan_args_list));
770
770
 
771
771
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -824,7 +824,7 @@ call(int argc, VALUE* argv, VALUE self)
824
824
 
825
825
  VALUE %(scan_def_list);
826
826
 
827
- rb_scan_args(argc, argv, args->formatString(Num_Args),
827
+ rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
828
828
  %(scan_args_list));
829
829
 
830
830
  Self_T * obj = from_ruby<Self_T *>(self);
@@ -289,3 +289,9 @@ Rice::Object to_ruby<std::string>(std::string const & x)
289
289
  return to_ruby(x.c_str());
290
290
  }
291
291
 
292
+ template<>
293
+ inline
294
+ std::string* from_ruby<std::string* >(Rice::Object x)
295
+ {
296
+ return new std::string(from_ruby<char const *>(x));
297
+ }
data/ruby/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Rice
2
- VERSION = "1.3.0"
2
+ VERSION = "1.3.1"
3
3
  end
data/test/test_Class.cpp CHANGED
@@ -128,13 +128,39 @@ TESTCASE(define_module_function_simple)
128
128
  );
129
129
  }
130
130
 
131
+ namespace
132
+ {
133
+ class RefTest
134
+ {
135
+ public:
136
+ RefTest() { }
137
+
138
+ static std::string& getReference() {
139
+ static std::string foo = "foo";
140
+ return foo;
141
+ }
142
+ };
143
+ }
144
+
145
+ TESTCASE(define_singleton_method_returning_reference)
146
+ {
147
+ Class c = define_class<RefTest>("RefTest")
148
+ .define_constructor(Constructor<RefTest>())
149
+ .define_singleton_method("get_reference", &RefTest::getReference);
150
+
151
+ Module m(anonymous_module());
152
+
153
+ Object result = m.instance_eval("RefTest.get_reference");
154
+ ASSERT_EQUAL(result, String("foo"));
155
+ }
156
+
131
157
  namespace
132
158
  {
133
159
 
134
160
  int define_method_int_result;
135
161
 
136
162
  class IntHelper {
137
- public:
163
+ public:
138
164
  IntHelper() { }
139
165
 
140
166
  void define_method_int_helper(int i)
@@ -147,7 +173,7 @@ namespace
147
173
 
148
174
  TESTCASE(define_method_int)
149
175
  {
150
- Class c =
176
+ Class c =
151
177
  define_class<IntHelper>("IntHelper")
152
178
  .define_constructor(Constructor<IntHelper>())
153
179
  .define_method("foo", &IntHelper::define_method_int_helper);
@@ -160,7 +186,7 @@ TESTCASE(define_method_int)
160
186
 
161
187
  TESTCASE(define_method_int_passed_two_args)
162
188
  {
163
- Class c =
189
+ Class c =
164
190
  define_class<IntHelper>("IntHelper")
165
191
  .define_constructor(Constructor<IntHelper>())
166
192
  .define_method("foo", &IntHelper::define_method_int_helper);
@@ -179,7 +205,7 @@ TESTCASE(define_method_int_passed_two_args)
179
205
 
180
206
  TESTCASE(define_method_int_passed_no_args)
181
207
  {
182
- Class c =
208
+ Class c =
183
209
  define_class<IntHelper>("IntHelper")
184
210
  .define_constructor(Constructor<IntHelper>())
185
211
  .define_method("foo", &IntHelper::define_method_int_helper);
@@ -238,11 +264,6 @@ TESTCASE(define_method_int_foo)
238
264
  ASSERT_EQUAL(foo, define_method_int_foo_result_x);
239
265
  }
240
266
 
241
-
242
- TESTCASE(define_method_with_default_arguments)
243
- {
244
- }
245
-
246
267
  namespace
247
268
  {
248
269
 
@@ -390,14 +411,14 @@ TESTCASE(subclassing)
390
411
 
391
412
  // Not sure how to make this a true failure case. If the subclassing
392
413
  // doesn't work, Ruby will throw an error:
393
- //
414
+ //
394
415
  // in `new': wrong instance allocation
395
416
  //
396
417
  m.instance_eval("class NewClass < Testing::BaseClass; end;");
397
418
  m.instance_eval("n = NewClass.new");
398
419
  }
399
420
 
400
- namespace
421
+ namespace
401
422
  {
402
423
  int defaults_method_one_arg1;
403
424
  int defaults_method_one_arg2;
@@ -406,7 +427,7 @@ namespace
406
427
  class DefaultArgs
407
428
  {
408
429
  public:
409
- void defaults_method_one(int arg1, int arg2 = 3, bool arg3 = true)
430
+ void defaults_method_one(int arg1, int arg2 = 3, bool arg3 = true)
410
431
  {
411
432
  defaults_method_one_arg1 = arg1;
412
433
  defaults_method_one_arg2 = arg2;
@@ -419,8 +440,8 @@ TESTCASE(define_method_default_arguments)
419
440
  {
420
441
  Class c = define_class<DefaultArgs>("DefaultArgs")
421
442
  .define_constructor(Constructor<DefaultArgs>())
422
- .define_method("with_defaults",
423
- &DefaultArgs::defaults_method_one,
443
+ .define_method("with_defaults",
444
+ &DefaultArgs::defaults_method_one,
424
445
  (Arg("arg1"), Arg("arg2") = 3, Arg("arg3") = true));
425
446
 
426
447
  Object o = c.call("new");
@@ -448,7 +469,7 @@ namespace {
448
469
  float with_reference_defaults_x;
449
470
  std::string with_reference_defaults_str;
450
471
 
451
- class DefaultArgsRefs
472
+ class DefaultArgsRefs
452
473
  {
453
474
  public:
454
475
  void with_reference_defaults(float x, std::string const& str = std::string("testing"))
@@ -460,12 +481,12 @@ namespace {
460
481
 
461
482
  }
462
483
 
463
- TESTCASE(define_method_works_with_reference_const_default_values)
484
+ TESTCASE(define_method_works_with_reference_const_default_values)
464
485
  {
465
486
  Class c = define_class<DefaultArgsRefs>("DefaultArgsRefs")
466
487
  .define_constructor(Constructor<DefaultArgsRefs>())
467
- .define_method("bar",
468
- &DefaultArgsRefs::with_reference_defaults,
488
+ .define_method("bar",
489
+ &DefaultArgsRefs::with_reference_defaults,
469
490
  (Arg("x"), Arg("str") = std::string("testing")));
470
491
 
471
492
  Object o = c.call("new");