assert 1.1.0 → 2.0.0.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/.assert.rb +3 -0
  2. data/README.md +182 -108
  3. data/Rakefile +0 -3
  4. data/bin/assert +1 -1
  5. data/lib/assert.rb +75 -4
  6. data/lib/assert/assert_runner.rb +76 -0
  7. data/lib/assert/cli.rb +25 -46
  8. data/lib/assert/context.rb +3 -3
  9. data/lib/assert/result.rb +65 -55
  10. data/lib/assert/runner.rb +19 -38
  11. data/lib/assert/suite.rb +0 -7
  12. data/lib/assert/test.rb +4 -16
  13. data/lib/assert/version.rb +1 -1
  14. data/lib/assert/view.rb +23 -0
  15. data/lib/assert/view/base.rb +10 -19
  16. data/lib/assert/view/default_view.rb +16 -11
  17. data/lib/assert/view/helpers/ansi_styles.rb +1 -1
  18. data/lib/assert/view/helpers/common.rb +37 -16
  19. data/test/assert_test.rb +29 -14
  20. data/test/context/class_methods_test.rb +2 -2
  21. data/test/context_test.rb +28 -50
  22. data/test/helper.rb +4 -2
  23. data/test/runner_test.rb +5 -4
  24. data/test/suite_test.rb +1 -1
  25. data/test/test_test.rb +8 -15
  26. data/test/view/base_tests.rb +20 -37
  27. metadata +17 -39
  28. data/lib/assert/autorun.rb +0 -37
  29. data/lib/assert/options.rb +0 -43
  30. data/lib/assert/rake_tasks.rb +0 -75
  31. data/lib/assert/rake_tasks/irb.rb +0 -33
  32. data/lib/assert/rake_tasks/scope.rb +0 -100
  33. data/lib/assert/rake_tasks/test_task.rb +0 -66
  34. data/lib/assert/result_set.rb +0 -17
  35. data/lib/assert/setup.rb +0 -3
  36. data/lib/assert/setup/all.rb +0 -5
  37. data/lib/assert/setup/helpers.rb +0 -72
  38. data/lib/assert/setup/options.rb +0 -6
  39. data/lib/assert/setup/runner.rb +0 -13
  40. data/lib/assert/setup/suite.rb +0 -13
  41. data/lib/assert/setup/view.rb +0 -39
  42. data/lib/assert/view/helpers/capture_output.rb +0 -23
  43. data/test/default_view_test.rb +0 -16
  44. data/test/irb.rb +0 -5
  45. data/test/options_test.rb +0 -40
  46. data/test/rake_tasks/irb_test.rb +0 -45
  47. data/test/rake_tasks/scope_test.rb +0 -63
  48. data/test/rake_tasks/test_task_test.rb +0 -80
  49. data/test/result_set_test.rb +0 -72
