ritsu 0.7.0 → 0.7.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.
Files changed (89) hide show
  1. data/README.md +95 -95
  2. data/bin/define_cpp_string +54 -54
  3. data/bin/ritsu +31 -31
  4. data/lib/ritsu.rb +16 -16
  5. data/lib/ritsu/block.rb +258 -258
  6. data/lib/ritsu/ext/cuda.rb +5 -5
  7. data/lib/ritsu/ext/cuda/external_library.rb +15 -15
  8. data/lib/ritsu/ext/cuda/project.rb +31 -31
  9. data/lib/ritsu/ext/cuda/src_files/cu_file.rb +46 -46
  10. data/lib/ritsu/ext/cuda/src_files/target_cmake_lists.rb +110 -110
  11. data/lib/ritsu/ext/cuda/target.rb +16 -16
  12. data/lib/ritsu/ext/cuda/targets/library.rb +16 -16
  13. data/lib/ritsu/ext/fake_install.rb +2 -2
  14. data/lib/ritsu/ext/fake_install/project.rb +16 -16
  15. data/lib/ritsu/ext/fake_install/src_files/project_cmake_lists.rb +45 -45
  16. data/lib/ritsu/ext/glsl.rb +1 -1
  17. data/lib/ritsu/ext/glsl/src_files/frag_file.rb +70 -70
  18. data/lib/ritsu/ext/glsl/src_files/vert_file.rb +70 -70
  19. data/lib/ritsu/ext/qt.rb +4 -4
  20. data/lib/ritsu/ext/qt/project.rb +47 -47
  21. data/lib/ritsu/ext/qt/src_files/header_file.rb +60 -60
  22. data/lib/ritsu/ext/qt/src_files/target_cmake_lists.rb +106 -106
  23. data/lib/ritsu/ext/qt/src_files/ui_file.rb +46 -46
  24. data/lib/ritsu/ext/test_case.rb +19 -19
  25. data/lib/ritsu/external_library.rb +46 -46
  26. data/lib/ritsu/project.rb +93 -93
  27. data/lib/ritsu/project_generator.rb +33 -33
  28. data/lib/ritsu/project_generators/default_generator.rb +72 -72
  29. data/lib/ritsu/project_generators/default_generator_files/Thorfile.erb +8 -8
  30. data/lib/ritsu/project_generators/default_generator_files/meta/project.rb.erb +10 -10
  31. data/lib/ritsu/src_file.rb +79 -79
  32. data/lib/ritsu/src_files.rb +12 -12
  33. data/lib/ritsu/src_files/cpp_file.rb +43 -43
  34. data/lib/ritsu/src_files/executable_cmake_lists.rb +39 -39
  35. data/lib/ritsu/src_files/header_file.rb +60 -60
  36. data/lib/ritsu/src_files/project_cmake_lists.rb +133 -133
  37. data/lib/ritsu/src_files/project_config_header_file.rb +14 -14
  38. data/lib/ritsu/src_files/project_config_header_template_file.rb +44 -44
  39. data/lib/ritsu/src_files/shared_library_cmake_lists.rb +39 -39
  40. data/lib/ritsu/src_files/static_library_cmake_lists.rb +39 -39
  41. data/lib/ritsu/src_files/target_cmake_lists.rb +189 -189
  42. data/lib/ritsu/src_files/templated_src_file.rb +47 -47
  43. data/lib/ritsu/src_files/unit.rb +32 -32
  44. data/lib/ritsu/target.rb +154 -154
  45. data/lib/ritsu/targets.rb +3 -3
  46. data/lib/ritsu/targets/executable.rb +44 -44
  47. data/lib/ritsu/targets/library.rb +29 -29
  48. data/lib/ritsu/targets/shared_library.rb +38 -38
  49. data/lib/ritsu/targets/static_library.rb +32 -32
  50. data/lib/ritsu/template.rb +68 -68
  51. data/lib/ritsu/template_policies.rb +132 -132
  52. data/lib/ritsu/test_helpers.rb +123 -123
  53. data/lib/ritsu/thors/default_thor.rb +1 -1
  54. data/lib/ritsu/utility.rb +7 -7
  55. data/lib/ritsu/utility/accessors.rb +29 -29
  56. data/lib/ritsu/utility/check_upon_add_set.rb +34 -34
  57. data/lib/ritsu/utility/file_robot.rb +128 -128
  58. data/lib/ritsu/utility/files.rb +12 -12
  59. data/lib/ritsu/utility/instance_dependencies.rb +112 -112
  60. data/lib/ritsu/utility/instance_set.rb +28 -28
  61. data/lib/ritsu/utility/platform.rb +20 -20
  62. data/lib/ritsu/utility/simple_io.rb +64 -64
  63. data/lib/ritsu/utility/single_instance.rb +33 -33
  64. data/lib/ritsu/utility/strings.rb +40 -40
  65. data/test/ritsu/block_test.rb +196 -196
  66. data/test/ritsu/ext/cuda/src_files/cuda_static_library_cmake_lists_test.rb +63 -63
  67. data/test/ritsu/external_library_test.rb +41 -41
  68. data/test/ritsu/project_generators/default_generator_test.rb +34 -34
  69. data/test/ritsu/project_test.rb +127 -127
  70. data/test/ritsu/src_file_test.rb +69 -69
  71. data/test/ritsu/src_files/cpp_file_test.rb +42 -42
  72. data/test/ritsu/src_files/executable_cmake_lists_test.rb +92 -92
  73. data/test/ritsu/src_files/header_file_test.rb +57 -57
  74. data/test/ritsu/src_files/project_cmake_lists_test.rb +159 -159
  75. data/test/ritsu/src_files/shared_library_cmake_lists_test.rb +54 -54
  76. data/test/ritsu/src_files/static_library_cmake_lists_test.rb +54 -54
  77. data/test/ritsu/src_files/target_cmake_lists_test.rb +15 -15
  78. data/test/ritsu/target_test.rb +105 -105
  79. data/test/ritsu/targets/executable_test.rb +10 -10
  80. data/test/ritsu/targets/shared_library_test.rb +10 -10
  81. data/test/ritsu/targets/static_library_test.rb +10 -10
  82. data/test/ritsu/utility/accessors_test.rb +14 -14
  83. data/test/ritsu/utility/check_upon_add_set_test.rb +31 -31
  84. data/test/ritsu/utility/file_robot_test.rb +175 -175
  85. data/test/ritsu/utility/strings_test.rb +28 -28
  86. data/test/test_helpers.rb +3 -3
  87. metadata +72 -124
  88. data/Thorfile +0 -104
  89. data/VERSION +0 -1
