onlyoffice_tcm_helper 0.4.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ea10f0b9531302112fffc41d4272bd9cab11c3b13f2429d712db6f8b5559cb1a
4
- data.tar.gz: 84a021f6ea028ec977a406eee88cba071d68ef2411f32e8445343cf833740a49
3
+ metadata.gz: 6d1a4abfb14b26d6407481b9eefdb54133aa7f2f59d4736e6f98ded99b232e3e
4
+ data.tar.gz: bb605ec0a0e5d534775a49e70408f81e3fbdbb07ac75c18a2d0560f93399f3c0
5
5
  SHA512:
6
- metadata.gz: 0a1cc01a8368b5a4b508104ae401faedc3fd53620976fb1c47a6da9b72b220566ca0a8d739d864daab5523a7445c5808583e3d5a05b7ef1c3966f4b44bd517cd
7
- data.tar.gz: 58687f6517e8875e051466e26402f8ef4ffbb38bd2a2bc371eb31275d1e02e8c0336a9223805e17db40ac627ab12423e411e89ed83f4647dcd9f3e6039ef56ce
6
+ metadata.gz: 88403a96305b3f4da2996a263a27ae04f6614a869a1c8c223c02cdf7d12a25dc019d92dcf7180d4c498813724201ca579be87490dc0eca531cdf67e91c8f6f4d
7
+ data.tar.gz: e7bdb7282768988d0a538cc67b6ab280979207f8951d1051798a0e3d77b770292cdf4a674a1efbce76bcf3514c965599d001457809f1e923ab4f28d5e34d423d
@@ -11,16 +11,23 @@ module OnlyofficeTcmHelper
11
11
  # @param [RSpec::Core::Example] example
12
12
  # @return [String] line value
13
13
  def self.find_failed_line(example)
14
+ dirty_line = find_dirty_line(example)
15
+ line_number = dirty_line[/:\d*:/].delete(':').to_i
16
+ OnlyofficeFileHelper::FileHelper.read_array_from_file(example.metadata[:absolute_file_path])[line_number - 1]
17
+ rescue StandardError => e
18
+ "Cannot find failed line because of exception: #{e}"
19
+ end
20
+
21
+ # Find dirty line in example
22
+ # @param [RSpec::Core::Example] example
23
+ # @return [String] dirty line
24
+ def self.find_dirty_line(example)
14
25
  example_path = example.metadata[:absolute_file_path].downcase
15
- dirty_line = example.exception.backtrace.find do |line|
26
+ example.exception.backtrace.find do |line|
16
27
  next unless (line_path = line[/(.+?):(\d+)(|:\d+)/, 1])
17
28
 
18
29
  File.expand_path(line_path).casecmp(example_path).zero?
19
30
  end
20
- line_number = dirty_line[/:\d*:/].delete(':').to_i
21
- OnlyofficeFileHelper::FileHelper.read_array_from_file(example.metadata[:absolute_file_path])[line_number - 1]
22
- rescue StandardError => e
23
- "Cannot find failed line because of exception: #{e}"
24
31
  end
25
32
  end
26
33
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module OnlyofficeTcmHelper
4
4
  # @return [String] version of gem
5
- VERSION = '0.4.0'
5
+ VERSION = '1.0.0'
6
6
  end
@@ -66,12 +66,7 @@ module OnlyofficeTcmHelper
66
66
  # @return [Symbol] is a symbolic name of test status
67
67
  def get_status_and_comment(example)
68
68
  @status = if result_is_failed?(example)
69
- comment = "\n#{example.exception.to_s
70
- .gsub('got:', "got:\n")
71
- .gsub('expected:', "expected:\n")
72
- .gsub('to return ', "to return:\n")}\n" \
73
- "In line:\n#{RspecHelper.find_failed_line(example)}"
74
- @comment = comment
69
+ @comment = form_failed_comment(example)
75
70
  :failed
76
71
  elsif example.pending?
77
72
  handle_pending(example)
@@ -81,15 +76,8 @@ module OnlyofficeTcmHelper
81
76
  elsif result_is_passed2?(example)
82
77
  @comment = "\nPassed 2"
83
78
  :passed_2
84
- elsif result_is_service_unavailable?(example)
85
- @comment = "\n#{example.exception}"
86
- :service_unavailable
87
- elsif result_is_lpv?(example)
88
- @comment = "\n#{example.exception}"
89
- :lpv
90
79
  else
91
- @comment = "\n#{example.exception}"
92
- :aborted
80
+ handle_other_status(example)
93
81
  end
94
82
  @last_case = @case_name
95
83
  end
@@ -117,5 +105,33 @@ module OnlyofficeTcmHelper
117
105
  def result_is_lpv?(example)
118
106
  example.exception.to_s.include?('Limited program version')
119
107
  end
108
+
109
+ private
110
+
111
+ # Form comment for failed test
112
+ # @param [RSpec::Core::Example] example to parse
113
+ # @return [String] comment
114
+ def form_failed_comment(example)
115
+ failed_line = RspecHelper.find_failed_line(example)
116
+ "\n#{example.exception.to_s
117
+ .gsub('got:', "got:\n")
118
+ .gsub('expected:', "expected:\n")
119
+ .gsub('to return ', "to return:\n")}\n" \
120
+ "In line:\n#{failed_line}"
121
+ end
122
+
123
+ # Handle unavailable, lpv and aborted status
124
+ # @param [RSpec::Core::Example] example to parse
125
+ # @return [Symbol] status
126
+ def handle_other_status(example)
127
+ @comment = "\n#{example.exception}"
128
+ if result_is_service_unavailable?(example)
129
+ :service_unavailable
130
+ elsif result_is_lpv?(example)
131
+ :lpv
132
+ else
133
+ :aborted
134
+ end
135
+ end
120
136
  end
