junit_report_generator 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/.travis.yml +1 -1
  4. data/Gemfile +6 -5
  5. data/README.md +2 -1
  6. data/Rakefile +3 -4
  7. data/junit_report_generator.gemspec +8 -7
  8. data/lib/junit_report_generator.rb +1 -1
  9. data/lib/junit_report_generator/containable.rb +4 -4
  10. data/lib/junit_report_generator/elementary.rb +7 -9
  11. data/lib/junit_report_generator/elements/element.rb +6 -6
  12. data/lib/junit_report_generator/elements/error.rb +1 -1
  13. data/lib/junit_report_generator/elements/failure.rb +1 -1
  14. data/lib/junit_report_generator/elements/properties.rb +3 -3
  15. data/lib/junit_report_generator/elements/property.rb +2 -2
  16. data/lib/junit_report_generator/elements/skipped.rb +1 -1
  17. data/lib/junit_report_generator/elements/system_err.rb +1 -1
  18. data/lib/junit_report_generator/elements/system_out.rb +1 -1
  19. data/lib/junit_report_generator/elements/test_case.rb +3 -3
  20. data/lib/junit_report_generator/elements/test_suite.rb +4 -4
  21. data/lib/junit_report_generator/elements/test_suites.rb +3 -3
  22. data/lib/junit_report_generator/generator.rb +4 -4
  23. data/lib/junit_report_generator/report.rb +4 -4
  24. data/test/helper.rb +8 -4
  25. data/test/test_containable.rb +9 -9
  26. data/test/test_element.rb +12 -12
  27. data/test/test_elementary.rb +19 -19
  28. data/test/test_error.rb +1 -1
  29. data/test/test_failure.rb +1 -1
  30. data/test/test_generator.rb +13 -11
  31. data/test/test_properties.rb +2 -2
  32. data/test/test_property.rb +3 -3
  33. data/test/test_report.rb +4 -3
  34. data/test/test_skipped.rb +1 -1
  35. data/test/test_system_err.rb +1 -1
  36. data/test/test_system_out.rb +1 -1
  37. data/test/test_test_case.rb +3 -3
  38. data/test/test_test_suite.rb +19 -19
  39. data/test/test_test_suites.rb +13 -13
  40. metadata +24 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8f99b21d446eea7965a83681dc161762721be86c
4
- data.tar.gz: 468c20d28f459868051a3a4d48c07aaf28cba44d
3
+ metadata.gz: a4d6685c2b5fbc5d138bba3bdd30ad2f2223a636
4
+ data.tar.gz: 5d862f0e4f478e3afaf218f4c269b37cfecb3782
5
5
  SHA512:
6
- metadata.gz: 6ef0da4d833b1d4fed1e0ee084c96ed5d04ef5e3c9c20e91cc754e506ad559a1fd4040dabedbd6d0062e3c7c694d9ca8207e6c69a470dd941625570931eb95f7
7
- data.tar.gz: 3970ce7ad96908d3198150f1d45aa4dce9b1079c007dbc806b09f9fb089a7c517773fc5da7a3f7416beffb4377a026b28bc82a36d59fcd5af7a1816820f50b8e
6
+ metadata.gz: bd2f81420d3f8431ddf4b12f7fe9da27ca768c5095cf07cb8f3d5f893ff367fd83132b64c8bfd4cfccde2b13d1ba2d2ef385784aca6c842c07b42b6f903cfff9
7
+ data.tar.gz: 1664d5b403c42ac9c74794ec81ec1880129e1ac4708d66a5c4307b3d8832c0a7200f74d3adaafeb6ba07c759263ad04277eb7264ab9c0a88461979e6923848de
data/.gitignore CHANGED
@@ -1,3 +1,3 @@
1
1
  Gemfile.lock
2
2
  *.gem
3
- coverage/
3
+ coverage/
data/.travis.yml CHANGED
@@ -5,4 +5,4 @@ rvm:
5
5
  - 2.2.0
6
6
  - ruby-head
7
7
  env:
8
- - CODECLIMATE_REPO_TOKEN="3124e4d5ad973c852dccbc34eb6bd3eb93ca3ab83f1cdcf1b6a56350c8388450"
8
+ - CODECLIMATE_REPO_TOKEN="3124e4d5ad973c852dccbc34eb6bd3eb93ca3ab83f1cdcf1b6a56350c8388450"
data/Gemfile CHANGED
@@ -1,9 +1,10 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'nokogiri'
3
+ gem 'nokogiri', '~> 1.6.8'
4
4
 
5
5
  group :test do