@@ -1,70 +1,70 @@
1
- require File.dirname(__FILE__) + "/../test_helpers"
2
-
3
- class SrcFileTest < Test::Unit::TestCase
4
- include Ritsu::SetupProjectAndClearEverythingElse
5
-
6
- def self.test_valid_src_path(src_path)
7
- must "#{src_path} is a valid source path" do
8
- assert Ritsu::SrcFile.is_valid_src_path?(src_path),
9
- "#{src_path} must be a valid source path"
10
- end
11
- end
12
-
13
- test_valid_src_path "abc.txt"
14
- test_valid_src_path "SomeProject/Something_else.cpp"
15
- test_valid_src_path "mio/koakuma/shadow_gl_renderer.cpp"
16
- test_valid_src_path ".abc"
17
- test_valid_src_path "abc-hello.c"
18
-
19
- def self.test_invalid_src_path(src_path)
20
- must "#{src_path} is not a valid source path" do
21
- assert !Ritsu::SrcFile.is_valid_src_path?(src_path),
22
- "#{src_path} must not be a valid source path"
23
- end
24
- end
25
-
26
- test_invalid_src_path "abc def"
27
- test_invalid_src_path "/home/one_users/.tmp"
28
- test_invalid_src_path ""
29
-
30
- must "throw exception if a source file with invalid source path is given" do
31
- assert_raises ArgumentError do
32
- Ritsu::SrcFile.new("abc def", @project)
33
- end
34
- end
35
-
36
- must "throw exception if two source files have duplicated names" do
37
- assert_raises ArgumentError do
38
- Ritsu::SrcFile.new("abc/abc.txt", @project)
39
- Ritsu::SrcFile.new("abc/abc.txt", @project)
40
- end
41
- end
42
-
43
- must "now throw exception if source path is a valid source path" do
44
- assert_nothing_raised do
45
- Ritsu::SrcFile.new("abc/abc.txt", @project)
46
- end
47
- end
48
-
49
- must "be added to the owner's src_files array" do
50
- abc = Ritsu::SrcFile.new("abc/abc.txt", @project)
51
- assert @project.src_files.include?(abc)
52
- end
53
-
54
- must "return its project correctly when owner is the project" do
55
- abc = Ritsu::SrcFile.new("abc/abc.txt", @project)
56
- assert_equal @project, abc.project
57
- end
58
-
59
- must "return its project correct when owheter is a target" do
60
- target = Ritsu::Targets::Executable.new("def")
61
- abc = Ritsu::SrcFile.new('abc/abc.txt', target)
62
- assert_equal target, abc.owner
63
- assert_equal @project, abc.project
64
- end
65
-
66
- must "compute absolute path correctly" do
67
- abc = Ritsu::SrcFile.new("abc/abc.txt", @project)
68
- assert_equal @project.project_dir + "/src/abc/abc.txt", abc.abs_path
69
- end
1
+ require File.dirname(__FILE__) + "/../test_helpers"
2
+
3
+ class SrcFileTest < Test::Unit::TestCase
4
+ include Ritsu::SetupProjectAndClearEverythingElse
5
+
6
+ def self.test_valid_src_path(src_path)
7
+ must "#{src_path} is a valid source path" do
8
+ assert Ritsu::SrcFile.is_valid_src_path?(src_path),
9
+ "#{src_path} must be a valid source path"
10
+ end
11
+ end
12
+
13
+ test_valid_src_path "abc.txt"
14
+ test_valid_src_path "SomeProject/Something_else.cpp"
15
+ test_valid_src_path "mio/koakuma/shadow_gl_renderer.cpp"
16
+ test_valid_src_path ".abc"
17
+ test_valid_src_path "abc-hello.c"
18
+
19
+ def self.test_invalid_src_path(src_path)
20
+ must "#{src_path} is not a valid source path" do
21
+ assert !Ritsu::SrcFile.is_valid_src_path?(src_path),
22
+ "#{src_path} must not be a valid source path"
23
+ end
24
+ end
25
+
26
+ test_invalid_src_path "abc def"
27
+ test_invalid_src_path "/home/one_users/.tmp"
28
+ test_invalid_src_path ""
29
+
30
+ must "throw exception if a source file with invalid source path is given" do
31
+ assert_raises ArgumentError do
32
+ Ritsu::SrcFile.new("abc def", @project)
33
+ end
34
+ end
35
+
36
+ must "throw exception if two source files have duplicated names" do
37
+ assert_raises ArgumentError do
38
+ Ritsu::SrcFile.new("abc/abc.txt", @project)
39
+ Ritsu::SrcFile.new("abc/abc.txt", @project)
40
+ end
41
+ end
42
+
43
+ must "now throw exception if source path is a valid source path" do
44
+ assert_nothing_raised do
45
+ Ritsu::SrcFile.new("abc/abc.txt", @project)
46
+ end
47
+ end
48
+
49
+ must "be added to the owner's src_files array" do
50
+ abc = Ritsu::SrcFile.new("abc/abc.txt", @project)
51
+ assert @project.src_files.include?(abc)
52
+ end
53
+
54
+ must "return its project correctly when owner is the project" do
55
+ abc = Ritsu::SrcFile.new("abc/abc.txt", @project)
56
+ assert_equal @project, abc.project
57
+ end
58
+
59
+ must "return its project correct when owheter is a target" do
60
+ target = Ritsu::Targets::Executable.new("def")
61
+ abc = Ritsu::SrcFile.new('abc/abc.txt', target)
62
+ assert_equal target, abc.owner
63
+ assert_equal @project, abc.project
64
+ end
65
+
66
+ must "compute absolute path correctly" do
67
+ abc = Ritsu::SrcFile.new("abc/abc.txt", @project)
68
+ assert_equal @project.project_dir + "/src/abc/abc.txt", abc.abs_path
69
+ end
70
70
  end
