ritsu 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
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