rbplusplus 0.8 → 0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. data/Rakefile +13 -13
  2. data/TODO +9 -41
  3. data/lib/rbplusplus/builders/allocation_strategy.rb +57 -0
  4. data/lib/rbplusplus/builders/base.rb +115 -212
  5. data/lib/rbplusplus/builders/class.rb +129 -115
  6. data/lib/rbplusplus/builders/const.rb +30 -0
  7. data/lib/rbplusplus/builders/const_converter.rb +52 -0
  8. data/lib/rbplusplus/builders/constructor.rb +19 -0
  9. data/lib/rbplusplus/builders/director.rb +149 -0
  10. data/lib/rbplusplus/builders/director_method.rb +20 -0
  11. data/lib/rbplusplus/builders/enumeration.rb +19 -26
  12. data/lib/rbplusplus/builders/extension.rb +42 -54
  13. data/lib/rbplusplus/builders/global_function.rb +18 -0
  14. data/lib/rbplusplus/builders/helpers/class.rb +74 -0
  15. data/lib/rbplusplus/builders/helpers/enumeration.rb +28 -0
  16. data/lib/rbplusplus/builders/helpers/module.rb +22 -0
  17. data/lib/rbplusplus/builders/include.rb +32 -0
  18. data/lib/rbplusplus/builders/instance_variable.rb +36 -0
  19. data/lib/rbplusplus/builders/method.rb +14 -0
  20. data/lib/rbplusplus/builders/method_base.rb +136 -0
  21. data/lib/rbplusplus/builders/module.rb +37 -51
  22. data/lib/rbplusplus/builders/module_function.rb +16 -0
  23. data/lib/rbplusplus/builders/static_method.rb +14 -0
  24. data/lib/rbplusplus/extension.rb +140 -28
  25. data/lib/rbplusplus/logger.rb +45 -0
  26. data/lib/rbplusplus/module.rb +55 -1
  27. data/lib/rbplusplus/transformers/class.rb +116 -35
  28. data/lib/rbplusplus/transformers/function.rb +14 -16
  29. data/lib/rbplusplus/transformers/method.rb +26 -1
  30. data/lib/rbplusplus/transformers/namespace.rb +12 -0
  31. data/lib/rbplusplus/transformers/node.rb +47 -54
  32. data/lib/rbplusplus/transformers/node_cache.rb +5 -9
  33. data/lib/rbplusplus/writers/multiple_files_writer.rb +290 -88
  34. data/lib/rbplusplus/writers/single_file_writer.rb +36 -14
  35. data/lib/rbplusplus.rb +44 -18
  36. data/test/allocation_strategies_test.rb +33 -0
  37. data/test/class_methods_encapsulate_test.rb +59 -0
  38. data/test/class_methods_test.rb +2 -35
  39. data/test/classes_test.rb +72 -2
  40. data/test/compiling_test.rb +13 -0
  41. data/test/constructors_test.rb +9 -18
  42. data/test/custom_code_test.rb +53 -0
  43. data/test/default_arguments_test.rb +69 -0
  44. data/test/director_test.rb +173 -0
  45. data/test/enumerations_test.rb +29 -0
  46. data/test/extension_test.rb +7 -2
  47. data/test/file_writers_test.rb +11 -4
  48. data/test/function_pointer_test.rb +56 -0
  49. data/test/function_pointers_classes_test.rb +27 -0
  50. data/test/generated/extconf.rb +2 -2
  51. data/test/headers/Adder.cpp +8 -0
  52. data/test/headers/Adder.h +31 -1
  53. data/test/headers/alloc_strats.h +26 -0
  54. data/test/headers/class_methods.h +30 -0
  55. data/test/headers/code/custom_to_from_ruby.cpp +11 -0
  56. data/test/headers/code/custom_to_from_ruby.hpp +13 -0
  57. data/test/headers/constructors.h +8 -20
  58. data/test/headers/default_arguments.h +49 -0
  59. data/test/headers/director.h +148 -0
  60. data/test/headers/enums.h +33 -0
  61. data/test/headers/function_pointers.h +32 -0
  62. data/test/headers/function_pointers_class.h +26 -0
  63. data/test/headers/needs_code.h +10 -0
  64. data/test/headers/overload.h +0 -3
  65. data/test/headers/subclass.h +10 -0
  66. data/test/headers/to_from_ruby.h +6 -4
  67. data/test/headers/ugly_interface.h +4 -7
  68. data/test/modules_test.rb +11 -6
  69. data/test/overloading_test.rb +6 -2
  70. data/test/subclass_test.rb +20 -10
  71. data/test/test_helper.rb +6 -1
  72. data/test/to_from_ruby_test.rb +0 -2
  73. data/test/wrap_as_test.rb +28 -37
  74. metadata +89 -57
  75. data/lib/rbplusplus/builders/types_manager.rb +0 -93
  76. data/lib/rbplusplus/transformers/constructor.rb +0 -4
  77. data/lib/rbplusplus/transformers/module.rb +0 -71
  78. data/lib/rbplusplus/transformers/node_reference.rb +0 -30
  79. data/test/headers/ugly_helper.h +0 -18
  80. data/test/object_persistence_test.rb +0 -44