@@ -1,43 +1,43 @@
1
- require File.dirname(__FILE__) + "/../../test_helpers"
2
-
3
- class CppFileTest < Test::Unit::TestCase
4
- include Ritsu::SetupProjectAndClearEverythingElse
5
- include Ritsu::TestCaseWithFileTestData
6
- include Ritsu::Utility
7
-
8
- def data_dir; File.dirname(__FILE__) + "/" + File.basename(__FILE__, ".rb") end
9
-
10
- def setup
11
- setup_project
12
- @project.project_dir = output_dir
13
- @target = Ritsu::Targets::Executable.new("abc", :project=>@project)
14
- end
15
-
16
- file_test "create" do
17
- @cpp_file = Ritsu::SrcFiles::CppFile.new("abc/def.cpp", @target)
18
- FileRobot.quietly do
19
- @cpp_file.create
20
- end
21
- assert_file_exists(@cpp_file.abs_path)
22
- assert_file_content("\n", @cpp_file.abs_path)
23
- end
24
-
25
- file_test "update_does_nothing" do
26
- @header_file = Ritsu::SrcFiles::CppFile.new("abc/def.cpp", @target)
27
- FileRobot.quietly do
28
- FileRobot.create_file(output_path("src/abc/def.cpp"), "abc")
29
- @header_file.update
30
- end
31
- assert_file_content("abc", @header_file.abs_path)
32
- end
33
-
34
- file_test "delete" do
35
- @header_file = Ritsu::SrcFiles::CppFile.new("abc/def.cpp", @target)
36
- FileRobot.quietly do
37
- @header_file.create
38
- assert_file_exists(@header_file.abs_path)
39
- @header_file.remove
40
- assert_file_not_exist(@header_file.abs_path)
41
- end
42
- end
1
+ require File.dirname(__FILE__) + "/../../test_helpers"
2
+
3
+ class CppFileTest < Test::Unit::TestCase
4
+ include Ritsu::SetupProjectAndClearEverythingElse
5
+ include Ritsu::TestCaseWithFileTestData
6
+ include Ritsu::Utility
7
+
8
+ def data_dir; File.dirname(__FILE__) + "/" + File.basename(__FILE__, ".rb") end
9
+
10
+ def setup
11
+ setup_project
12
+ @project.project_dir = output_dir
13
+ @target = Ritsu::Targets::Executable.new("abc", :project=>@project)
14
+ end
15
+
16
+ file_test "create" do
17
+ @cpp_file = Ritsu::SrcFiles::CppFile.new("abc/def.cpp", @target)
18
+ FileRobot.quietly do
19
+ @cpp_file.create
20
+ end
21
+ assert_file_exists(@cpp_file.abs_path)
22
+ assert_file_content("\n", @cpp_file.abs_path)
23
+ end
24
+
25
+ file_test "update_does_nothing" do
26
+ @header_file = Ritsu::SrcFiles::CppFile.new("abc/def.cpp", @target)
27
+ FileRobot.quietly do
28
+ FileRobot.create_file(output_path("src/abc/def.cpp"), "abc")
29
+ @header_file.update
30
+ end
31
+ assert_file_content("abc", @header_file.abs_path)
32
+ end
33
+
34
+ file_test "delete" do
35
+ @header_file = Ritsu::SrcFiles::CppFile.new("abc/def.cpp", @target)
36
+ FileRobot.quietly do
37
+ @header_file.create
38
+ assert_file_exists(@header_file.abs_path)
39
+ @header_file.remove
40
+ assert_file_not_exist(@header_file.abs_path)
41
+ end
42
+ end
43
43
  end
