sbsm 1.6.1 → 1.6.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.envrc +3 -0
- data/.github/workflows/ruby.yml +3 -3
- data/.gitignore +11 -1
- data/.ruby-version +1 -0
- data/History.txt +12 -0
- data/devenv.lock +168 -0
- data/devenv.nix +31 -0
- data/devenv.yaml +8 -0
- data/lib/sbsm/logger.rb +1 -1
- data/lib/sbsm/trans_handler.rb +1 -1
- data/lib/sbsm/validator.rb +11 -12
- data/lib/sbsm/version.rb +1 -1
- data/sbsm.gemspec +4 -4
- data/test/simple_sbsm.rb +1 -1
- data/test/suite.rb +1 -0
- data/test/test_application.rb +1 -1
- data/test/test_session.rb +18 -18
- data/test/test_validator.rb +1 -1
- metadata +16 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86e899261cc339f9823718208de2acff2be0eee084ff0327f7d8773a219255b4
|
4
|
+
data.tar.gz: d5bbc3378fa5e2ced23310629caa4459cb52261973f3676e9bae0f9f8cee2183
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 406aa85aad631e33db299ed2d6dc351695ba5bf6550ce3aae67d01a12596cdc4b70a67dc5471599a4ac4ef17d28a5e1d456173bf66b44ac02b77ed27dd582782
|
7
|
+
data.tar.gz: 77aeb85b366d0bef22bede0ffd0f8ff0d300d32729021c6786b0cd78e32079cbbaccdd133521d90f8121c1e18d0c452b8749cd89ac8e1849a30f52a2deb0c073
|
data/.envrc
ADDED
data/.github/workflows/ruby.yml
CHANGED
@@ -22,7 +22,7 @@ jobs:
|
|
22
22
|
fail-fast: false
|
23
23
|
matrix:
|
24
24
|
os: [ ubuntu]
|
25
|
-
ruby: [2.5, 2.6, 2.7, 3.0, 3.1, head]
|
25
|
+
ruby: [2.5, 2.6, 2.7, '3.0', 3.1, 3.2, 3.3, 3.4, head]
|
26
26
|
continue-on-error: ${{ endsWith(matrix.ruby, 'head') }}
|
27
27
|
steps:
|
28
28
|
- uses: actions/checkout@v2
|
@@ -31,5 +31,5 @@ jobs:
|
|
31
31
|
ruby-version: ${{ matrix.ruby }}
|
32
32
|
bundler-cache: true
|
33
33
|
|
34
|
-
- name: Run tests via
|
35
|
-
run: bundle exec
|
34
|
+
- name: Run tests via test/suite.rb
|
35
|
+
run: bundle exec test/suite.rb
|
data/.gitignore
CHANGED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
3.3.0
|
data/History.txt
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
=== 1.6.3 / 07.01.2025
|
2
|
+
|
3
|
+
* Updated devenv environment for Ruby 3.3 (see https://devenv.sh/)
|
4
|
+
* Replace hpricot with nokogiri as hpricot is no longer maintained and leads to many test warnings under Ruby 3.4
|
5
|
+
|
6
|
+
=== 1.6.2 / 25.01.2024
|
7
|
+
|
8
|
+
* Add devenv environment for Ruby 3.3 (see https://devenv.sh/)
|
9
|
+
* Replace Chronologger with Logger as https://github.com/ma2gedev/chrono_logger
|
10
|
+
is no longer maintained and leads to test errors under Ruby 3.3
|
11
|
+
* Run all tests also under Ruby 3.3
|
12
|
+
|
1
13
|
=== 1.6.1 / 09.12.2022
|
2
14
|
|
3
15
|
* Fix Mime-Bug for Davaz.com
|
data/devenv.lock
ADDED
@@ -0,0 +1,168 @@
|
|
1
|
+
{
|
2
|
+
"nodes": {
|
3
|
+
"devenv": {
|
4
|
+
"locked": {
|
5
|
+
"dir": "src/modules",
|
6
|
+
"lastModified": 1736184348,
|
7
|
+
"owner": "cachix",
|
8
|
+
"repo": "devenv",
|
9
|
+
"rev": "07219f00c633f756d1f0cc5bb6c4c311b5c4cb0d",
|
10
|
+
"type": "github"
|
11
|
+
},
|
12
|
+
"original": {
|
13
|
+
"dir": "src/modules",
|
14
|
+
"owner": "cachix",
|
15
|
+
"repo": "devenv",
|
16
|
+
"type": "github"
|
17
|
+
}
|
18
|
+
},
|
19
|
+
"flake-compat": {
|
20
|
+
"flake": false,
|
21
|
+
"locked": {
|
22
|
+
"lastModified": 1733328505,
|
23
|
+
"owner": "edolstra",
|
24
|
+
"repo": "flake-compat",
|
25
|
+
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
26
|
+
"type": "github"
|
27
|
+
},
|
28
|
+
"original": {
|
29
|
+
"owner": "edolstra",
|
30
|
+
"repo": "flake-compat",
|
31
|
+
"type": "github"
|
32
|
+
}
|
33
|
+
},
|
34
|
+
"flake-compat_2": {
|
35
|
+
"flake": false,
|
36
|
+
"locked": {
|
37
|
+
"lastModified": 1733328505,
|
38
|
+
"owner": "edolstra",
|
39
|
+
"repo": "flake-compat",
|
40
|
+
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
41
|
+
"type": "github"
|
42
|
+
},
|
43
|
+
"original": {
|
44
|
+
"owner": "edolstra",
|
45
|
+
"repo": "flake-compat",
|
46
|
+
"type": "github"
|
47
|
+
}
|
48
|
+
},
|
49
|
+
"flake-utils": {
|
50
|
+
"inputs": {
|
51
|
+
"systems": "systems"
|
52
|
+
},
|
53
|
+
"locked": {
|
54
|
+
"lastModified": 1731533236,
|
55
|
+
"owner": "numtide",
|
56
|
+
"repo": "flake-utils",
|
57
|
+
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
58
|
+
"type": "github"
|
59
|
+
},
|
60
|
+
"original": {
|
61
|
+
"owner": "numtide",
|
62
|
+
"repo": "flake-utils",
|
63
|
+
"type": "github"
|
64
|
+
}
|
65
|
+
},
|
66
|
+
"gitignore": {
|
67
|
+
"inputs": {
|
68
|
+
"nixpkgs": [
|
69
|
+
"pre-commit-hooks",
|
70
|
+
"nixpkgs"
|
71
|
+
]
|
72
|
+
},
|
73
|
+
"locked": {
|
74
|
+
"lastModified": 1709087332,
|
75
|
+
"owner": "hercules-ci",
|
76
|
+
"repo": "gitignore.nix",
|
77
|
+
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
78
|
+
"type": "github"
|
79
|
+
},
|
80
|
+
"original": {
|
81
|
+
"owner": "hercules-ci",
|
82
|
+
"repo": "gitignore.nix",
|
83
|
+
"type": "github"
|
84
|
+
}
|
85
|
+
},
|
86
|
+
"nixpkgs": {
|
87
|
+
"locked": {
|
88
|
+
"lastModified": 1736061677,
|
89
|
+
"owner": "NixOS",
|
90
|
+
"repo": "nixpkgs",
|
91
|
+
"rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36",
|
92
|
+
"type": "github"
|
93
|
+
},
|
94
|
+
"original": {
|
95
|
+
"owner": "NixOS",
|
96
|
+
"ref": "nixos-24.11",
|
97
|
+
"repo": "nixpkgs",
|
98
|
+
"type": "github"
|
99
|
+
}
|
100
|
+
},
|
101
|
+
"nixpkgs-ruby": {
|
102
|
+
"inputs": {
|
103
|
+
"flake-compat": "flake-compat",
|
104
|
+
"flake-utils": "flake-utils",
|
105
|
+
"nixpkgs": [
|
106
|
+
"nixpkgs"
|
107
|
+
]
|
108
|
+
},
|
109
|
+
"locked": {
|
110
|
+
"lastModified": 1735192621,
|
111
|
+
"owner": "bobvanderlinden",
|
112
|
+
"repo": "nixpkgs-ruby",
|
113
|
+
"rev": "602c528c8228f231f912c6d117703a1700464202",
|
114
|
+
"type": "github"
|
115
|
+
},
|
116
|
+
"original": {
|
117
|
+
"owner": "bobvanderlinden",
|
118
|
+
"repo": "nixpkgs-ruby",
|
119
|
+
"type": "github"
|
120
|
+
}
|
121
|
+
},
|
122
|
+
"pre-commit-hooks": {
|
123
|
+
"inputs": {
|
124
|
+
"flake-compat": "flake-compat_2",
|
125
|
+
"gitignore": "gitignore",
|
126
|
+
"nixpkgs": [
|
127
|
+
"nixpkgs"
|
128
|
+
]
|
129
|
+
},
|
130
|
+
"locked": {
|
131
|
+
"lastModified": 1735882644,
|
132
|
+
"owner": "cachix",
|
133
|
+
"repo": "pre-commit-hooks.nix",
|
134
|
+
"rev": "a5a961387e75ae44cc20f0a57ae463da5e959656",
|
135
|
+
"type": "github"
|
136
|
+
},
|
137
|
+
"original": {
|
138
|
+
"owner": "cachix",
|
139
|
+
"repo": "pre-commit-hooks.nix",
|
140
|
+
"type": "github"
|
141
|
+
}
|
142
|
+
},
|
143
|
+
"root": {
|
144
|
+
"inputs": {
|
145
|
+
"devenv": "devenv",
|
146
|
+
"nixpkgs": "nixpkgs",
|
147
|
+
"nixpkgs-ruby": "nixpkgs-ruby",
|
148
|
+
"pre-commit-hooks": "pre-commit-hooks"
|
149
|
+
}
|
150
|
+
},
|
151
|
+
"systems": {
|
152
|
+
"locked": {
|
153
|
+
"lastModified": 1681028828,
|
154
|
+
"owner": "nix-systems",
|
155
|
+
"repo": "default",
|
156
|
+
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
157
|
+
"type": "github"
|
158
|
+
},
|
159
|
+
"original": {
|
160
|
+
"owner": "nix-systems",
|
161
|
+
"repo": "default",
|
162
|
+
"type": "github"
|
163
|
+
}
|
164
|
+
}
|
165
|
+
},
|
166
|
+
"root": "root",
|
167
|
+
"version": 7
|
168
|
+
}
|
data/devenv.nix
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
{ pkgs, ... }:
|
2
|
+
|
3
|
+
{
|
4
|
+
# https://devenv.sh/basics/
|
5
|
+
env.GREET = "devenv";
|
6
|
+
|
7
|
+
# https://devenv.sh/packages/
|
8
|
+
packages = [ pkgs.git pkgs.libyaml ];
|
9
|
+
|
10
|
+
enterShell = ''
|
11
|
+
echo This is the devenv shell for oddb2xml
|
12
|
+
git --version
|
13
|
+
ruby --version
|
14
|
+
'';
|
15
|
+
|
16
|
+
# https://devenv.sh/languages/
|
17
|
+
# languages.nix.enable = true;
|
18
|
+
|
19
|
+
languages.ruby.enable = true;
|
20
|
+
languages.ruby.version = "3.4";
|
21
|
+
# Needed for gem mimemagic
|
22
|
+
env.FREEDESKTOP_MIME_TYPES_PATH = "${pkgs.shared-mime-info}/share/mime/packages/freedesktop.org.xml";
|
23
|
+
|
24
|
+
# https://devenv.sh/pre-commit-hooks/
|
25
|
+
# pre-commit.hooks.shellcheck.enable = true;
|
26
|
+
|
27
|
+
# https://devenv.sh/processes/
|
28
|
+
# processes.ping.exec = "ping example.com";
|
29
|
+
|
30
|
+
# See full reference at https://devenv.sh/reference/options/
|
31
|
+
}
|
data/devenv.yaml
ADDED
data/lib/sbsm/logger.rb
CHANGED
data/lib/sbsm/trans_handler.rb
CHANGED
@@ -150,7 +150,7 @@ module SBSM
|
|
150
150
|
end
|
151
151
|
def uri_parser(grammar_path=@grammar_path, parser_path=@parser_path)
|
152
152
|
if(File.exist?(grammar_path))
|
153
|
-
oldpath = File.expand_path("_"
|
153
|
+
oldpath = File.expand_path("_" + File.basename(grammar_path),
|
154
154
|
File.dirname(grammar_path))
|
155
155
|
src = File.read(grammar_path)
|
156
156
|
unless(File.exist?(oldpath) && File.read(oldpath)==src)
|
data/lib/sbsm/validator.rb
CHANGED
@@ -30,7 +30,7 @@ require 'mail'
|
|
30
30
|
require 'date'
|
31
31
|
require 'uri'
|
32
32
|
require 'stringio'
|
33
|
-
require
|
33
|
+
require "nokogiri"
|
34
34
|
require 'sbsm/logger'
|
35
35
|
|
36
36
|
module SBSM
|
@@ -225,17 +225,16 @@ module SBSM
|
|
225
225
|
end
|
226
226
|
@@xml_ptrn = /<\?xml[^>]+>/
|
227
227
|
def _validate_html(value, valid=self.class.const_get(:ALLOWED_TAGS))
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
valid
|
228
|
+
doc = Nokogiri::HTML.parse(value.gsub(@@xml_ptrn, ''))
|
229
|
+
doc.elements.each do |element|
|
230
|
+
unless( element.is_a?(Nokogiri::XML::Text) ||
|
231
|
+
(element.respond_to?(:name) \
|
232
|
+
&& valid.include?(element.name.downcase)))
|
233
|
+
end
|
234
|
+
end
|
235
|
+
result = ''
|
236
|
+
doc.elements.each { |x| result += x.inner_html}
|
237
|
+
result.sub('<body>','').sub('</body>','')
|
239
238
|
end
|
240
239
|
@@numeric_ptrn = /\d+(\.\d{1,2})?/
|
241
240
|
def validate_numeric(key, value)
|
data/lib/sbsm/version.rb
CHANGED
data/sbsm.gemspec
CHANGED
@@ -16,15 +16,15 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ["lib"]
|
19
|
+
spec.metadata["changelog_uri"] = spec.homepage + "/blob/master/ChangeLog"
|
19
20
|
|
20
21
|
# We fix the version of the spec to newer versions only in the third position
|
21
22
|
# hoping that these version fix only security/severe bugs
|
22
23
|
# Consulted the Gemfile.lock to get
|
23
24
|
spec.add_dependency 'rack'
|
24
|
-
spec.add_dependency 'mail'
|
25
|
-
spec.add_dependency '
|
25
|
+
spec.add_dependency 'mail', '< 2.8.0'
|
26
|
+
spec.add_dependency 'nokogiri'
|
26
27
|
spec.add_dependency 'mimemagic'
|
27
|
-
spec.add_dependency 'chrono_logger'
|
28
28
|
|
29
29
|
spec.add_development_dependency "bundler"
|
30
30
|
spec.add_development_dependency "rake"
|
@@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
|
|
35
35
|
spec.add_development_dependency "simplecov"
|
36
36
|
spec.add_development_dependency "watir"
|
37
37
|
spec.add_development_dependency "watir-webdriver"
|
38
|
-
spec.add_development_dependency "
|
38
|
+
spec.add_development_dependency "debug"
|
39
39
|
spec.add_development_dependency "nokogiri"
|
40
40
|
spec.add_development_dependency "rack-test"
|
41
41
|
end
|
data/test/simple_sbsm.rb
CHANGED
@@ -5,7 +5,7 @@ require 'sbsm/logger'
|
|
5
5
|
require 'sbsm/app'
|
6
6
|
|
7
7
|
root_dir = File.expand_path(File.join(__FILE__, '..', '..'))
|
8
|
-
TEST_LOGGER =
|
8
|
+
TEST_LOGGER = Logger.new(File.join(root_dir, 'test.log'))
|
9
9
|
SBSM.logger=TEST_LOGGER
|
10
10
|
|
11
11
|
TEST_APP_URI = 'druby://localhost:9876'
|
data/test/suite.rb
CHANGED
data/test/test_application.rb
CHANGED
@@ -26,7 +26,7 @@ class AppVariantTest < Minitest::Test
|
|
26
26
|
end
|
27
27
|
def test_post_feedback
|
28
28
|
get '/de/page' do # needed to set cookie
|
29
|
-
last_response.set_cookie(TEST_COOKIE_NAME, :value =>
|
29
|
+
last_response.set_cookie(TEST_COOKIE_NAME, :value => {'anrede' => 'value2'})
|
30
30
|
end
|
31
31
|
clear_cookies
|
32
32
|
set_cookie 'anrede=value2'
|
data/test/test_session.rb
CHANGED
@@ -121,7 +121,7 @@ class StubSessionWithView < SBSM::Session
|
|
121
121
|
def initialize(args)
|
122
122
|
args[:app] ||= StubSessionApp.new
|
123
123
|
args[:validator] ||= StubSessionValidator.new
|
124
|
-
super(args)
|
124
|
+
super(:app => args[:app], :validator => args[:validator])
|
125
125
|
persistent_user_input = {}
|
126
126
|
end
|
127
127
|
end
|
@@ -163,7 +163,7 @@ class TestSession < Minitest::Test
|
|
163
163
|
include Rack::Test::Methods
|
164
164
|
def setup
|
165
165
|
@app = StubSessionApp.new(validator: StubSessionValidator.new)
|
166
|
-
@session = StubSessionWithView.new(app: @app,
|
166
|
+
@session = StubSessionWithView.new(# app: @app,
|
167
167
|
validator: StubSessionValidator.new)
|
168
168
|
@request = StubSessionRequest.new
|
169
169
|
@state = StubSessionState.new(@session, nil)
|
@@ -174,8 +174,8 @@ class TestSession < Minitest::Test
|
|
174
174
|
assert_equal('example.com', @session.server_name)
|
175
175
|
end
|
176
176
|
def test_user_input
|
177
|
-
@request["foo"] = "bar"
|
178
|
-
@request["baz"] = "zuv"
|
177
|
+
@request.params["foo"] = "bar"
|
178
|
+
@request.params["baz"] = "zuv"
|
179
179
|
# next line checks whether we did setup correctly the session
|
180
180
|
assert_equal(@session.validator.class, StubSessionValidator)
|
181
181
|
@session.process_rack(rack_request: @request)
|
@@ -190,18 +190,18 @@ class TestSession < Minitest::Test
|
|
190
190
|
assert_equal(expected, result)
|
191
191
|
end
|
192
192
|
def test_persistent_user_input
|
193
|
-
@request["baz"] = "zuv"
|
193
|
+
@request.params["baz"] = "zuv"
|
194
194
|
@session.process_rack(rack_request: @request)
|
195
195
|
assert_equal("zuv", @session.persistent_user_input(:baz))
|
196
196
|
@session.process_rack(StubSessionRequest.new)
|
197
197
|
assert_equal("zuv", @session.persistent_user_input(:baz))
|
198
|
-
@request["baz"] = "bla"
|
198
|
+
@request.params["baz"] = "bla"
|
199
199
|
@session.process_rack(rack_request: @request)
|
200
200
|
assert_equal("bla", @session.persistent_user_input(:baz))
|
201
201
|
end
|
202
202
|
def test_user_input_hash
|
203
|
-
@request["hash[1]"] = "4"
|
204
|
-
@request["hash[2]"] = "5"
|
203
|
+
@request.params["hash[1]"] = "4"
|
204
|
+
@request.params["hash[2]"] = "5"
|
205
205
|
@request.params["hash[3]"] = "6"
|
206
206
|
@request.params['real_hash'] = {'1' => 'a', '2' => 'b'}
|
207
207
|
@session.process_rack(rack_request: @request)
|
@@ -231,12 +231,12 @@ class TestSession < Minitest::Test
|
|
231
231
|
@session.process_rack(:rack_request =>req1)
|
232
232
|
state1 = @session.state
|
233
233
|
req2 = StubSessionRequest.new
|
234
|
-
|
234
|
+
req2.params["event"] = "foo"
|
235
235
|
@session.process_rack(:rack_request =>req2)
|
236
236
|
state2 = @session.state
|
237
237
|
refute_equal(state1, state2)
|
238
238
|
req3 = StubSessionRequest.new
|
239
|
-
|
239
|
+
req3.params["event"] = :bar
|
240
240
|
@session.process_rack(:rack_request =>req3)
|
241
241
|
state3 = @session.state
|
242
242
|
refute_equal(state1, state3)
|
@@ -248,7 +248,7 @@ class TestSession < Minitest::Test
|
|
248
248
|
}
|
249
249
|
assert_equal(attended, @session.attended_states)
|
250
250
|
req4 = StubSessionRequest.new
|
251
|
-
|
251
|
+
req4.params["event"] = :foobar
|
252
252
|
@session.process_rack(:rack_request =>req4)
|
253
253
|
@session.cap_max_states
|
254
254
|
state4 = @session.state
|
@@ -338,8 +338,8 @@ class TestSession < Minitest::Test
|
|
338
338
|
assert_nil(@session.user_input(:no_input))
|
339
339
|
end
|
340
340
|
def test_user_input
|
341
|
-
@request["foo"] = "bar"
|
342
|
-
@request["baz"] = "zuv"
|
341
|
+
@request.params["foo"] = "bar"
|
342
|
+
@request.params["baz"] = "zuv"
|
343
343
|
@session.process_rack(rack_request: @request)
|
344
344
|
assert_equal("bar", @session.user_input(:foo))
|
345
345
|
assert_equal("zuv", @session.user_input(:baz))
|
@@ -352,9 +352,9 @@ class TestSession < Minitest::Test
|
|
352
352
|
assert_equal(expected, result)
|
353
353
|
end
|
354
354
|
def test_user_input_hash
|
355
|
-
@request["hash[1]"] = "4"
|
356
|
-
@request["hash[2]"] = "5"
|
357
|
-
@request["hash[3]"] = "6"
|
355
|
+
@request.params["hash[1]"] = "4"
|
356
|
+
@request.params["hash[2]"] = "5"
|
357
|
+
@request.params["hash[3]"] = "6"
|
358
358
|
@session.process_rack(rack_request: @request)
|
359
359
|
hash = @session.user_input(:hash)
|
360
360
|
assert_equal(Hash, hash.class)
|
@@ -379,12 +379,12 @@ class TestSession < Minitest::Test
|
|
379
379
|
assert_equal([], @session.valid_values('oof'))
|
380
380
|
end
|
381
381
|
def test_persistent_user_input
|
382
|
-
@request["baz"] = "zuv"
|
382
|
+
@request.params["baz"] = "zuv"
|
383
383
|
@session.process_rack(rack_request: @request)
|
384
384
|
assert_equal("zuv", @session.persistent_user_input(:baz))
|
385
385
|
@session.process_rack(rack_request: StubSessionRequest.new)
|
386
386
|
assert_equal("zuv", @session.persistent_user_input(:baz))
|
387
|
-
@request["baz"] = "bla"
|
387
|
+
@request.params["baz"] = "bla"
|
388
388
|
@session.process_rack(rack_request: @request)
|
389
389
|
assert_equal("bla", @session.persistent_user_input(:baz))
|
390
390
|
end
|
data/test/test_validator.rb
CHANGED
@@ -122,7 +122,7 @@ class TestValidator < Minitest::Test
|
|
122
122
|
end
|
123
123
|
def test_validate_html
|
124
124
|
src = "<SPAN style=\"PADDING-BOTTOM: 4px; LINE-HEIGHT: 1.4em; WHITE-SPACE: normal\"><p class=\"MsoNormal\" style=\"MARGIN: 0cm -0.3pt 0pt 0cm; TEXT-ALIGN: justify\"><span lang=\"DE\" style=\"FONT-SIZE: 11pt; FONT-FAMILY: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'\">Wirkstoff: Ibuprofenum. </span></p><p class=\"MsoNormal\" style=\"MARGIN: 0cm -0.3pt 0pt 0cm; TEXT-ALIGN: justify\"><span lang=\"DE\" style=\"FONT-SIZE: 11pt; FONT-FAMILY: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'\">Hilfsstoffe: Conserv.: Sorbinsäure (E 200)</span></p></span>"
|
125
|
-
expected = "<span style=\"PADDING-BOTTOM: 4px; LINE-HEIGHT: 1.4em; WHITE-SPACE: normal\"><p class=\"MsoNormal\" style=\"MARGIN: 0cm -0.3pt 0pt 0cm; TEXT-ALIGN: justify\"><span lang=\"DE\" style=\"FONT-SIZE: 11pt; FONT-FAMILY: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'\">Wirkstoff: Ibuprofenum. </span></p
|
125
|
+
expected = "<span style=\"PADDING-BOTTOM: 4px; LINE-HEIGHT: 1.4em; WHITE-SPACE: normal\"><p class=\"MsoNormal\" style=\"MARGIN: 0cm -0.3pt 0pt 0cm; TEXT-ALIGN: justify\"><span lang=\"DE\" style=\"FONT-SIZE: 11pt; FONT-FAMILY: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'\">Wirkstoff: Ibuprofenum. </span></p>\n<p class=\"MsoNormal\" style=\"MARGIN: 0cm -0.3pt 0pt 0cm; TEXT-ALIGN: justify\"><span lang=\"DE\" style=\"FONT-SIZE: 11pt; FONT-FAMILY: Arial; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'\">Hilfsstoffe: Conserv.: Sorbinsäure (E 200)</span></p></span>"
|
126
126
|
assert_equal expected, @val.validate(:html, src)
|
127
127
|
end
|
128
128
|
def test_validate_html__pre
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sbsm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masaomi Hatakeyama, Zeno R.R. Davatz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -28,18 +28,18 @@ dependencies:
|
|
28
28
|
name: mail
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "<"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.8.0
|
34
34
|
type: :runtime
|
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:
|
40
|
+
version: 2.8.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: nokogiri
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: chrono_logger
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: bundler
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -207,7 +193,7 @@ dependencies:
|
|
207
193
|
- !ruby/object:Gem::Version
|
208
194
|
version: '0'
|
209
195
|
- !ruby/object:Gem::Dependency
|
210
|
-
name:
|
196
|
+
name: debug
|
211
197
|
requirement: !ruby/object:Gem::Requirement
|
212
198
|
requirements:
|
213
199
|
- - ">="
|
@@ -254,8 +240,10 @@ executables: []
|
|
254
240
|
extensions: []
|
255
241
|
extra_rdoc_files: []
|
256
242
|
files:
|
243
|
+
- ".envrc"
|
257
244
|
- ".github/workflows/ruby.yml"
|
258
245
|
- ".gitignore"
|
246
|
+
- ".ruby-version"
|
259
247
|
- Gemfile
|
260
248
|
- History.txt
|
261
249
|
- LICENCE.txt
|
@@ -268,6 +256,9 @@ files:
|
|
268
256
|
- data/flavored_uri.grammar
|
269
257
|
- data/uri.grammar
|
270
258
|
- data/zone_uri.grammar
|
259
|
+
- devenv.lock
|
260
|
+
- devenv.nix
|
261
|
+
- devenv.yaml
|
271
262
|
- install.rb
|
272
263
|
- lib/sbsm.rb
|
273
264
|
- lib/sbsm/admin_server.rb
|
@@ -315,7 +306,8 @@ files:
|
|
315
306
|
homepage: https://github.com/zdavatz/sbsm
|
316
307
|
licenses:
|
317
308
|
- GPL-v2
|
318
|
-
metadata:
|
309
|
+
metadata:
|
310
|
+
changelog_uri: https://github.com/zdavatz/sbsm/blob/master/ChangeLog
|
319
311
|
post_install_message:
|
320
312
|
rdoc_options: []
|
321
313
|
require_paths:
|
@@ -331,7 +323,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
331
323
|
- !ruby/object:Gem::Version
|
332
324
|
version: '0'
|
333
325
|
requirements: []
|
334
|
-
rubygems_version: 3.
|
326
|
+
rubygems_version: 3.5.3
|
335
327
|
signing_key:
|
336
328
|
specification_version: 4
|
337
329
|
summary: Application framework for state based session management from ywesee
|