6
- gem 'rake'
7
- gem 'minitest'
8
- gem 'codeclimate-test-reporter'
9
- end
6
+ gem 'rake', '~> 12.0'
7
+ gem 'minitest', '~> 5.10.1'
8
+ gem 'coveralls', '~> 0.8.19'
9
+ gem 'codeclimate-test-reporter', '~> 1.0.7'
10
+ end
data/README.md CHANGED
@@ -3,7 +3,8 @@
3
3
  [![Gem Version](https://badge.fury.io/rb/junit_report_generator.svg)](http://badge.fury.io/rb/junit_report_generator)
4
4
  [![Build Status](https://travis-ci.org/thyrlian/JunitReportGenerator.svg?branch=master)](https://travis-ci.org/thyrlian/JunitReportGenerator)
5
5
  [![Code Climate](https://codeclimate.com/github/thyrlian/JunitReportGenerator/badges/gpa.svg)](https://codeclimate.com/github/thyrlian/JunitReportGenerator)
6
- [![Test Coverage](https://codeclimate.com/github/thyrlian/JunitReportGenerator/badges/coverage.svg)](https://codeclimate.com/github/thyrlian/JunitReportGenerator/coverage)
6
+ [![Coverage Status](https://coveralls.io/repos/thyrlian/JunitReportGenerator/badge.svg?branch=master&service=github)](https://coveralls.io/github/thyrlian/JunitReportGenerator?branch=master)
7
+ [![Dependency Status](https://gemnasium.com/thyrlian/JunitReportGenerator.svg)](https://gemnasium.com/thyrlian/JunitReportGenerator)
7
8
 
8
9
  Easy and flexible solution to generating JUnit test result report from any format of data.
9
10
 
data/Rakefile CHANGED
@@ -1,13 +1,12 @@
1
- $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), *%w[lib])))
1
+ $LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), *%w(lib))))
2
2
  require 'junit_report_generator'
3
3
  require 'rake/testtask'
4
4
 
5
- ENV['CODECLIMATE_REPO_TOKEN'] = '3124e4d5ad973c852dccbc34eb6bd3eb93ca3ab83f1cdcf1b6a56350c8388450'
6
-
7
5
  Rake::TestTask.new do |t|
8
6
  t.libs << 'test'
9
7
  t.test_files = FileList['test/test*.rb']
8
+ t.warning = false
10
9
  end
11
10
 
12
11
  desc 'Run tests'
13
- task :default => :test
12
+ task default: :test
@@ -2,9 +2,9 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'junit_report_generator'
5
- s.version = '1.0.1'
5
+ s.version = '1.0.2'
6
6
  s.license = 'MIT'
7
- s.date = '2015-08-13'
7
+ s.date = '2017-03-11'
8
8
  s.summary = 'Generating JUnit test report easily from any source.'
9
9
  s.description = 'Generating JUnit test result report (xml) from any format of data by super easy and flexible syntax. Most of the CIs (Continuous Integration) can aggregate JUnit style reports with zero effort.'
10
10
  s.authors = ['Jing Li']
@@ -13,8 +13,9 @@ Gem::Specification.new do |s|
13
13
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
14
  s.homepage = 'https://github.com/thyrlian/JunitReportGenerator'
15
15
  s.required_ruby_version = '~> 2.0'
16
- s.add_dependency 'nokogiri', '~> 1.6'
17
- s.add_development_dependency 'rake', '~> 10.4'
18
- s.add_development_dependency 'minitest', '~> 5.7'
19
- s.add_development_dependency 'codeclimate-test-reporter', '~> 0.4.7'
20
- end
16
+ s.add_dependency 'nokogiri', '~> 1.6.8'
17
+ s.add_development_dependency 'rake', '~> 12.0'
18
+ s.add_development_dependency 'minitest', '~> 5.10.1'
19
+ s.add_development_dependency 'coveralls', '~> 0.8.19'
20
+ s.add_development_dependency 'codeclimate-test-reporter', '~> 1.0.7'
21
+ end
@@ -1 +1 @@
1
- Dir.glob(File.expand_path(File.dirname(__FILE__)) + '/junit_report_generator/**/*.rb').each { |file| require file }
1
+ Dir.glob(File.expand_path(File.dirname(__FILE__)) + '/junit_report_generator/**/*.rb').each { |file| require file }
@@ -1,19 +1,19 @@
1
1
  module JunitReportGenerator
2
2
  module Containable
3
3
  attr_reader :sub_elements
4
-
4
+
5
5
  def register(&blk)
6
6
  @sub_elements = []
7
7
  @blk = blk
8
8
  end
9
-
9
+
10
10
  def add(*sub_elements)
11
11
  @sub_elements ||= []
12
12
  @sub_elements.concat(sub_elements)
13
13
  @blk.call(sub_elements) if defined?(@blk) && @blk
14
14
  self
15
15
  end
16
-
16
+
17
17
  private :register
18
18
  end
19
- end
19
+ end
@@ -1,7 +1,7 @@
1
1
  module JunitReportGenerator
2
2
  module Elementary
3
3
  attr_reader :attributes
4
-
4
+
5
5
  def assemble_attributes(*attrs)
6
6
  attributes = {}
7
7
  attrs.each do |attr|
@@ -10,7 +10,7 @@ module JunitReportGenerator
10
10
  end
11
11
  instance_variable_set(:@attributes, attributes)
12
12
  end
13
-
13
+
14
14
  def update_attributes(*attrs)
15
15
  initialize_attributes_if_not_yet
16
16
  attrs.each do |attr|
@@ -18,7 +18,7 @@ module JunitReportGenerator
18
18
  instance_variable_get(:@attributes)[attr] = instance_variable_get("@#{attr.id2name}")
19
19
  end
20
20
  end
21
-
21
+
22
22
  def method_missing(method, *args)
23
23
  initialize_attributes_if_not_yet
24
24
  instance_variable_get(:@attributes)[method] = args.first
@@ -29,13 +29,11 @@ module JunitReportGenerator
29
29
  end
30
30
  self
31
31
  end
32
-
32
+
33
33
  def initialize_attributes_if_not_yet
34
- unless instance_variable_get(:@attributes)
35
- instance_variable_set(:@attributes, {})
36
- end
34
+ instance_variable_set(:@attributes, {}) unless instance_variable_get(:@attributes)
37
35
  end
38
-
36
+
39
37
  private :initialize_attributes_if_not_yet
40
38
  end
41
- end
39
+ end
@@ -4,23 +4,23 @@ require_relative '../containable'
4
4
  module JunitReportGenerator
5
5
  class Element
6
6
  include Elementary
7
-
7
+
8
8
  class << self
9
9
  def create(*args)
10
10
  obj = new(*args)
11
11
  obj.instance_variable_set(:@attributes, {}) unless obj.attributes
12
12
  obj
13
13
  end
14
-
14
+
15
15
  def include_containable
16
16
  include Containable
17
17
  end
18
-
18
+
19
19
  def xml_tag_name
20
- raise(NotImplementedError, "Abstract method [#{__method__}] is called, please implement", caller)
20
+ fail(NotImplementedError, "Abstract method [#{__method__}] is called, please implement", caller)
21
21
  end
22
22
  end
23
-
23
+
24
24
  private_class_method :new, :include_containable
25
25
  end
26
- end
26
+ end
@@ -8,4 +8,4 @@ module JunitReportGenerator
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -8,4 +8,4 @@ module JunitReportGenerator
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -3,15 +3,15 @@ require_relative 'element'
3
3
  module JunitReportGenerator
4
4
  class Properties < Element
5
5
  include_containable
6
-
6
+
7
7
  def initialize
8
8
  register
9
9
  end
10
-
10
+
11
11
  class << self
12
12
  def xml_tag_name
13
13
  'properties'
14
14
  end
15
15
  end
16
16
  end
17
- end
17
+ end
@@ -7,11 +7,11 @@ module JunitReportGenerator
7
7
  @value = value
8
8
  assemble_attributes(:name, :value)
9
9
  end
10
-
10
+
11
11
  class << self
12
12
  def xml_tag_name
13
13
  'property'
14
14
  end
15
15
  end
16
16
  end
17
- end
17
+ end
@@ -8,4 +8,4 @@ module JunitReportGenerator
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -8,4 +8,4 @@ module JunitReportGenerator
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -8,4 +8,4 @@ module JunitReportGenerator
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -3,17 +3,17 @@ require_relative 'element'
3
3
  module JunitReportGenerator
4
4
  class TestCase < Element
5
5
  include_containable
6
-
6
+
7
7
  def initialize(name)
8
8
  @name = name
9
9
  assemble_attributes(:name)
10
10
  register
11
11
  end
12
-
12
+
13
13
  class << self
14
14
  def xml_tag_name
15
15
  'testcase'
16
16
  end
17
17
  end
18
18
  end
19
- end
19
+ end
@@ -7,7 +7,7 @@ require_relative 'skipped'
7
7
  module JunitReportGenerator
8
8
  class TestSuite < Element
9
9
  include_containable
10
-
10
+
11
11
  def initialize(name)
12
12
  @name = name
13
13
  @tests = 0
@@ -21,7 +21,7 @@ module JunitReportGenerator
21
21
  if sub_element.is_a?(TestCase)
22
22
  @tests += 1
23
23
  @time += sub_element.attributes.fetch(:time, 0).to_f
24
- class_types = sub_element.sub_elements.map { |x| x.class }
24
+ class_types = sub_element.sub_elements.map(&:class)
25
25
  @errors += 1 if class_types.include?(Error)
26
26
  @failures += 1 if class_types.include?(Failure)
27
27
  @skipped += 1 if class_types.include?(Skipped)
@@ -30,11 +30,11 @@ module JunitReportGenerator
30
30
  update_attributes(:tests, :errors, :failures, :skipped, :time)
31
31
  end
32
32
  end
33
-
33
+
34
34
  class << self
35
35
  def xml_tag_name
36
36
  'testsuite'
37
37
  end
38
38
  end
39
39
  end
40
- end
40
+ end
@@ -3,7 +3,7 @@ require_relative 'element'
3
3
  module JunitReportGenerator
4
4
  class TestSuites < Element
5
5
  include_containable
6
-
6
+
7
7
  def initialize
8
8
  @tests = 0
9
9
  @errors = 0
@@ -23,11 +23,11 @@ module JunitReportGenerator
23
23
  update_attributes(:tests, :errors, :failures, :disabled, :time)
24
24
  end
25
25
  end
26
-
26
+
27
27
  class << self
28
28
  def xml_tag_name
29
29
  'testsuites'
30
30
  end
31
31
  end
32
32
  end
33
- end
33
+ end
@@ -4,12 +4,12 @@ module JunitReportGenerator
4
4
  class Generator
5
5
  class << self
6
6
  def produce(test_suites)
7
- builder = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
7
+ builder = Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|
8
8
  build_tags(xml, test_suites)
9
9
  end
10
10
  builder.to_xml
11
11
  end
12
-
12
+
13
13
  def build_tags(xml, element)
14
14
  tag_name = element.class.xml_tag_name
15
15
  xml.send(tag_name, element.attributes) do
@@ -21,7 +21,7 @@ module JunitReportGenerator
21
21
  end
22
22
  end
23
23
  end
24
-
24
+
25
25
  private_class_method :new, :build_tags
26
26
  end
27
- end
27
+ end
@@ -5,20 +5,20 @@ module JunitReportGenerator
5
5
  def initialize(test_suites)
6
6
  @test_suites = test_suites
7
7
  end
8
-
8
+
9
9
  class << self
10
10
  def on(test_suites)
11
11
  new(test_suites)
12
12
  end
13
13
  end
14
-
14
+
15
15
  def publish(file)
16
16
  xml = Generator.produce(@test_suites)
17
17
  File.open(file, 'w') do |f|
18
18
  f.puts xml
19
19
  end
20
20
  end
21
-
21
+
22
22
  private_class_method :new
23
23
  end
24
- end
24
+ end
data/test/helper.rb CHANGED
@@ -1,8 +1,12 @@
1
- require 'codeclimate-test-reporter'
2
- CodeClimate::TestReporter.start
1
+ $LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), *%w(.. lib junit_report_generator))))
2
+
3
+ require 'simplecov'
4
+ SimpleCov.start
5
+
6
+ require 'coveralls'
7
+ Coveralls.wear!
3
8
 