@@ -0,0 +1,26 @@
1
+ #ifndef __FUNC_POINTERS_CLASS_H__
2
+ #define __FUNC_POINTERS_CLASS_H__
3
+
4
+ namespace function_pointers_class {
5
+
6
+ // With argument and returns a value
7
+ typedef int(*Callback) (int num);
8
+
9
+ class PointerTest {
10
+ public:
11
+ PointerTest() {}
12
+
13
+ void setCallback(Callback cb) {
14
+ mCallback = cb;
15
+ }
16
+
17
+ int callCallback(int num) {
18
+ return mCallback(num);
19
+ }
20
+
21
+ private:
22
+ Callback mCallback;
23
+ };
24
+ }
25
+
26
+ #endif
@@ -0,0 +1,10 @@
1
+ #ifndef __NEEDS_CODE_H__
2
+ #define __NEEDS_CODE_H__
3
+
4
+ namespace needs_code {
5
+ const short getNumber(short in) {
6
+ return in;
7
+ }
8
+ }
9
+
10
+ #endif
@@ -20,9 +20,6 @@ namespace overload {
20
20
  }
21
21
  void nothing() {}
22
22
  void nothing(int x) {}
23
-
24
- const Mathy &self() const { return *this; }
25
- Mathy &self() { return *this; }
26
23
  };
27
24
  }
28
25
  #endif
@@ -38,5 +38,15 @@ namespace subclass {
38
38
  public:
39
39
  TemplatePtr() : TemplateSuper<Base*>(new Base()) {}
40
40
  };
41
+
42
+ class Base2 {
43
+ public:
44
+ Base2() {}
45
+ };
46
+
47
+ class Multiple : public Base, public Base2 {
48
+ public:
49
+ Multiple() {}
50
+ };
41
51
  }
42
52
  #endif
@@ -51,6 +51,7 @@ namespace to_from_ruby {
51
51
 
52
52
  /* template tests */
53
53
 
54
+ /*
54
55
  template<class T>
55
56
  class TemplateClass {
56
57
  T val;
@@ -66,13 +67,14 @@ namespace to_from_ruby {
66
67
  }
67
68
  };
68
69
 
69
- inline const TemplateClass<int> &getTemplate() {
70
- return *(new TemplateClass<int>(1));
70
+ inline const TemplateClass<int>* getTemplate() {
71
+ return new TemplateClass<int>(1);
71
72
  }
72
73
 
73
- inline const TemplateClass<int> &getTemplate(int overload) {
74
- return *(new TemplateClass<int>(overload));
74
+ inline const TemplateClass<int>* getTemplate(int overload) {
75
+ return new TemplateClass<int>(overload);
75
76
  }
77
+ */
76
78
  }