121
137
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onlyoffice_tcm_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ONLYOFFICE
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-08-10 00:00:00.000000000 Z
13
+ date: 2024-02-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: onlyoffice_file_helper
@@ -18,146 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - "<"
20
20
  - !ruby/object:Gem::Version
21
- version: '2'
21
+ version: '3'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "<"
27
- - !ruby/object:Gem::Version
28
- version: '2'
29
- - !ruby/object:Gem::Dependency
30
- name: overcommit
31
- requirement: !ruby/object:Gem::Requirement
32
- requirements:
33
- - - "~>"
34
- - !ruby/object:Gem::Version
35
- version: '0'
36
- type: :development
37
- prerelease: false
38
- version_requirements: !ruby/object:Gem::Requirement
39
- requirements:
40
- - - "~>"
41
- - !ruby/object:Gem::Version
42
- version: '0'
43
- - !ruby/object:Gem::Dependency
44
- name: rake
45
- requirement: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '13'
50
- type: :development
51
- prerelease: false
52
- version_requirements: !ruby/object:Gem::Requirement
53
- requirements:
54
- - - "~>"
55
- - !ruby/object:Gem::Version
56
- version: '13'
57
- - !ruby/object:Gem::Dependency
58
- name: rspec
59
- requirement: !ruby/object:Gem::Requirement
60
- requirements:
61
- - - "~>"
62
- - !ruby/object:Gem::Version
63
- version: '3'
64
- type: :development
65
- prerelease: false
66
- version_requirements: !ruby/object:Gem::Requirement
67
- requirements:
68
- - - "~>"
69
27
  - !ruby/object:Gem::Version
70
28
  version: '3'
71
- - !ruby/object:Gem::Dependency
72
- name: rubocop
73
- requirement: !ruby/object:Gem::Requirement
74
- requirements:
75
- - - "~>"
76
- - !ruby/object:Gem::Version
77
- version: '1'
78
- type: :development
79
- prerelease: false
80
- version_requirements: !ruby/object:Gem::Requirement
81
- requirements:
82
- - - "~>"
83
- - !ruby/object:Gem::Version
84
- version: '1'
85
- - !ruby/object:Gem::Dependency
86
- name: rubocop-performance
87
- requirement: !ruby/object:Gem::Requirement
88
- requirements:
89
- - - "~>"
90
- - !ruby/object:Gem::Version
91
- version: '1'
92
- type: :development
93
- prerelease: false
94
- version_requirements: !ruby/object:Gem::Requirement
95
- requirements:
96
- - - "~>"
97
- - !ruby/object:Gem::Version
98
- version: '1'
99
- - !ruby/object:Gem::Dependency
100
- name: rubocop-rake
101
- requirement: !ruby/object:Gem::Requirement
102
- requirements:
103
- - - "~>"
104
- - !ruby/object:Gem::Version
105
- version: '0'
106
- type: :development
107
- prerelease: false
108
- version_requirements: !ruby/object:Gem::Requirement
109
- requirements:
110
- - - "~>"
111
- - !ruby/object:Gem::Version
112
- version: '0'
113
- - !ruby/object:Gem::Dependency
114
- name: rubocop-rspec
115
- requirement: !ruby/object:Gem::Requirement
116
- requirements:
117
- - - "~>"
118
- - !ruby/object:Gem::Version
119
- version: '2'
120
- type: :development
121
- prerelease: false
122
- version_requirements: !ruby/object:Gem::Requirement
123
- requirements:
124
- - - "~>"
125
- - !ruby/object:Gem::Version
126
- version: '2'
127
- - !ruby/object:Gem::Dependency
128
- name: simplecov
129
- requirement: !ruby/object:Gem::Requirement
130
- requirements:
131
- - - "~>"
132
- - !ruby/object:Gem::Version
133
- version: '0'
134
- type: :development
135
- prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- requirements:
138
- - - "~>"
139
- - !ruby/object:Gem::Version
140
- version: '0'
141
- - !ruby/object:Gem::Dependency
142
- name: yard
143
- requirement: !ruby/object:Gem::Requirement
144
- requirements:
145
- - - "~>"
146
- - !ruby/object:Gem::Version
147
- version: '0'
148
- - - ">="
149
- - !ruby/object:Gem::Version
150
- version: 0.9.20
151
- type: :development
152
- prerelease: false
153
- version_requirements: !ruby/object:Gem::Requirement
154
- requirements:
155
- - - "~>"
156
- - !ruby/object:Gem::Version
157
- version: '0'
158
- - - ">="
159
- - !ruby/object:Gem::Version
160
- version: 0.9.20
161
29
  description: It is helper for work with tcm systems, used in QA
162
30
  email:
163
31
  - shockwavenn@gmail.com
@@ -200,14 +68,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
200
68
  requirements:
201
69
  - - ">="
202
70
  - !ruby/object:Gem::Version
203
- version: '2.7'
71
+ version: '3.0'
204
72
  required_rubygems_version: !ruby/object:Gem::Requirement
205
73
  requirements:
206
74
  - - ">="
207
75
  - !ruby/object:Gem::Version
208
76
  version: '0'
209
77
  requirements: []
210
- rubygems_version: 3.3.20
78
+ rubygems_version: 3.5.5
211
79
  signing_key:
212
80
  specification_version: 4
213
81
  summary: It is helper for work with tcm systems