4
- $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), *%w[.. lib junit_report_generator])))
5
9
  require 'junit_report_generator'
6
10
  require 'minitest/autorun'
7
11
 
8
- include JunitReportGenerator
12
+ include JunitReportGenerator
@@ -5,12 +5,12 @@ class TestContainable < Minitest::Test
5
5
  @klass_without_register = Class.new do
6
6
  include Containable
7
7
  end
8
-
8
+
9
9
  @klass_with_register = Class.new do
10
10
  include Containable
11
-
11
+
12
12
  attr_reader :count
13
-
13
+
14
14
  def initialize
15
15
  @count = 0
16
16
  register do |sub_elements|
@@ -18,28 +18,28 @@ class TestContainable < Minitest::Test
18
18
  end
19
19
  end
20
20
  end
21
-
21
+
22
22
  @object_without_register = @klass_without_register.new
23
23
  @object_with_register = @klass_with_register.new
24
-
24
+
25
25
  @sub_element_1 = MiniTest::Mock.new
26
26
  @sub_element_2 = MiniTest::Mock.new
27
27
  @sub_element_3 = MiniTest::Mock.new
28
28
  end
29
-
29
+
30
30
  def test_add_by_splatting_arguments
31
31
  @object_without_register.add(@sub_element_1, @sub_element_2, @sub_element_3)
