assert 1.1.0 → 2.0.0.rc.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 (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