77
79
 
78
80
  #endif
@@ -1,6 +1,8 @@
1
1
  #ifndef __UGLY_H__
2
2
  #define __UGLY_H__
3
3
 
4
+ namespace UI {
5
+
4
6
  /*
5
7
  Mapping should work for:
6
8
  ruby:
@@ -91,13 +93,6 @@ namespace DMath {
91
93
  }
92
94
  }
93
95
 
94
- struct C_STRUCT_Quaternion {
95
- public:
96
- int i() {
97
- return -1;
98
- }
99
- };
100
-
101
96
  namespace I_LEARN_C {
102
97
  inline int mod(int a, int b) {
103
98
  return a%b;
@@ -112,4 +107,6 @@ namespace I_LEARN_C {
112
107
  };
113
108
  }
114
109
 
110
+ }
111
+
115
112
  #endif
data/test/modules_test.rb CHANGED
@@ -8,19 +8,24 @@ context "Extension with modules" do
8
8
  @@modules_built = true
9
9
  Extension.new "modules" do |e|
10
10
  e.sources [
11
- full_dir("headers/Adder.h"),
12
- full_dir("headers/functions.h"),
13
- full_dir("headers/Subtracter.hpp")
14
- ]
11
+ full_dir("headers/Adder.h"),
12
+ full_dir("headers/functions.h"),
13
+ full_dir("headers/Subtracter.hpp")
14
+ ],
15
+ :include_source_files => [
16
+ full_dir("headers/Adder.h"),
17
+ full_dir("headers/Adder.cpp")
18
+ ]
15
19
 
16
- # e.writer_mode :single
20
+ e.writer_mode :single
17
21
 
18
22
  e.module "Empty" do |m|
19
23
  end
20
24
 
21
25
  # Can use without a block
22
26
  wrapper = e.module "Wrapper"
23
- wrapper.namespace "classes"
27
+ node = wrapper.namespace "classes"
28
+ node.classes("Adder").disable_typedef_lookup
24
29
 
25
30
  e.module "Functions" do |m|
26
31
  m.namespace "functions"
@@ -6,7 +6,12 @@ context "Extension with overloaded methods" do
6
6
  Extension.new "overload" do |e|
7
7
  e.sources full_dir("headers/overload.h")
8
8
  node = e.namespace "overload"
9
- node.classes("Mathy").methods("times")[0].wrap_as("times")
9
+ mathy = node.classes("Mathy")
10
+ mathy.methods("times")[0].wrap_as("times")
11
+
12
+ mathy.use_constructor(
13
+ mathy.constructors.find(:arguments => [:int])
14
+ )
10
15
  end
11
16
 
12
17
  require 'overload'
@@ -28,7 +33,6 @@ context "Extension with overloaded methods" do
28
33
  should.not.raise NameError do
29
34
  math.nothing_0
30
35
  math.nothing_1(1)
31
- math.self_0.class.should == math.self_1.class
32
36
  end
33
37
 
34
38
  end
@@ -5,27 +5,37 @@ context "Extension with class hierachies" do
5
5
  specify "should make super classes methods available" do
6
6
  Extension.new "subclass" do |e|
7
7
  e.sources full_dir("headers/subclass.h")
8
+
8
9
  node = e.namespace "subclass"
9
-
10
10
  node.classes("SuperSuper").ignore
11
- e.module("Sub") do |m|
12
- node.classes.each do |c|
13
- m.includes c
14
- end
15
- end
11
+
12
+ # Rice doesn't support multiple-inheritance (neither does Ruby), so for now
13
+ # until we can fake it, force people to specify
14
+ node.classes("Multiple").use_superclass( node.classes("Base2") )
16
15
  end
17
16
 
18
17
  require 'subclass'
18
+
19
+ # Ignored superclasses should not cause problems with wrapped subclasses
19
20
  should.not.raise NameError do
20
- Sub::Base.new.one.should == Sub::Sub.new.one
21
- Sub::Base.new.zero.should == Sub::Sub.new.zero
21
+ Base.new.one.should == Sub.new.one
22
+ Base.new.zero.should == Sub.new.zero
22
23
  end
24
+
25
+ # Template superclasses shouldn't cause problems
23
26
  should.not.raise NameError do
24
- Sub::TemplateSub.new.zero.should == Sub::TemplateSub.new.custom
27
+ TemplateSub.new.zero.should == TemplateSub.new.custom
25
28
  end
29
+
26
30
  should.not.raise NameError do
27
- Sub::TemplatePtr.new.custom
31
+ TemplatePtr.new.custom
28
32
  end
33
+
34
+ should.not.raise NameError do
35
+ Multiple.new
36
+ end
37
+
38
+ Multiple.superclass.should.equal Base2
29
39
  end
30
40
 
31
41
  end
data/test/test_helper.rb CHANGED
@@ -4,6 +4,7 @@ $:.unshift File.expand_path(File.dirname(__FILE__) + "/generated")
4
4
  require 'rubygems'
5
5
  require 'test/spec'
6
6
  require 'rbplusplus'
7
+ require 'mocha_standalone'
7
8
 
8
9
  include RbPlusPlus
9
10
 
@@ -15,10 +16,14 @@ class Test::Unit::TestCase
15
16
 
16
17
  def setup
17
18
  `rm -rf #{full_dir('generated')}/*`
19
+ Logger.stubs(:info)
20
+ Logger.stubs(:warn)
21
+ Logger.stubs(:error)
22
+ Logger.stubs(:debug)
18
23
  end
19
24
 
20
25
  def teardown
21
26
  RbGCCXML::XMLParsing.clear_cache
22
- NodeCache.instance.clear
27
+ NodeCache.clear
23
28
  end
24
29
  end
@@ -18,7 +18,5 @@ context "Properly build known required to_ruby and from_ruby methods" do
18
18
  c = WrappedClass.new
19
19
  c.get_my_type(17).value.should == 17
20
20
  c.overload_0.class.should == c.overload_1(0).class
21
-
22
- get_template_0(1).overload_0.should == get_template_1.overload_1(1)
23
21
  end
24
22
  end
data/test/wrap_as_test.rb CHANGED
@@ -4,59 +4,52 @@ context "Ugly interfaces cleaner" do
4
4
 
5
5
  specify "should map functions detailed" do
6
6
  node = nil
7
-
8
-
7
+
9
8
  Extension.new "ui" do |e|
10
- e.sources full_dir("headers/ugly_interface_ns.h"),
11
- :includes => full_dir("headers/ugly_helper.h")
9
+ e.sources full_dir("headers/ugly_interface.h")
10
+
12
11
  node = e.namespace("UI")
13
-
12
+
14
13
  # test the no export option
15
14
  node.functions("uiIgnore").ignore
16
-
15
+
17
16
  # static method wrapping
18
- node.functions("IlikeVectors").wrap_as("create_vector").calls("newInstanceButBetter")
19
-
17
+ node.functions("IlikeVectors").wrap_as("create_vector")
18
+
20
19
  e.module "UI" do |m|
21
20
  m.module "Math" do |m_math|
22
21
  #function wrapping
23
22
  m_math.includes node.functions("uiAdd").wrap_as("add")
24
23
  # Wrap_as changes the name of the node
25
- node.functions("add").ignored?.should == false
26
- node.functions("add").moved?.should == true
27
-
24
+
28
25
  m_math.includes node.functions("ui_Subtract").wrap_as("subtract")
29
26
  m_math.includes node.namespaces("DMath").functions("divide")
30
27
  end
31
-
28
+
32
29
  #class wrapping
33
30
  vector = node.classes("C_UIVector").wrap_as("Vector")
34
31
  vector.methods("x_").wrap_as("x")
35
32
  vector.methods("set_x").wrap_as("x=")
36
-
37
- # This is ignored because the C function Vector_y is not defined
38
- vector.methods("y_").calls("Vector_y").ignore
39
- vector.methods("y_").qualified_name.should == "Vector_y"
40
-
33
+
41
34
  m.includes vector
42
-
35
+
43
36
  #mapping stray functions to singleton methods
44
37
  modder = node.namespaces("I_LEARN_C").classes("Modder").wrap_as("Modulus")
45
38
  modder.includes node.namespaces("I_LEARN_C").functions("mod")
46
39
  modder.includes node.namespaces("I_LEARN_C").functions("mod2").wrap_as("method_mod").as_instance_method
47
40
  m.includes modder
48
-
41
+
49
42
  nc = node.classes("NoConstructor")
50
43
  nc.constructors.each { |c| c.ignore }
51
- m.includes nc
52
-
44
+ m.includes nc
45
+
53
46
  m.includes node.classes("Outside")
54
47
  node.classes("Outside").includes node.classes("Inside")
55
48
  end
56
49
  end
57
-
50
+
58
51
  require 'ui'
59
-
52
+
60
53
  should.raise NoMethodError do
61
54
  ui_ignore()
62
55
  end
@@ -72,41 +65,39 @@ context "Ugly interfaces cleaner" do
72
65
  should.raise NoMethodError do
73
66
  ui_subtract(2,1)
74
67
  end
75
-
68
+
76
69
  should.not.raise NoMethodError do
77
70
  UI::Math::subtract(2,1).should == 1
78
71
  end
79
-
72
+
80
73
  should.raise NameError do
81
74
  C_UIVector.new
82
75
  end
83
-
76
+
84
77
  should.not.raise NameError do
85
78
  v = UI::Vector.new
86
79
  v.x = 3
87
80
  v.x.should == 3
88
81
  end
89
-
82
+
90
83
  should.raise NameError do
91
84
  UI::DMath::divide(1.0,2.0)
92
85
  end
93
-
86
+
94
87
  should.not.raise NoMethodError do
95
- UI::Modulus.mod(3,2).should == 1
88
+ UI::Modulus.mod(3,2).should.equal 1
96
89
  end
97
-
98
- should.raise TypeError do
99
- UI::Modulus.new.method_mod(2)
100
- end
101
-
90
+
91
+ UI::Modulus.new.method_mod(4, 3).should.equal 1
92
+
102
93
  should.not.raise NoMethodError do
103
- UI::Math::divide(2,1).should == 2
94
+ UI::Math::divide(2,1).should.equal 2
104
95
  end
105
-
96
+
106
97
  should.raise TypeError do
107
98
  UI::NoConstructor.new
108
99
  end
109
-
100
+
110
101
  should.not.raise NoMethodError do
111
102
  UI::Outside::Inside.new
112
103
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbplusplus
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.8"
4
+ version: "0.9"
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Roelofs
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-07-22 00:00:00 -04:00
12
+ date: 2009-10-26 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -18,9 +18,9 @@ dependencies:
18
18
  version_requirement:
19
19
  version_requirements: !ruby/object:Gem::Requirement
20
20
  requirements:
21
- - - "="
21
+ - - ~>
22
22
  - !ruby/object:Gem::Version
23
- version: "0.8"
23
+ version: "0.9"
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rice
@@ -28,11 +28,14 @@ dependencies:
28
28
  version_requirement:
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.2
33
+ version: 1.2.0
34
34
  version:
35
- description: Rb++ combines the powerful query interface of rbgccxml and the Rice library to make Ruby wrapping extensions easier to write than ever.
35
+ description: |
36
+ Rb++ combines the powerful query interface of rbgccxml and the Rice library to
37
+ make Ruby wrapping extensions easier to write than ever.
38
+
36
39
  email: jameskilton@gmail.com
37
40
  executables: []
38
41
 
@@ -43,34 +46,50 @@ extra_rdoc_files: []
43
46
  files:
44
47
  - TODO
45
48
  - Rakefile
46
- - lib/rbplusplus/extension.rb
47
- - lib/rbplusplus/module.rb
48
- - lib/rbplusplus/builders/enumeration.rb
49
- - lib/rbplusplus/builders/extension.rb
50
- - lib/rbplusplus/builders/module.rb
51
- - lib/rbplusplus/builders/types_manager.rb
52
- - lib/rbplusplus/builders/base.rb
53
- - lib/rbplusplus/builders/class.rb
54
- - lib/rbplusplus/rbplusplus.rb
55
- - lib/rbplusplus/transformers/function.rb
49
+ - lib/rbplusplus.rb
56
50
  - lib/rbplusplus/transformers/node_cache.rb
51
+ - lib/rbplusplus/transformers/rbgccxml.rb
52
+ - lib/rbplusplus/transformers/function.rb
57
53
  - lib/rbplusplus/transformers/node.rb
58
- - lib/rbplusplus/transformers/module.rb
59
- - lib/rbplusplus/transformers/constructor.rb
60
- - lib/rbplusplus/transformers/node_reference.rb
54
+ - lib/rbplusplus/transformers/namespace.rb
61
55
  - lib/rbplusplus/transformers/method.rb
62
56
  - lib/rbplusplus/transformers/class.rb
63
- - lib/rbplusplus/transformers/rbgccxml.rb
64
- - lib/rbplusplus/writers/extension.rb
57
+ - lib/rbplusplus/rbplusplus.rb
65
58
  - lib/rbplusplus/writers/base.rb
66
- - lib/rbplusplus/writers/single_file_writer.rb
67
59
  - lib/rbplusplus/writers/multiple_files_writer.rb
68
- - lib/jamis.rb
60
+ - lib/rbplusplus/writers/extension.rb
61
+ - lib/rbplusplus/writers/single_file_writer.rb
62
+ - lib/rbplusplus/extension.rb
63
+ - lib/rbplusplus/builders/method_base.rb
64
+ - lib/rbplusplus/builders/allocation_strategy.rb
65
+ - lib/rbplusplus/builders/director_method.rb
66
+ - lib/rbplusplus/builders/module_function.rb
67
+ - lib/rbplusplus/builders/static_method.rb
68
+ - lib/rbplusplus/builders/base.rb
69
+ - lib/rbplusplus/builders/enumeration.rb
70
+ - lib/rbplusplus/builders/const.rb
71
+ - lib/rbplusplus/builders/helpers/enumeration.rb
72
+ - lib/rbplusplus/builders/helpers/module.rb
73
+ - lib/rbplusplus/builders/helpers/class.rb
74
+ - lib/rbplusplus/builders/extension.rb
75
+ - lib/rbplusplus/builders/instance_variable.rb
76
+ - lib/rbplusplus/builders/constructor.rb
77
+ - lib/rbplusplus/builders/director.rb
78
+ - lib/rbplusplus/builders/module.rb
79
+ - lib/rbplusplus/builders/include.rb
80
+ - lib/rbplusplus/builders/method.rb
81
+ - lib/rbplusplus/builders/global_function.rb
82
+ - lib/rbplusplus/builders/const_converter.rb
83
+ - lib/rbplusplus/builders/class.rb
84
+ - lib/rbplusplus/module.rb
85
+ - lib/rbplusplus/logger.rb
69
86
  - lib/inflector.rb
70
87
  - lib/inflections.rb
71
- - lib/rbplusplus.rb
72
- has_rdoc: false
73
- homepage: http://rbplusplus.rubyforge.org/rbplusplus
88
+ - lib/jamis.rb
89
+ has_rdoc: true
90
+ homepage: http://rbplusplus.rubyforge.org
91
+ licenses: []
92
+
74
93
  post_install_message:
75
94
  rdoc_options: []
76
95
 
@@ -91,49 +110,62 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
110
  requirements: []
92
111
 
93
112
  rubyforge_project: rbplusplus
94
- rubygems_version: 1.2.0
113
+ rubygems_version: 1.3.5
95
114
  signing_key:
96
- specification_version: 2
115
+ specification_version: 3
97
116
  summary: Ruby library to generate Rice wrapper code
98
117
  test_files:
99
- - test/classes_test.rb
100
- - test/extension_test.rb
101
- - test/nested_test.rb
118
+ - test/enumerations_test.rb
102
119
  - test/subclass_test.rb
103
- - test/constructors_test.rb
104
- - test/overloading_test.rb
105
- - test/wrap_as_test.rb
106
- - test/object_persistence_test.rb
120
+ - test/function_pointer_test.rb
107
121
  - test/generated/extconf.rb
108
- - test/class_methods_test.rb
109
- - test/compiling_test.rb
110
- - test/to_from_ruby_test.rb
122
+ - test/director_test.rb
111
123
  - test/struct_test.rb
112
- - test/enumerations_test.rb
113
- - test/modules_test.rb
114
124
  - test/functions_test.rb
115
- - test/test_helper.rb
125
+ - test/class_methods_encapsulate_test.rb
126
+ - test/compiling_test.rb
116
127
  - test/file_writers_test.rb
117
- - test/headers/Subtracter.hpp
118
- - test/headers/complex_static_methods.h
119
- - test/headers/ugly_interface.h
128
+ - test/test_helper.rb
129
+ - test/custom_code_test.rb
130
+ - test/modules_test.rb
131
+ - test/allocation_strategies_test.rb
132
+ - test/extension_test.rb
133
+ - test/to_from_ruby_test.rb
134
+ - test/class_methods_test.rb
135
+ - test/constructors_test.rb
136
+ - test/default_arguments_test.rb
137
+ - test/overloading_test.rb
138
+ - test/wrap_as_test.rb
139
+ - test/nested_test.rb
140
+ - test/classes_test.rb
141
+ - test/function_pointers_classes_test.rb
142
+ - test/headers/function_pointers.h
120
143
  - test/headers/external_mapping.h
121
- - test/headers/functions.h
122
- - test/headers/to_from_ruby_source.cpp
144
+ - test/headers/subclass.h
145
+ - test/headers/complex_static_methods.h
146
+ - test/headers/needs_code.h
147
+ - test/headers/class_methods.h
123
148
  - test/headers/empty.h
124
- - test/headers/enums.h
149
+ - test/headers/functions.h
150
+ - test/headers/function_pointers_class.h
151
+ - test/headers/Adder.h
152
+ - test/headers/director.h
153
+ - test/headers/nested_classes.h
154
+ - test/headers/external_mapping_rice.h
155
+ - test/headers/default_arguments.h
125
156
  - test/headers/ugly_interface_ns.h
126
- - test/headers/nested_struct.h
127
- - test/headers/subclass.h
128
157
  - test/headers/requires_define.h
129
- - test/headers/class_methods.h
130
- - test/headers/ugly_helper.h
131
158
  - test/headers/constructors.h
132
- - test/headers/nested_classes.h
133
- - test/headers/with_includes.h
159
+ - test/headers/code/custom_to_from_ruby.hpp
160
+ - test/headers/code/custom_to_from_ruby.cpp
134
161
  - test/headers/to_from_ruby.h
135
- - test/headers/external_mapping_rice.h
136
- - test/headers/include
162
+ - test/headers/with_includes.h
137
163
  - test/headers/include/helper.h
164
+ - test/headers/enums.h
138
165
  - test/headers/overload.h
139
- - test/headers/Adder.h
166
+ - test/headers/ugly_interface.h
167
+ - test/headers/alloc_strats.h
168
+ - test/headers/Subtracter.hpp
169
+ - test/headers/to_from_ruby_source.cpp
170
+ - test/headers/nested_struct.h
171
+ - test/headers/Adder.cpp