32
32
  assert_equal(3, @object_without_register.sub_elements.size)
33
33
  end
34
-
34
+
35
35
  def test_add_by_chaining
36
36
  @object_without_register.add(@sub_element_1).add(@sub_element_2)
37
37
  assert_equal(2, @object_without_register.sub_elements.size)
38
38
  end
39
-
39
+
40
40
  def test_register_with_block
41
41
  assert_equal(0, @object_with_register.count)
42
42
  @object_with_register.add(@sub_element_1).add(@sub_element_2)
43
43
  assert_equal(2, @object_with_register.count)
44
44
  end
45
- end
45
+ end
data/test/test_element.rb CHANGED
@@ -4,10 +4,10 @@ class TestElement < Minitest::Test
4
4
  def setup
5
5
  @klass = Class.new(Element) do
6
6
  end
7
-
7
+
8
8
  @klass_with_constructor = Class.new(Element) do
9
9
  attr_reader :name, :value
10
-
10
+
11
11
  def initialize(name, value)
12
12
  @name = name
13
13
  @value = value
@@ -15,46 +15,46 @@ class TestElement < Minitest::Test
15
15
  end
16
16
  end
17
17
  end
18
-
18
+
19
19
  def test_empty_constructor
20
20
  @klass.create
21
21
  end
22
-
22
+
23
23
  def test_constructor_with_arguments
24
24
  assert_raises ArgumentError do
25
25
  @klass_with_constructor.create
26
26
  end
27
-
27
+
28
28
  object = @klass_with_constructor.create('AwesomeTest', 23)
29
29
  assert_equal('AwesomeTest', object.name)
30
30
  assert_equal(23, object.value)