@@ -1,93 +1,93 @@
1
- require File.dirname(__FILE__) + "/../../test_helpers"
2
-
3
- class ExecutableCMakeListsTest < Test::Unit::TestCase
4
- include Ritsu::SetupProjectAndClearEverythingElse
5
- include Ritsu::TestCaseWithFileTestData
6
- include Ritsu::Utility
7
-
8
- def data_dir; File.dirname(__FILE__) + "/" + File.basename(__FILE__, ".rb") end
9
-
10
- def setup
11
- setup_project('mio')
12
- @project.project_dir = output_dir
13
- end
14
-
15
- file_test "must be present" do
16
- abc = Ritsu::Targets::Executable.new("abc", :project=>@project)
17
- assert abc.respond_to?(:cmake_lists)
18
- assert abc.cmake_lists.kind_of?(Ritsu::SrcFiles::ExecutableCmakeLists)
19
- assert_equal 1,
20
- abc.src_files.select {|x| x.kind_of?(Ritsu::SrcFiles::ExecutableCmakeLists)}.length
21
- end
22
-
23
- file_test "create" do
24
- abc = Ritsu::Targets::Executable.new("abc", :project=>@project)
25
- FileRobot.quietly do
26
- abc.cmake_lists.create
27
- end
28
- assert_file_exists(abc.cmake_lists.abs_path)
29
-
30
- expected_content = <<-CMAKE
31
- ##<< TargetCmakeLists -- abc -- Libraries
32
- ##>> TargetCmakeLists -- abc -- Libraries
33
-
34
- ##<< TargetCmakeLists -- abc -- Custom Commands
35
- ##>> TargetCmakeLists -- abc -- Custom Commands
36
-
37
- ##<< TargetCmakeLists -- abc -- Source Files
38
- SET(ABC_SRC_FILES
39
- )
40
- ##>> TargetCmakeLists -- abc -- Source Files
41
-
42
- ##<< ExecutableCmakeLists -- abc -- Executable
43
- ADD_EXECUTABLE(abc ${ABC_SRC_FILES})
44
- ##>> ExecutableCmakeLists -- abc -- Executable
45
-
46
- ##<< TargetCmakeLists -- abc -- Dependencies
47
- ##>> TargetCmakeLists -- abc -- Dependencies
48
-
49
- ##<< TargetCmakeLists -- abc -- Install
50
- ##>> TargetCmakeLists -- abc -- Install
51
- CMAKE
52
-
53
- assert_file_content(expected_content, abc.cmake_lists.abs_path)
54
- end
55
-
56
- file_test "install" do
57
- abc = Ritsu::Targets::Executable.new("abc", :project=>@project)
58
- abc.setup_install
59
- FileRobot.quietly do
60
- abc.cmake_lists.create
61
- end
62
- assert_file_exists(abc.cmake_lists.abs_path)
63
-
64
- expected_content = <<-CMAKE
65
- ##<< TargetCmakeLists -- abc -- Libraries
66
- ##>> TargetCmakeLists -- abc -- Libraries
67
-
68
- ##<< TargetCmakeLists -- abc -- Custom Commands
69
- ##>> TargetCmakeLists -- abc -- Custom Commands
70
-
71
- ##<< TargetCmakeLists -- abc -- Source Files
72
- SET(ABC_SRC_FILES
73
- )
74
- ##>> TargetCmakeLists -- abc -- Source Files
75
-
76
- ##<< ExecutableCmakeLists -- abc -- Executable
77
- ADD_EXECUTABLE(abc ${ABC_SRC_FILES})
78
- ##>> ExecutableCmakeLists -- abc -- Executable
79
-
80
- ##<< TargetCmakeLists -- abc -- Dependencies
81
- ##>> TargetCmakeLists -- abc -- Dependencies
82
-
83
- ##<< TargetCmakeLists -- abc -- Install
84
- INSTALL(TARGETS abc
85
- RUNTIME DESTINATION bin
86
- LIBRARY DESTINATION lib
87
- )
88
- ##>> TargetCmakeLists -- abc -- Install
89
- CMAKE
90
-
91
- assert_file_content(expected_content, abc.cmake_lists.abs_path)
92
- end
1
+ require File.dirname(__FILE__) + "/../../test_helpers"
2
+
3
+ class ExecutableCMakeListsTest < Test::Unit::TestCase
4
+ include Ritsu::SetupProjectAndClearEverythingElse
5
+ include Ritsu::TestCaseWithFileTestData
6
+ include Ritsu::Utility
7
+
8
+ def data_dir; File.dirname(__FILE__) + "/" + File.basename(__FILE__, ".rb") end
9
+
10
+ def setup
11
+ setup_project('mio')
12
+ @project.project_dir = output_dir
13
+ end
14
+
15
+ file_test "must be present" do
16
+ abc = Ritsu::Targets::Executable.new("abc", :project=>@project)
17
+ assert abc.respond_to?(:cmake_lists)
18
+ assert abc.cmake_lists.kind_of?(Ritsu::SrcFiles::ExecutableCmakeLists)
19
+ assert_equal 1,
20
+ abc.src_files.select {|x| x.kind_of?(Ritsu::SrcFiles::ExecutableCmakeLists)}.length
21
+ end
22
+
23
+ file_test "create" do
24
+ abc = Ritsu::Targets::Executable.new("abc", :project=>@project)
25
+ FileRobot.quietly do
26
+ abc.cmake_lists.create
27
+ end
28
+ assert_file_exists(abc.cmake_lists.abs_path)
29
+
30
+ expected_content = <<-CMAKE
31
+ ##<< TargetCmakeLists -- abc -- Libraries
32
+ ##>> TargetCmakeLists -- abc -- Libraries
33
+
34
+ ##<< TargetCmakeLists -- abc -- Custom Commands
35
+ ##>> TargetCmakeLists -- abc -- Custom Commands
36
+
37
+ ##<< TargetCmakeLists -- abc -- Source Files
38
+ SET(ABC_SRC_FILES
39
+ )
40
+ ##>> TargetCmakeLists -- abc -- Source Files
41
+
42
+ ##<< ExecutableCmakeLists -- abc -- Executable
43
+ ADD_EXECUTABLE(abc ${ABC_SRC_FILES})
44
+ ##>> ExecutableCmakeLists -- abc -- Executable
45
+
46
+ ##<< TargetCmakeLists -- abc -- Dependencies
47
+ ##>> TargetCmakeLists -- abc -- Dependencies
48
+
49
+ ##<< TargetCmakeLists -- abc -- Install
50
+ ##>> TargetCmakeLists -- abc -- Install
51
+ CMAKE
52
+
53
+ assert_file_content(expected_content, abc.cmake_lists.abs_path)
54
+ end
55
+
56
+ file_test "install" do
57
+ abc = Ritsu::Targets::Executable.new("abc", :project=>@project)
58
+ abc.setup_install
59
+ FileRobot.quietly do
60
+ abc.cmake_lists.create
61
+ end
62
+ assert_file_exists(abc.cmake_lists.abs_path)
63
+
64
+ expected_content = <<-CMAKE
65
+ ##<< TargetCmakeLists -- abc -- Libraries
66
+ ##>> TargetCmakeLists -- abc -- Libraries
67
+
68
+ ##<< TargetCmakeLists -- abc -- Custom Commands
69
+ ##>> TargetCmakeLists -- abc -- Custom Commands
70
+
71
+ ##<< TargetCmakeLists -- abc -- Source Files
72
+ SET(ABC_SRC_FILES
73
+ )
74
+ ##>> TargetCmakeLists -- abc -- Source Files
75
+
76
+ ##<< ExecutableCmakeLists -- abc -- Executable
77
+ ADD_EXECUTABLE(abc ${ABC_SRC_FILES})
78
+ ##>> ExecutableCmakeLists -- abc -- Executable
79
+
80
+ ##<< TargetCmakeLists -- abc -- Dependencies
81
+ ##>> TargetCmakeLists -- abc -- Dependencies
82
+
83
+ ##<< TargetCmakeLists -- abc -- Install
84
+ INSTALL(TARGETS abc
85
+ RUNTIME DESTINATION bin
86
+ LIBRARY DESTINATION lib
87
+ )
88
+ ##>> TargetCmakeLists -- abc -- Install
89
+ CMAKE
90
+
91
+ assert_file_content(expected_content, abc.cmake_lists.abs_path)
92
+ end
93
93
  end
