summaryrefslogtreecommitdiff
path: root/etc/simple_regexp_scanner.rb
diff options
context:
space:
mode:
authormurphy <murphy@rubychan.de>2009-02-05 23:45:16 +0000
committermurphy <murphy@rubychan.de>2009-02-05 23:45:16 +0000
commit1ee89811c7bf8fc124e318ca01a605d3dfff1589 (patch)
tree28bab3366e218d5164114f0903e4f0dabdf1f879 /etc/simple_regexp_scanner.rb
parent7c653b9bafc2159431c86b628d5279913e7ec74d (diff)
downloadcoderay-1ee89811c7bf8fc124e318ca01a605d3dfff1589.tar.gz
Ruby scanner: Fixed rarely used \c, \C-, and \M- escape sequences.
* JavaScript scanner: elaborate a comment * SimpleRegexpScanner: Just some testing with the Ruby stack. * coderay-lib.tmproj: I should just remove it from the repo...
Diffstat (limited to 'etc/simple_regexp_scanner.rb')
-rw-r--r--etc/simple_regexp_scanner.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/etc/simple_regexp_scanner.rb b/etc/simple_regexp_scanner.rb
index 6e1d098..e89460e 100644
--- a/etc/simple_regexp_scanner.rb
+++ b/etc/simple_regexp_scanner.rb
@@ -91,6 +91,17 @@ class SimpleRegexpScannerTest < Test::Unit::TestCase
assert_scans_list '(A(B(C|D))?)?', ['ABC', 'ABD', 'A', '']
end
+ def test_deep_recusion
+ n = 1_000
+ assert_nothing_raised do
+ assert_scans_list '(' * n + ')' * n, ['']
+ end
+ n = 10_000
+ assert_raise SystemStackError do
+ assert_scans_list '(' * n + ')' * n, ['']
+ end
+ end
+
JAVA_BUILTIN_TYPES = <<-TYPES.delete(" \n")
(R(GBImageFilter|MI(S(ocketFactory|e(curity(Manager|Exception)|rver(SocketFactor
y|Impl(_Stub)?)?))|C(onnect(ion(Impl(_Stub)?)?|or(Server)?)|l(ientSocketFactory|