31
31
  end
32
-
32
+
33
33
  def test_private_class_method_new
34
34
  assert_raises NoMethodError do
35
35
  @klass.new
36
36
  end
37
37
  end
38
-
38
+
39
39
  def test_include_containable
40
40
  assert(!@klass.ancestors.include?(JunitReportGenerator::Containable))
41
41
  @klass.send(:include_containable)
42
42
  assert(@klass.ancestors.include?(JunitReportGenerator::Containable))
43
43
  end
44
-
44
+
45
45
  def test_xml_tag_name
46
46
  assert_raises NotImplementedError do
47
47
  @klass.xml_tag_name
48
48
  end
49
49
  end
50
-
50
+
51
51
  def test_attributes_is_initialized
52
52
  obj = @klass.create
53
53
  assert_equal({}, obj.attributes)
54
54
  end
55
-
55
+
56
56
  def test_attributes_is_not_reset
57
57
  obj = @klass_with_constructor.create('AwesomeTest', 23)
58
- assert_equal({:name => 'AwesomeTest', :value => 23}, obj.attributes)
58
+ assert_equal({ name: 'AwesomeTest', value: 23 }, obj.attributes)
59
59
  end
60
- end
60
+ end
@@ -4,64 +4,64 @@ class TestElementary < Minitest::Test
4
4
  def setup
5
5
  @klass_with_dflt_attrs = Class.new do
6
6
  include Elementary
7
-
7
+
8
8
  def initialize(name, value)
9
9
  @name = name
10
10
  @value = value
11
11
  assemble_attributes(:name, :value)
12
12
  end
13
-
13
+
14
14
  def change(value)
15
15
  @value = value
16
16
  update_attributes(:value)
17
17
  end
18
18
  end
19
-
19
+
20
20
  @klass_without_anything = Class.new do
21
21
  include Elementary
22
22
  end
23
-
23
+
24
24
  @obj_with_dflt_attrs = @klass_with_dflt_attrs.new('foobar', 88)
25
25
  @obj_without_dflt_attrs = @klass_without_anything.new
26
26
  end
27
-
27
+
28
28
  def test_assemble_attributes
29
- assert_equal({:name => 'foobar', :value => 88}, @obj_with_dflt_attrs.attributes)
29
+ assert_equal({ name: 'foobar', value: 88 }, @obj_with_dflt_attrs.attributes)
30
30
  end
31
-
31
+
32
32
  def test_update_attributes
33
33
  @obj_with_dflt_attrs.change(1024)
34
- assert_equal({:name => 'foobar', :value => 1024}, @obj_with_dflt_attrs.attributes)
34
+ assert_equal({ name: 'foobar', value: 1024 }, @obj_with_dflt_attrs.attributes)
35
35
  end
36
-
36
+
37
37
  def test_method_missing_should_add_optional_attribute
38
38
  @obj_with_dflt_attrs.status('Unknown')
39
- assert_equal({:name => 'foobar', :value => 88, :status => 'Unknown'}, @obj_with_dflt_attrs.attributes)
39
+ assert_equal({ name: 'foobar', value: 88, status: 'Unknown' }, @obj_with_dflt_attrs.attributes)
40
40
  end
41
-
41
+
42
42
  def test_method_missing_should_cache_optional_attribute_to_method
43
43
  assert(!@klass_with_dflt_attrs.instance_methods.include?(:status))
44
44
  @obj_with_dflt_attrs.status('Unknown')
45
45
  assert(@klass_with_dflt_attrs.instance_methods.include?(:status))
46
- assert(({:name => 'foobar', :value => 88, :status => 'Unknown'}.to_a - @obj_with_dflt_attrs.attributes.to_a).empty?)
46
+ assert(({ name: 'foobar', value: 88, status: 'Unknown' }.to_a - @obj_with_dflt_attrs.attributes.to_a).empty?)
47
47
  end
48
-
48
+
49
49
  def test_attributes_is_nil_before_initialization
50
50
  assert_nil(@obj_without_dflt_attrs.attributes)
51
51
  end
52
-
52
+
53
53
  def test_attributes_is_set_after_initialization
54
54
  @obj_without_dflt_attrs.send(:initialize_attributes_if_not_yet)
55
55
  assert_equal({}, @obj_without_dflt_attrs.attributes)
56
56
  end
57
-
57
+
58
58
  def test_attributes_is_assured_initialized_in_update_attributes
59
59
  @obj_without_dflt_attrs.update_attributes(:status)
60
- assert_equal({:status => nil}, @obj_without_dflt_attrs.attributes)
60
+ assert_equal({ status: nil }, @obj_without_dflt_attrs.attributes)
61
61
  end
62
-
62
+
63
63
  def test_attributes_is_assured_initialized_in_method_missing
64
64
  @obj_without_dflt_attrs.send(:method_missing, :status, 'Good')
65
- assert_equal({:status => 'Good'}, @obj_without_dflt_attrs.attributes)
65
+ assert_equal({ status: 'Good' }, @obj_without_dflt_attrs.attributes)
66
66
  end
