Hello community,
here is the log from the commit of package rubygem-regexp_parser for
openSUSE:Factory checked in at 2020-11-11 20:47:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-regexp_parser (Old)
and /work/SRC/openSUSE:Factory/.rubygem-regexp_parser.new.26437 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-regexp_parser"
Wed Nov 11 20:47:11 2020 rev:3 rq:847723 version:1.8.2
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-regexp_parser/rubygem-regexp_parser.changes
2020-10-05 19:33:21.133213501 +0200
+++
/work/SRC/openSUSE:Factory/.rubygem-regexp_parser.new.26437/rubygem-regexp_parser.changes
2020-11-11 20:47:17.283697474 +0100
@@ -1,0 +2,11 @@
+Tue Nov 10 21:43:06 UTC 2020 - Manuel Schnitzer <[email protected]>
+
+- updated to version 1.8.2
+
+ ### Fixed
+
+ - fix `FrozenError` in `Expression::Base#repetitions` on Ruby 3.0
+ * thanks to [Thomas Walpole](https://github.com/twalpole)
+ - removed "unknown future version" warning on Ruby 3.0
+
+-------------------------------------------------------------------
Old:
----
regexp_parser-1.8.0.gem
New:
----
regexp_parser-1.8.2.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-regexp_parser.spec ++++++
--- /var/tmp/diff_new_pack.twhMTo/_old 2020-11-11 20:47:17.963698113 +0100
+++ /var/tmp/diff_new_pack.twhMTo/_new 2020-11-11 20:47:17.967698117 +0100
@@ -24,12 +24,12 @@
#
Name: rubygem-regexp_parser
-Version: 1.8.0
+Version: 1.8.2
Release: 0
%define mod_name regexp_parser
%define mod_full_name %{mod_name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: %{ruby >= 1.9.1}
+BuildRequires: %{ruby >= 2.0.0}
BuildRequires: %{rubygem gem2rpm}
BuildRequires: %{rubygem rdoc > 3.10}
BuildRequires: ruby-macros >= 5
++++++ regexp_parser-1.8.0.gem -> regexp_parser-1.8.2.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2020-09-20 12:20:52.000000000 +0200
+++ new/CHANGELOG.md 2020-10-11 23:38:14.000000000 +0200
@@ -1,5 +1,23 @@
## [Unreleased]
+### [1.8.2] - 2020-10-11 - [Janosch Müller](mailto:[email protected])
+
+### Fixed
+
+- fix `FrozenError` in `Expression::Base#repetitions` on Ruby 3.0
+ * thanks to [Thomas Walpole](https://github.com/twalpole)
+- removed "unknown future version" warning on Ruby 3.0
+
+### [1.8.1] - 2020-09-28 - [Janosch Müller](mailto:[email protected])
+
+### Fixed
+
+- fixed scanning of comment-like text in normal mode
+ * this was an old bug, but had become more prevalent in v1.8.0
+ * thanks to [Tietew](https://github.com/Tietew) for the report
+- specified correct minimum Ruby version in gemspec
+ * it said 1.9 but really required 2.0 as of v1.8.0
+
### [1.8.0] - 2020-09-20 - [Janosch Müller](mailto:[email protected])
### Changed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md 2020-09-20 12:20:52.000000000 +0200
+++ new/README.md 2020-10-11 23:38:14.000000000 +0200
@@ -8,8 +8,8 @@
* A scanner/tokenizer based on
[Ragel](http://www.colm.net/open-source/ragel/)
* A lexer that produces a "stream" of token objects.
* A parser that produces a "tree" of Expression objects (OO API)
-* Runs on Ruby 2.x and JRuby runtimes
-* Recognizes Ruby 1.8, 1.9, and 2.x regular expressions [See Supported
Syntax](#supported-syntax)
+* Runs on Ruby 2.x, 3.x and JRuby runtimes
+* Recognizes Ruby 1.8, 1.9, 2.x and 3.x regular expressions [See Supported
Syntax](#supported-syntax)
_For examples of regexp_parser in use, see [Example
Projects](#example-projects)._
@@ -18,7 +18,7 @@
---
## Requirements
-* Ruby >= 1.9
+* Ruby >= 2.0
* Ragel >= 6.0, but only if you want to build the gem or work on the scanner.
@@ -317,7 +317,7 @@
## Supported Syntax
The three modules support all the regular expression syntax features of Ruby
1.8,
-1.9, and 2.x:
+1.9, 2.x and 3.x:
_Note that not all of these are available in all versions of Ruby_
@@ -440,13 +440,17 @@
## Example Projects
Projects using regexp_parser.
+- [capybara](https://github.com/teamcapybara/capybara) is an integration
testing tool that uses regexp_parser to convert Regexps to css/xpath selectors.
+
+- [js_regex](https://github.com/janosch-x/js_regex) converts Ruby regular
expressions to JavaScript-compatible regular expressions.
+
- [meta_re](https://github.com/ammar/meta_re) is a regular expression
preprocessor with alias support.
- [mutant](https://github.com/mbj/mutant) (before v0.9.0) manipulates your
regular expressions (amongst others) to see if your tests cover their behavior.
-- [twitter-cldr-rb](https://github.com/twitter/twitter-cldr-rb) uses
regexp_parser to generate examples of postal codes.
+- [rubocop](https://github.com/rubocop-hq/rubocop) is a linter for Ruby that
uses regexp_parser to lint Regexps.
-- [js_regex](https://github.com/janosch-x/js_regex) converts Ruby regular
expressions to JavaScript-compatible regular expressions.
+- [twitter-cldr-rb](https://github.com/twitter/twitter-cldr-rb) is a
localization helper that uses regexp_parser to generate examples of postal
codes.
## References
@@ -475,4 +479,4 @@
---
##### Copyright
-_Copyright (c) 2010-2019 Ammar Ali. See LICENSE file for details._
+_Copyright (c) 2010-2020 Ammar Ali. See LICENSE file for details._
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/regexp_parser/expression.rb
new/lib/regexp_parser/expression.rb
--- old/lib/regexp_parser/expression.rb 2020-09-20 12:20:52.000000000 +0200
+++ new/lib/regexp_parser/expression.rb 2020-10-11 23:38:14.000000000 +0200
@@ -80,8 +80,12 @@
return 1..1 unless quantified?
min = quantifier.min
max = quantifier.max < 0 ? Float::INFINITY : quantifier.max
- # fix Range#minmax - https://bugs.ruby-lang.org/issues/15807
- (min..max).tap { |r| r.define_singleton_method(:minmax) { [min, max] } }
+ range = min..max
+ # fix Range#minmax on old Rubies -
https://bugs.ruby-lang.org/issues/15807
+ if RUBY_VERSION.to_f < 2.7
+ range.define_singleton_method(:minmax) { [min, max] }
+ end
+ range
end
def greedy?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/regexp_parser/scanner/scanner.rl
new/lib/regexp_parser/scanner/scanner.rl
--- old/lib/regexp_parser/scanner/scanner.rl 2020-09-20 12:20:52.000000000
+0200
+++ new/lib/regexp_parser/scanner/scanner.rl 2020-10-11 23:38:14.000000000
+0200
@@ -649,7 +649,9 @@
if free_spacing
emit(:free_space, :comment, *text(data, ts, te))
else
- append_literal(data, ts, te)
+ # consume only the pound sign (#) and backtrack to do regular scanning
+ append_literal(data, ts, ts + 1)
+ fexec ts + 1;
end
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/regexp_parser/scanner.rb
new/lib/regexp_parser/scanner.rb
--- old/lib/regexp_parser/scanner.rb 2020-09-20 12:20:52.000000000 +0200
+++ new/lib/regexp_parser/scanner.rb 2020-10-11 23:38:14.000000000 +0200
@@ -2,7 +2,7 @@
# line 1
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
-# line 676
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
+# line 678
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
# THIS IS A GENERATED FILE, DO NOT EDIT DIRECTLY
@@ -1131,7 +1131,7 @@
self.re_scanner_en_main = 110;
-# line 763
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
+# line 765
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
# line 1136
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
begin
@@ -1144,7 +1144,7 @@
act = 0
end
-# line 764
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
+# line 766
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
# line 1149
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
begin
@@ -2035,7 +2035,10 @@
if free_spacing
emit(:free_space, :comment, *text(data, ts, te))
else
- append_literal(data, ts, te)
+ # consume only the pound sign (#) and backtrack to do regular scanning
+ append_literal(data, ts, ts + 1)
+ begin p = (( ts + 1))-1; end
+
end
end
end
@@ -2135,12 +2138,15 @@
if free_spacing
emit(:free_space, :comment, *text(data, ts, te))
else
- append_literal(data, ts, te)
+ # consume only the pound sign (#) and backtrack to do regular scanning
+ append_literal(data, ts, ts + 1)
+ begin p = (( ts + 1))-1; end
+
end
end
end
when 43 then
-# line 656
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
+# line 658
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
begin
te = p
p = p - 1; begin
@@ -2152,7 +2158,7 @@
end
end
when 42 then
-# line 671
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
+# line 673
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
begin
te = p
p = p - 1; begin
@@ -2559,7 +2565,7 @@
begin
te = p+1
end
-# line 671
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
+# line 673
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
begin
act = 56; end
when 47 then
@@ -2573,7 +2579,7 @@
# line 149
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
begin
self.group_depth = group_depth + 1 end
-# line 2576
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
+# line 2582
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
end
end
end
@@ -2591,7 +2597,7 @@
begin
act = 0
end
-# line 2594
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
+# line 2600
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
end
if cs == 0
@@ -2625,7 +2631,7 @@
text = ts ? copy(data, ts-1..-1) : data.pack('c*')
raise PrematureEndError.new( text )
end
-# line 2628
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
+# line 2634
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
end
end
@@ -2636,7 +2642,7 @@
end
end
-# line 765
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
+# line 767
"/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
# to avoid "warning: assigned but unused variable - testEof"
testEof = testEof
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/regexp_parser/syntax/version_lookup.rb
new/lib/regexp_parser/syntax/version_lookup.rb
--- old/lib/regexp_parser/syntax/version_lookup.rb 2020-09-20
12:20:52.000000000 +0200
+++ new/lib/regexp_parser/syntax/version_lookup.rb 2020-10-11
23:38:14.000000000 +0200
@@ -74,9 +74,9 @@
end
def warn_if_future_version(const_name)
- return if comparable_version(const_name) < comparable_version('3.0.0')
+ return if comparable_version(const_name) < comparable_version('4.0.0')
- warn('This library has only been tested up to Ruby 2.x, '\
+ warn('This library has only been tested up to Ruby 3.x, '\
"but you are running with #{const_get(const_name).inspect}")
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/regexp_parser/version.rb
new/lib/regexp_parser/version.rb
--- old/lib/regexp_parser/version.rb 2020-09-20 12:20:52.000000000 +0200
+++ new/lib/regexp_parser/version.rb 2020-10-11 23:38:14.000000000 +0200
@@ -1,5 +1,5 @@
class Regexp
class Parser
- VERSION = '1.8.0'
+ VERSION = '1.8.2'
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2020-09-20 12:20:52.000000000 +0200
+++ new/metadata 2020-10-11 23:38:14.000000000 +0200
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: regexp_parser
version: !ruby/object:Gem::Version
- version: 1.8.0
+ version: 1.8.2
platform: ruby
authors:
- Ammar Ali
autorequire:
bindir: bin
cert_chain: []
-date: 2020-09-20 00:00:00.000000000 Z
+date: 2020-10-11 00:00:00.000000000 Z
dependencies: []
description: A library for tokenizing, lexing, and parsing Ruby regular
expressions.
email:
@@ -178,86 +178,86 @@
requirements:
- - ">="
- !ruby/object:Gem::Version
- version: 1.9.1
+ version: 2.0.0
required_rubygems_version: !ruby/object:Gem::Requirement
requirements:
- - ">="
- !ruby/object:Gem::Version
version: '0'
requirements: []
-rubygems_version: 3.1.2
+rubygems_version: 3.2.0.rc.1
signing_key:
specification_version: 4
summary: Scanner, lexer, parser for ruby's regular expressions
test_files:
-- spec/token/token_spec.rb
-- spec/spec_helper.rb
-- spec/lexer/escapes_spec.rb
-- spec/lexer/keep_spec.rb
+- spec/expression/base_spec.rb
+- spec/expression/clone_spec.rb
+- spec/expression/conditional_spec.rb
+- spec/expression/free_space_spec.rb
+- spec/expression/methods/match_length_spec.rb
+- spec/expression/methods/match_spec.rb
+- spec/expression/methods/strfregexp_spec.rb
+- spec/expression/methods/tests_spec.rb
+- spec/expression/methods/traverse_spec.rb
+- spec/expression/options_spec.rb
+- spec/expression/root_spec.rb
+- spec/expression/sequence_spec.rb
+- spec/expression/subexpression_spec.rb
+- spec/expression/to_h_spec.rb
+- spec/expression/to_s_spec.rb
- spec/lexer/all_spec.rb
- spec/lexer/conditionals_spec.rb
-- spec/lexer/nesting_spec.rb
- spec/lexer/delimiters_spec.rb
-- spec/lexer/refcalls_spec.rb
+- spec/lexer/escapes_spec.rb
+- spec/lexer/keep_spec.rb
- spec/lexer/literals_spec.rb
+- spec/lexer/nesting_spec.rb
+- spec/lexer/refcalls_spec.rb
+- spec/parser/all_spec.rb
+- spec/parser/alternation_spec.rb
+- spec/parser/anchors_spec.rb
+- spec/parser/conditionals_spec.rb
+- spec/parser/errors_spec.rb
- spec/parser/escapes_spec.rb
-- spec/parser/properties_spec.rb
-- spec/parser/sets_spec.rb
- spec/parser/free_space_spec.rb
+- spec/parser/groups_spec.rb
- spec/parser/keep_spec.rb
- spec/parser/options_spec.rb
-- spec/parser/all_spec.rb
-- spec/parser/conditionals_spec.rb
-- spec/parser/types_spec.rb
-- spec/parser/anchors_spec.rb
-- spec/parser/alternation_spec.rb
- spec/parser/posix_classes_spec.rb
-- spec/parser/set/ranges_spec.rb
-- spec/parser/set/intersections_spec.rb
-- spec/parser/errors_spec.rb
-- spec/parser/refcalls_spec.rb
-- spec/parser/groups_spec.rb
+- spec/parser/properties_spec.rb
- spec/parser/quantifiers_spec.rb
-- spec/support/warning_extractor.rb
-- spec/support/shared_examples.rb
-- spec/support/runner.rb
-- spec/expression/subexpression_spec.rb
-- spec/expression/methods/match_spec.rb
-- spec/expression/methods/match_length_spec.rb
-- spec/expression/methods/traverse_spec.rb
-- spec/expression/methods/strfregexp_spec.rb
-- spec/expression/methods/tests_spec.rb
-- spec/expression/free_space_spec.rb
-- spec/expression/options_spec.rb
-- spec/expression/to_s_spec.rb
-- spec/expression/root_spec.rb
-- spec/expression/sequence_spec.rb
-- spec/expression/clone_spec.rb
-- spec/expression/to_h_spec.rb
-- spec/expression/conditional_spec.rb
-- spec/expression/base_spec.rb
-- spec/syntax/syntax_spec.rb
-- spec/syntax/syntax_token_map_spec.rb
-- spec/syntax/versions/1.9.3_spec.rb
-- spec/syntax/versions/2.2.0_spec.rb
-- spec/syntax/versions/1.9.1_spec.rb
-- spec/syntax/versions/2.0.0_spec.rb
-- spec/syntax/versions/1.8.6_spec.rb
-- spec/syntax/versions/aliases_spec.rb
-- spec/scanner/escapes_spec.rb
-- spec/scanner/properties_spec.rb
-- spec/scanner/sets_spec.rb
-- spec/scanner/free_space_spec.rb
-- spec/scanner/keep_spec.rb
-- spec/scanner/options_spec.rb
+- spec/parser/refcalls_spec.rb
+- spec/parser/set/intersections_spec.rb
+- spec/parser/set/ranges_spec.rb
+- spec/parser/sets_spec.rb
+- spec/parser/types_spec.rb
- spec/scanner/all_spec.rb
-- spec/scanner/conditionals_spec.rb
-- spec/scanner/types_spec.rb
- spec/scanner/anchors_spec.rb
-- spec/scanner/meta_spec.rb
-- spec/scanner/errors_spec.rb
+- spec/scanner/conditionals_spec.rb
- spec/scanner/delimiters_spec.rb
-- spec/scanner/refcalls_spec.rb
+- spec/scanner/errors_spec.rb
+- spec/scanner/escapes_spec.rb
+- spec/scanner/free_space_spec.rb
- spec/scanner/groups_spec.rb
+- spec/scanner/keep_spec.rb
- spec/scanner/literals_spec.rb
+- spec/scanner/meta_spec.rb
+- spec/scanner/options_spec.rb
+- spec/scanner/properties_spec.rb
- spec/scanner/quantifiers_spec.rb
+- spec/scanner/refcalls_spec.rb
+- spec/scanner/sets_spec.rb
+- spec/scanner/types_spec.rb
+- spec/spec_helper.rb
+- spec/support/runner.rb
+- spec/support/shared_examples.rb
+- spec/support/warning_extractor.rb
+- spec/syntax/syntax_spec.rb
+- spec/syntax/syntax_token_map_spec.rb
+- spec/syntax/versions/1.8.6_spec.rb
+- spec/syntax/versions/1.9.1_spec.rb
+- spec/syntax/versions/1.9.3_spec.rb
+- spec/syntax/versions/2.0.0_spec.rb
+- spec/syntax/versions/2.2.0_spec.rb
+- spec/syntax/versions/aliases_spec.rb
+- spec/token/token_spec.rb
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/regexp_parser.gemspec new/regexp_parser.gemspec
--- old/regexp_parser.gemspec 2020-09-20 12:20:52.000000000 +0200
+++ new/regexp_parser.gemspec 2020-10-11 23:38:14.000000000 +0200
@@ -32,5 +32,5 @@
gem.platform = Gem::Platform::RUBY
- gem.required_ruby_version = '>= 1.9.1'
+ gem.required_ruby_version = '>= 2.0.0'
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/parser/free_space_spec.rb
new/spec/parser/free_space_spec.rb
--- old/spec/parser/free_space_spec.rb 2020-09-20 12:20:52.000000000 +0200
+++ new/spec/parser/free_space_spec.rb 2020-10-11 23:38:14.000000000 +0200
@@ -24,34 +24,13 @@
expect(root.first.text).to eq 'a b c d'
end
- specify('parse single-line free space comments without spaces') do
- regexp = /a#b/x
-
- root = RP.parse(regexp)
- expect(root.length).to eq 2
-
- expect(root[0]).to be_instance_of(Literal)
- expect(root[1]).to be_instance_of(Comment)
- end
-
- specify('parse single-line free space comments with spaces') do
- regexp = /a # b/x
-
- root = RP.parse(regexp)
- expect(root.length).to eq 3
-
- expect(root[0]).to be_instance_of(Literal)
- expect(root[1]).to be_instance_of(WhiteSpace)
- expect(root[2]).to be_instance_of(Comment)
- end
-
specify('parse free space comments') do
regexp = /
a ? # One letter
b {2,5} # Another one
[c-g] + # A set
(h|i|j) | # A group
- klm#nospace before or after comment hash
+ klm *
nop +
/x
@@ -72,11 +51,11 @@
alt_2 = alt.alternatives.last
expect(alt_2).to be_instance_of(Alternative)
- expect(alt_2.length).to eq 8
+ expect(alt_2.length).to eq 7
- [0, 2, 5, 7].each { |i| expect(alt_2[i].class).to eq WhiteSpace }
+ [0, 2, 4, 6].each { |i| expect(alt_2[i].class).to eq WhiteSpace }
- [1, 4].each { |i| expect(alt_2[i]).to be_instance_of(Comment) }
+ expect(alt_2[1]).to be_instance_of(Comment)
end
specify('parse free space nested comments') do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/scanner/free_space_spec.rb
new/spec/scanner/free_space_spec.rb
--- old/spec/scanner/free_space_spec.rb 2020-09-20 12:20:52.000000000 +0200
+++ new/spec/scanner/free_space_spec.rb 2020-10-11 23:38:14.000000000 +0200
@@ -39,6 +39,17 @@
11 => [:free_space, :comment, "# B ? comment\n", 37, 51],
17 => [:free_space, :comment, "# C {2,3} comment\n", 66, 84],
29 => [:free_space, :comment, "# D|E comment\n", 100, 114]
+
+ # single line / no trailing newline (c.f. issue #66)
+ include_examples 'scan', /a # b/x,
+ 0 => [:literal, :literal, 'a', 0, 1],
+ 1 => [:free_space, :whitespace, ' ', 1, 2],
+ 2 => [:free_space, :comment, "# b", 2, 5]
+
+ # without spaces (c.f. issue #66)
+ include_examples 'scan', /a#b/x,
+ 0 => [:literal, :literal, 'a', 0, 1],
+ 1 => [:free_space, :comment, "#b", 1, 3]
end
describe('scan free space inlined') do
@@ -130,4 +141,25 @@
26 => [:literal, :literal, 'i j', 35, 38],
27 => [:group, :close, ')', 38, 39]
end
+
+ describe('scanning `#` in regular (non-x mode)') do # c.f. issue 70
+ include_examples 'scan', /a#bcd/,
+ 0 => [:literal, :literal, 'a#bcd', 0, 5]
+ include_examples 'scan', /a # bcd/,
+ 0 => [:literal, :literal, 'a # bcd', 0, 7]
+
+ include_examples 'scan', /a#\d/,
+ 0 => [:literal, :literal, 'a#', 0, 2],
+ 1 => [:type, :digit, '\d', 2, 4]
+ include_examples 'scan', /a # \d/,
+ 0 => [:literal, :literal, 'a # ', 0, 4],
+ 1 => [:type, :digit, '\d', 4, 6]
+
+ include_examples 'scan', /a#()/,
+ 0 => [:literal, :literal, 'a#', 0, 2],
+ 1 => [:group, :capture, '(', 2, 3]
+ include_examples 'scan', /a # ()/,
+ 0 => [:literal, :literal, 'a # ', 0, 4],
+ 1 => [:group, :capture, '(', 4, 5]
+ end
end
_______________________________________________
openSUSE Commits mailing list -- [email protected]
To unsubscribe, email [email protected]
List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette
List Archives:
https://lists.opensuse.org/archives/list/[email protected]