summaryrefslogtreecommitdiff
path: root/spec/ruby/library/stringscanner/beginning_of_line_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/stringscanner/beginning_of_line_spec.rb')
-rw-r--r--spec/ruby/library/stringscanner/beginning_of_line_spec.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/ruby/library/stringscanner/beginning_of_line_spec.rb b/spec/ruby/library/stringscanner/beginning_of_line_spec.rb
new file mode 100644
index 0000000000..ae97f52fe0
--- /dev/null
+++ b/spec/ruby/library/stringscanner/beginning_of_line_spec.rb
@@ -0,0 +1,28 @@
+require_relative '../../spec_helper'
+require 'strscan'
+
+describe "StringScanner#beginning_of_line?" do
+ it "returns true if the scan pointer is at the beginning of the line, false otherwise" do
+ s = StringScanner.new("This is a test")
+ s.beginning_of_line?.should == true
+ s.scan(/This/)
+ s.beginning_of_line?.should == false
+ s.terminate
+ s.beginning_of_line?.should == false
+
+ s = StringScanner.new("hello\nworld")
+ s.beginning_of_line?.should == true
+ s.scan(/\w+/)
+ s.beginning_of_line?.should == false
+ s.scan(/\n/)
+ s.beginning_of_line?.should == true
+ s.unscan
+ s.beginning_of_line?.should == false
+ end
+
+ it "returns true if the scan pointer is at the end of the line of an empty string." do
+ s = StringScanner.new('')
+ s.terminate
+ s.beginning_of_line?.should == true
+ end
+end