67
- end
67
+ end
data/test/test_error.rb CHANGED
@@ -4,4 +4,4 @@ class TestError < Minitest::Test
4
4
  def test_xml_tag_name
5
5
  assert_equal('error', Error.xml_tag_name)
6
6
  end
7
- end
7
+ end
data/test/test_failure.rb CHANGED
@@ -4,4 +4,4 @@ class TestFailure < Minitest::Test
4
4
  def test_xml_tag_name
5
5
  assert_equal('failure', Failure.xml_tag_name)
6
6
  end
7
- end
7
+ end
@@ -10,21 +10,22 @@ class TestGenerator < Minitest::Test
10
10
  test_suites.add(test_suite)
11
11
  xml = Generator.produce(test_suites)
12
12
  doc = Nokogiri::Slop(xml)
13
-
13
+
14
14
  assert_equal(3, doc.testsuites.testsuite.testcase.size)
15
15
  assert_equal('testLoginWithWrongCredentials', doc.testsuites.testsuite.testcase.last['name'])
16
16
  assert_equal('LoginActivityTest', doc.testsuites.testsuite.testcase.last['classname'])
17
17
  assert_equal('6.691', doc.testsuites.testsuite.testcase.last['time'])
18
18
  end
19
-
19
+
20
20
  def test_build_tags_without_recursion
21
- xml = Nokogiri::XML::Builder.new do |xml|
21
+ builder = Nokogiri::XML::Builder.new do |xml|
22
22
  Generator.send(:build_tags, xml, TestSuites.create)
23
- end.to_xml
24
-
23
+ end
24
+ xml = builder.to_xml
25
+
25
26
  assert(Nokogiri::XML(xml).xpath('//testsuites').children.empty?)
26
27
  end
27
-
28
+
28
29
  def test_build_tags_with_sub_elements
29
30
  test_suites = TestSuites.create
30
31
  test_suite = TestSuite.create('UI-Tests')
@@ -32,12 +33,13 @@ class TestGenerator < Minitest::Test
32
33
  .add(TestCase.create('testLoginWithCorrectCredentials').classname('LoginActivityTest').time('7.472'))
33
34
  .add(TestCase.create('testLoginWithWrongCredentials').classname('LoginActivityTest').time('6.691'))
34
35
  test_suites.add(test_suite)
35
-
36
- xml = Nokogiri::XML::Builder.new do |xml|
36
+
37
+ builder = Nokogiri::XML::Builder.new do |xml|
37
38
  Generator.send(:build_tags, xml, test_suites)
38
- end.to_xml
39
-
39
+ end
40
+ xml = builder.to_xml
41
+
40
42
  assert(!Nokogiri::XML(xml).xpath('//testsuites').children.empty?)
41
43
  assert_equal(3, Nokogiri::XML(xml).xpath('//testcase').size)
42
44
  end
43
- end
45
+ end
@@ -5,8 +5,8 @@ class TestProperties < Minitest::Test
5
5
  properties = Properties.create
6
6
  assert_equal([], properties.sub_elements)
7
7
  end
8
-
8
+
9
9
  def test_xml_tag_name
10
10
  assert_equal('properties', Properties.xml_tag_name)
11
11
  end
12
- end
12
+ end
@@ -3,10 +3,10 @@ require_relative 'helper'
3
3
  class TestProperty < Minitest::Test
4
4
  def test_create
5
5
  property = Property.create('os.vendor', 'Macrohard Corporation')
6
- assert_equal({:name => 'os.vendor', :value => 'Macrohard Corporation'}, property.attributes)
6
+ assert_equal({ name: 'os.vendor', value: 'Macrohard Corporation' }, property.attributes)
7
7
  end
8
-
8
+
9
9
  def test_xml_tag_name
10
10
  assert_equal('property', Property.xml_tag_name)
11
11
  end
12
- end
12
+ end
data/test/test_report.rb CHANGED
@@ -6,12 +6,13 @@ class TestReport < Minitest::Test
6
6
  @report = Report.on(@test_suites)
7
7
  @file = MiniTest::Mock.new
8
8
  end
9
-
9
+
10
10
  def test_on
11
+ @test_suites.expect(:nil?, false)
11
12
  @test_suites.expect(:==, true, [@test_suites])
12
13
  assert_equal(@test_suites, @report.instance_variable_get(:@test_suites))
13
14
  end
14
-
15
+
15
16
  def test_publish
16
17
  xml = 'Pseudo XML'
17
18
  Generator.stub(:produce, xml) do
@@ -21,4 +22,4 @@ class TestReport < Minitest::Test
21
22
  end
22
23
  end
23
24
  end
24
- end
25
+ end
data/test/test_skipped.rb CHANGED
@@ -4,4 +4,4 @@ class TestSkipped < Minitest::Test
4
4
  def test_xml_tag_name
5
5
  assert_equal('skipped', Skipped.xml_tag_name)
6
6
  end
7
- end
7
+ end
@@ -4,4 +4,4 @@ class TestSystemErr < Minitest::Test
4
4
  def test_xml_tag_name