@@ -1,58 +1,58 @@
1
- require File.dirname(__FILE__) + "/../../test_helpers"
2
-
3
- class HeaderFileTest < Test::Unit::TestCase
4
- include Ritsu::SetupProjectAndClearEverythingElse
5
- include Ritsu::TestCaseWithFileTestData
6
- include Ritsu::Utility
7
-
8
- def setup
9
- setup_project
10
- @project.project_dir = output_dir
11
- @target = Ritsu::Targets::Executable.new("abc", :project=>@project)
12
- end
13
-
14
- def data_dir; File.dirname(__FILE__) + "/" + File.basename(__FILE__, ".rb") end
15
-
16
- must "include_guard computed correct" do
17
- @header_file = Ritsu::SrcFiles::HeaderFile.new("abc/def.h", @target)
18
- assert_equal "__PROJECT_ABC_DEF_H__", @header_file.include_guard
19
- end
20
-
21
- file_test "create" do
22
- @header_file = Ritsu::SrcFiles::HeaderFile.new("abc/def.h", @target)
23
- FileRobot.quietly do
24
- @header_file.create
25
- end
26
- assert_file_exists(@header_file.abs_path)
27
- expected_content = <<-HEADER_FILE
28
- #ifndef __PROJECT_ABC_DEF_H__
29
- #define __PROJECT_ABC_DEF_H__
30
-
31
- ////////////////////
32
- // YOUR CODE HERE //
33
- ////////////////////
34
-
35
- #endif
36
- HEADER_FILE
37
- assert_file_content(expected_content, @header_file.abs_path)
38
- end
39
-
40
- file_test "update_does_nothing" do
41
- @header_file = Ritsu::SrcFiles::HeaderFile.new("abc/def.h", @target)
42
- FileRobot.quietly do
43
- FileRobot.create_file(output_path("src/abc/def.h"), "abc")
44
- @header_file.update
45
- end
46
- assert_file_content("abc", @header_file.abs_path)
47
- end
48
-
49
- file_test "delete" do
50
- @header_file = Ritsu::SrcFiles::HeaderFile.new("abc/def.h", @target)
51
- FileRobot.quietly do
52
- @header_file.create
53
- assert_file_exists(@header_file.abs_path)
54
- @header_file.remove
55
- assert_file_not_exist(@header_file.abs_path)
56
- end
57
- end
1
+ require File.dirname(__FILE__) + "/../../test_helpers"
2
+
3
+ class HeaderFileTest < Test::Unit::TestCase
4
+ include Ritsu::SetupProjectAndClearEverythingElse
5
+ include Ritsu::TestCaseWithFileTestData
6
+ include Ritsu::Utility
7
+
8
+ def setup
9
+ setup_project
10
+ @project.project_dir = output_dir
11
+ @target = Ritsu::Targets::Executable.new("abc", :project=>@project)
12
+ end
13
+
14
+ def data_dir; File.dirname(__FILE__) + "/" + File.basename(__FILE__, ".rb") end
15
+
16
+ must "include_guard computed correct" do
17
+ @header_file = Ritsu::SrcFiles::HeaderFile.new("abc/def.h", @target)
18
+ assert_equal "__PROJECT_ABC_DEF_H__", @header_file.include_guard
19
+ end
20
+
21
+ file_test "create" do
22
+ @header_file = Ritsu::SrcFiles::HeaderFile.new("abc/def.h", @target)
23
+ FileRobot.quietly do
24
+ @header_file.create
25
+ end
26
+ assert_file_exists(@header_file.abs_path)
27
+ expected_content = <<-HEADER_FILE
28
+ #ifndef __PROJECT_ABC_DEF_H__
29
+ #define __PROJECT_ABC_DEF_H__
30
+
31
+ ////////////////////
32
+ // YOUR CODE HERE //
33
+ ////////////////////
34
+
35
+ #endif
36
+ HEADER_FILE
37
+ assert_file_content(expected_content, @header_file.abs_path)
38
+ end
39
+
40
+ file_test "update_does_nothing" do
41
+ @header_file = Ritsu::SrcFiles::HeaderFile.new("abc/def.h", @target)
42
+ FileRobot.quietly do
43
+ FileRobot.create_file(output_path("src/abc/def.h"), "abc")
44
+ @header_file.update
45
+ end
46
+ assert_file_content("abc", @header_file.abs_path)
47
+ end
48
+
49
+ file_test "delete" do
50
+ @header_file = Ritsu::SrcFiles::HeaderFile.new("abc/def.h", @target)
51
+ FileRobot.quietly do
52
+ @header_file.create
53
+ assert_file_exists(@header_file.abs_path)
54
+ @header_file.remove
55
+ assert_file_not_exist(@header_file.abs_path)
56
+ end
57
+ end
58
58
  end