@@ -1,63 +0,0 @@
1
- require 'assert'
2
-
3
- require 'assert/rake_tasks/scope'
4
-
5
- module Assert::RakeTasks
6
-
7
- class ScopeTests < Assert::Context
8
- desc "the scope rake tasks handler"
9
- setup do
10
- @scope_root = File.expand_path('../../../test/fixtures', __FILE__)
11
- @scope = Assert::RakeTasks::Scope.new(File.join(@scope_root, 'test_root'))
12
- end
13
- subject { @scope }
14
-
15
- should have_class_methods :test_file_suffixes
16
- should have_readers :path, :nested_files, :path_file_list, :test_tasks, :scopes
17
- should have_instance_methods :namespace, :to_test_task
18
-
19
- should "know its the test file suffix" do
20
- assert_equal ['_test.rb', '_tests.rb'], subject.class.test_file_suffixes
21
- end
22
-
23
- should "know its namespace" do
24
- assert_equal :test_root, subject.namespace
25
- assert_equal :shallow, Assert::RakeTasks::Scope.new(File.join(@scope_root, 'test_root/shallow')).namespace
26
- end
27
-
28
- should "know its nested files" do
29
- assert_equal 6, subject.nested_files.size
30
- assert_empty Assert::RakeTasks::Scope.new('/does/not/exist').nested_files
31
-
32
- h = Assert::RakeTasks::Scope.new("#{@scope_root}/test_root/shallow")
33
- assert_equal 2, h.nested_files.size
34
- end
35
-
36
- should "know its path file" do
37
- assert_empty subject.path_file_list
38
-
39
- h = Assert::RakeTasks::Scope.new("#{@scope_root}/test_root/shallow")
40
- assert_equal 1, h.path_file_list.size
41
- end
42
-
43
- should "convert to a test task" do
44
- assert_not Assert::RakeTasks::Scope.new('/does/not/exist').to_test_task
45
-
46
- tt = subject.to_test_task
47
- assert_kind_of TestTask, tt
48
- assert_equal subject.nested_files.size+subject.path_file_list.size, tt.files.size
49
- end
50
-
51
- should "have a test task for each standalone test file" do
52
- assert_equal 2, subject.test_tasks.size
53
- assert_kind_of TestTask, subject.test_tasks.first
54
- end
55
-
56
- should "have a scope for each immediate test dir or test dir/file in the scope" do
57
- assert_equal 2, subject.scopes.size
58
- assert_kind_of Scope, subject.scopes.first
59
- end
60
-
61
- end
62
-
63
- end
@@ -1,80 +0,0 @@
1
- require 'assert'
2
-
3
- require 'assert/rake_tasks/test_task'
4
-
5
- module Assert::RakeTasks
6
-
7
- class TestTaskTests < Assert::Context
8
- desc "the test task"
9
- setup do
10
- @task = Assert::RakeTasks::TestTask.new('thing')
11
- @some_thing = Assert::RakeTasks::TestTask.new('test/some/thing')
12
- end
13
- subject { @task }
14
-
15
- should have_accessors :path, :files
16
- should have_instance_methods :relative_path, :scope_description, :description, :name
17
- should have_instance_methods :file_list, :ruby_args, :show_loaded_files?
18
-
19
- should "default with empty files collection" do
20
- assert_equal [], subject.files
21
- end
22
-
23
- should "know its relative path" do
24
- assert_equal "", subject.relative_path
25
- assert_equal "some/thing", @some_thing.relative_path
26
- end
27
-
28
- should "know its scope description" do
29
- assert_equal "", subject.scope_description
30
- assert_equal " for some/thing", @some_thing.scope_description
31
- end
32
-
33
- should "know its task description" do
34
- assert_equal "Run all tests", subject.description
35
- assert_equal "Run all tests for some/thing", @some_thing.description
36
- end
37
-
38
- should "know its name" do
39
- assert_equal :thing, @task.name
40
- assert_equal :thing, @some_thing.name
41
- end
42
-
43
- should "build a file list string" do
44
- subject.files = ["test_one_test.rb", "test_two_test.rb"]
45
- assert_equal "\"test_one_test.rb\" \"test_two_test.rb\"", subject.file_list
46
- end
47
-
48
- should "know its ruby args" do
49
- subject.files = ["test_one_test.rb", "test_two_test.rb"]
50
- assert_equal "-rrubygems \"#{subject.send(:rake_loader)}\" #{subject.file_list}", subject.ruby_args
51
- end
52
-
53
- end
54
-
55
- class VerboseTests < TestTaskTests
56
- setup do
57
- @orig_env_setting = ENV["show_loaded_files"]
58
- ENV["show_loaded_files"] = 'false'
59
- end
60
- teardown do
61
- ENV["show_loaded_files"] = @orig_env_setting
62
- end
63
-
64
- should "not show loaded files by default" do
65
- assert_equal false, subject.show_loaded_files?
66
- end
67
- end
68
-
69
- class EnvVerboseTests < VerboseTests
70
- desc "if the show_loaded_files env setting is true"
71
- setup do
72
- ENV["show_loaded_files"] = 'true'
73
- end
74
-
75
- should "show loaded files" do
76
- assert_equal true, subject.show_loaded_files?
77
- end
78
- end
79
-
80
- end
@@ -1,72 +0,0 @@
1
- require 'assert'
2
-
3
- require 'assert/result_set'
4
- require 'assert/result'
5
- require 'assert/view/base'
6
-
7
- class Assert::ResultSet
8
-
9
- class BasicTest < Assert::Context
10
- desc "Assert result set"
11
- setup do
12
- @result_set = Assert::ResultSet.new
13
- end
14
- subject { @result_set }
15
-
16
- should have_accessor :callback
17
-
18
- should "be a extension of Array" do
19
- assert_kind_of ::Array, subject
20
- end
21
- end
22
-
23
-
24
- class CallbackTest < BasicTest
25
- desc "using a callback"
26
- setup do
27
- @results = []
28
- @result_set = Assert::ResultSet.new(Proc.new {|result| @results.push(result) })
29
-
30
- @pass_result = Assert::Result::Pass.new(Factory.test("test"), "pass", [])
31
- @result_set << @pass_result
32
- @fail_result = Assert::Result::Fail.new(Factory.test("test"), "fail", [])
33
- @result_set << @fail_result
34
- @skip_result = Assert::Result::Skip.new(Factory.test("test"), Assert::Result::TestSkipped.new)
35
- @result_set << @skip_result
36
- @error_result = Assert::Result::Error.new(Factory.test("test"), RuntimeError.new)
37
- @result_set << @error_result
38
- end
39
- subject{ @view }
40
-
41
- should "have 'printed' 1 pass result" do
42
- pass_results = @results.reject{|r| !r.pass? }
43
- assert_equal 1, pass_results.size
44
- assert_kind_of Assert::Result::Pass, pass_results.first
45
- assert_equal @pass_result.test_name, pass_results.first.test_name
46
- assert_equal @pass_result.message, pass_results.first.message
47
- end
48
- should "have 'printed' 1 fail result" do
49
- fail_results = @results.reject{|r| !r.fail? }
50
- assert_equal 1, fail_results.size
51
- assert_kind_of Assert::Result::Fail, fail_results.first
52
- assert_equal @fail_result.test_name, fail_results.first.test_name
53
- assert_equal @fail_result.message, fail_results.first.message
54
- end
55
- should "have 'printed' 1 skip result" do
56
- skip_results = @results.reject{|r| !r.skip? }
57
- assert_equal 1, skip_results.size
58
- assert_kind_of Assert::Result::Skip, skip_results.first
59
- assert_equal @skip_result.test_name, skip_results.first.test_name
60
- assert_equal @skip_result.message, skip_results.first.message
61
- end
62
- should "have 'printed' 1 error result" do
63
- error_results = @results.reject{|r| !r.error? }
64
- assert_equal 1, error_results.size
65
- assert_kind_of Assert::Result::Error, error_results.first
66
- assert_equal @error_result.test_name, error_results.first.test_name
67
- assert_equal @error_result.message, error_results.first.message
68
- end
69
-
70
- end
71
-
72
- end