5
5
  assert_equal('system-err', SystemErr.xml_tag_name)
6
6
  end
7
- end
7
+ end
@@ -4,4 +4,4 @@ class TestSystemOut < Minitest::Test
4
4
  def test_xml_tag_name
5
5
  assert_equal('system-out', SystemOut.xml_tag_name)
6
6
  end
7
- end
7
+ end
@@ -4,11 +4,11 @@ class TestTestCase < Minitest::Test
4
4
  def test_create
5
5
  test_case = TestCase.create('Awesome Test')
6
6
  assert_equal('Awesome Test', test_case.instance_variable_get(:@name))
7
- assert_equal({:name => 'Awesome Test'}, test_case.attributes)
7
+ assert_equal({ name: 'Awesome Test' }, test_case.attributes)
8
8
  assert_equal([], test_case.sub_elements)
9
9
  end
10
-
10
+
11
11
  def test_xml_tag_name
12
12
  assert_equal('testcase', TestCase.xml_tag_name)
13
13
  end
14
- end
14
+ end
@@ -12,18 +12,18 @@ class TestTestSuite < Minitest::Test
12
12
  @test_case_7 = MiniTest::Mock.new
13
13
  @test_case_8 = MiniTest::Mock.new
14
14
  end
15
-
15
+
16
16
  def test_create
17
17
  assert_equal('Sonar', @test_suite.instance_variable_get(:@name))
18
18
  assert_equal('Sonar', @test_suite.attributes[:name])
19
19
  assert_equal(0, @test_suite.attributes[:tests])
20
20
  assert_equal([], @test_suite.sub_elements)
21
21
  end
22
-
22
+
23
23
  def test_empty_test_suite
24
24
  assert_equal(0, @test_suite.instance_variable_get(:@tests))
25
25
  end
26
-
26
+
27
27
  def test_add_by_splatting_arguments
28
28
  @test_case_1.expect(:is_a?, true, [TestCase])
29
29
  @test_case_2.expect(:is_a?, true, [TestCase])
@@ -37,7 +37,7 @@ class TestTestSuite < Minitest::Test
37
37
  @test_suite.add(@test_case_1, @test_case_2, @test_case_3)
38
38
  assert_equal(3, @test_suite.instance_variable_get(:@tests))
39
39
  end
40
-
40
+
41
41
  def test_add_by_chaining
42
42
  @test_case_1.expect(:is_a?, true, [TestCase])
43
43
  @test_case_2.expect(:is_a?, true, [TestCase])
@@ -48,14 +48,14 @@ class TestTestSuite < Minitest::Test
48
48
  @test_suite.add(@test_case_1).add(@test_case_2)
49
49
  assert_equal(2, @test_suite.instance_variable_get(:@tests))
50
50
  end
51
-
51
+
52
52
  def test_xml_tag_name
53
53
  assert_equal('testsuite', TestSuite.xml_tag_name)
54
54
  end
55
-
55
+
56
56
  def test_register_block
57
57
  sub_element = MiniTest::Mock.new
58
-
58
+
59
59
  @test_case_1.expect(:is_a?, true, [TestCase])
60
60
  @test_case_2.expect(:is_a?, true, [TestCase])
61
61
  @test_case_3.expect(:is_a?, true, [TestCase])
@@ -65,16 +65,16 @@ class TestTestSuite < Minitest::Test
65
65
  @test_case_7.expect(:is_a?, true, [TestCase])
66
66
  @test_case_8.expect(:is_a?, true, [TestCase])
67
67
  sub_element.expect(:is_a?, false, [TestCase])
68
-
69
- @test_case_1.expect(:attributes, {:time => '200.36'})
70
- @test_case_2.expect(:attributes, {:time => '1000.0'})
71
- @test_case_3.expect(:attributes, {:time => 0.00080})
72
- @test_case_4.expect(:attributes, {:time => '0.00009'})
73
- @test_case_5.expect(:attributes, {:time => '30s'})
74
- @test_case_6.expect(:attributes, {:time => '4.2'})
68
+
69
+ @test_case_1.expect(:attributes, time: '200.36')
70
+ @test_case_2.expect(:attributes, time: '1000.0')
71
+ @test_case_3.expect(:attributes, time: 0.00080)
72
+ @test_case_4.expect(:attributes, time: '0.00009')
73
+ @test_case_5.expect(:attributes, time: '30s')
74
+ @test_case_6.expect(:attributes, time: '4.2')
75
75
  @test_case_7.expect(:attributes, {})
76
- @test_case_8.expect(:attributes, {:time => '0.0070'})
77
-
76
+ @test_case_8.expect(:attributes, time: '0.0070')
77
+
78
78
  @test_case_1.expect(:sub_elements, [Failure.create])
79
79
  @test_case_2.expect(:sub_elements, [])
80
80
  @test_case_3.expect(:sub_elements, [Properties.create, Error.create])
