sbsm 1.6.1 → 1.6.3
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.
- 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
|