summaryrefslogtreecommitdiff
path: root/spec/rubyspec/library/stringscanner/shared/extract_range.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rubyspec/library/stringscanner/shared/extract_range.rb')
-rw-r--r--spec/rubyspec/library/stringscanner/shared/extract_range.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/rubyspec/library/stringscanner/shared/extract_range.rb b/spec/rubyspec/library/stringscanner/shared/extract_range.rb
new file mode 100644
index 0000000000..7e98540b1a
--- /dev/null
+++ b/spec/rubyspec/library/stringscanner/shared/extract_range.rb
@@ -0,0 +1,22 @@
+describe :extract_range, shared: true do
+ it "returns an instance of String when passed a String subclass" do
+ cls = Class.new(String)
+ sub = cls.new("abc")
+
+ s = StringScanner.new(sub)
+ ch = s.send(@method)
+ ch.should_not be_kind_of(cls)
+ ch.should be_an_instance_of(String)
+ end
+
+ it "taints the returned String if the input was tainted" do
+ str = 'abc'
+ str.taint
+
+ s = StringScanner.new(str)
+
+ s.send(@method).tainted?.should be_true
+ s.send(@method).tainted?.should be_true
+ s.send(@method).tainted?.should be_true
+ end
+end