@@ -83,13 +83,13 @@ class TestTestSuite < Minitest::Test
83
83
  @test_case_6.expect(:sub_elements, [Skipped.create])
84
84
  @test_case_7.expect(:sub_elements, [Failure.create])
85
85
  @test_case_8.expect(:sub_elements, [Error.create, Properties.create])
86
-
86
+
87
87
  @test_suite.add(@test_case_1, @test_case_2, @test_case_3, @test_case_4, @test_case_5, @test_case_6, @test_case_7, @test_case_8, sub_element)
88
-
88
+
89
89
  assert_equal(8, @test_suite.attributes[:tests])
90
90
  assert_equal(2, @test_suite.attributes[:errors])
91
91
  assert_equal(3, @test_suite.attributes[:failures])
92
92
  assert_equal(1, @test_suite.attributes[:skipped])
93
93
  assert_in_delta(1234.56789, @test_suite.attributes[:time], 0.000001)
94
94
  end
95
- end
95
+ end
@@ -11,33 +11,33 @@ class TestTestSuites < Minitest::Test
11
11
  @test_suite_7 = MiniTest::Mock.new
12
12
  @test_suite_8 = MiniTest::Mock.new
13
13
  end
14
-
14
+
15
15
  def test_create
16
16
  test_suites = TestSuites.create
17
17
  assert_equal([], test_suites.sub_elements)
18
18
  end
19
-
19
+
20
20
  def test_xml_tag_name
21
21
  assert_equal('testsuites', TestSuites.xml_tag_name)
22
22
  end
23
-
23
+
24
24
  def test_register_block
25
- @test_suite_1.expect(:attributes, {:tests => 5, :failures => 1, :time => 60})
25
+ @test_suite_1.expect(:attributes, tests: 5, failures: 1, time: 60)
26
26
  @test_suite_2.expect(:attributes, {})
27
- @test_suite_3.expect(:attributes, {:tests => 0, :errors => 0, :failures => 0, :disabled => 0, :time => 0})
28
- @test_suite_4.expect(:attributes, {:tests => 10, :errors => 2, :failures => 0, :disabled => 0, :time => 100})
29
- @test_suite_5.expect(:attributes, {:tests => 5, :errors => 0, :failures => 0, :disabled => 2, :time => 50.078})
30
- @test_suite_6.expect(:attributes, {:tests => 3, :errors => 1, :failures => 1, :disabled => 1, :time => 10.0009})
31
- @test_suite_7.expect(:attributes, {:tests => 6, :errors => 2, :failures => 2, :time => 0})
32
- @test_suite_8.expect(:attributes, {:tests => 1, :errors => 0, :failures => 0, :disabled => 0, :time => 4.6})
33
-
27
+ @test_suite_3.expect(:attributes, tests: 0, errors: 0, failures: 0, disabled: 0, time: 0)
28
+ @test_suite_4.expect(:attributes, tests: 10, errors: 2, failures: 0, disabled: 0, time: 100)
29
+ @test_suite_5.expect(:attributes, tests: 5, errors: 0, failures: 0, disabled: 2, time: 50.078)
30
+ @test_suite_6.expect(:attributes, tests: 3, errors: 1, failures: 1, disabled: 1, time: 10.0009)
31
+ @test_suite_7.expect(:attributes, tests: 6, errors: 2, failures: 2, time: 0)
32
+ @test_suite_8.expect(:attributes, tests: 1, errors: 0, failures: 0, disabled: 0, time: 4.6)
33
+
34
34
  test_suites = TestSuites.create
35
35
  test_suites.add(@test_suite_1, @test_suite_2, @test_suite_3, @test_suite_4, @test_suite_5, @test_suite_6, @test_suite_7, @test_suite_8)
36
-
36
+
37
37
  assert_equal(30, test_suites.attributes[:tests])
38
38
  assert_equal(5, test_suites.attributes[:errors])
39
39
  assert_equal(4, test_suites.attributes[:failures])
40
40
  assert_equal(3, test_suites.attributes[:disabled])
41
41
  assert_in_delta(224.6789, test_suites.attributes[:time], 0.00001)
42
42
  end
43
- end
43
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: junit_report_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jing Li
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-13 00:00:00.000000000 Z
11
+ date: 2017-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -16,56 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: '1.6'
19
+ version: 1.6.8
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: '1.6'
26
+ version: 1.6.8
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '10.4'
33
+ version: '12.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: '10.4'
40
+ version: '12.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: '5.7'
47
+ version: 5.10.1
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: '5.7'
54
+ version: 5.10.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: coveralls
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.8.19
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 0.8.19
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: codeclimate-test-reporter
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - ~>
60
74
  - !ruby/object:Gem::Version
61
- version: 0.4.7
75
+ version: 1.0.7
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - ~>
67
81
  - !ruby/object:Gem::Version
68
- version: 0.4.7
82
+ version: 1.0.7
69
83
  description: Generating JUnit test result report (xml) from any format of data by
70
84
  super easy and flexible syntax. Most of the CIs (Continuous Integration) can aggregate
71
85
  JUnit style reports with zero effort.