rice 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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");