Sha256: 8491f07a60e0e3c418233a418e8f127ad7e8f2f090a73ef7661dbb6bb0404443

Contents?: true

Size: 956 Bytes

Versions: 52

Compression:

Stored size: 956 Bytes

Contents

require File.expand_path('../../../spec_helper', __FILE__)
require File.expand_path('../shared/extract_range', __FILE__)
require 'strscan'

describe "StringScanner#getch" do
  before :each do
    @kcode = $KCODE
  end

  after :each do
    $KCODE = @kcode
  end

  it "scans one character and returns it" do
    s = StringScanner.new('abc')
    s.getch.should == "a"
    s.getch.should == "b"
    s.getch.should == "c"
  end
=begin
  it "is multi-byte character sensitive" do
    $KCODE = 'EUC'

    # Japanese hiragana "A" in EUC-JP
    src = encode("\244\242", "euc-jp")

    s = StringScanner.new(src)
    s.getch.should == src
  end
=end
  it "returns nil at the end of the string" do
    # empty string case
    s = StringScanner.new('')
    s.getch.should == nil
    s.getch.should == nil

    # non-empty string case
    s = StringScanner.new('a')
    s.getch # skip one
    s.getch.should == nil
  end

  it_behaves_like :extract_range, :getch
end

Version data entries

52 entries across 52 versions & 2 rubygems

Version Path
rhodes-7.6.0 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-7.5.1 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-7.4.1 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-7.1.17 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-6.2.0 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-6.0.11 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-5.5.18 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-5.5.17 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-5.5.15 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-5.5.0.22 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-5.5.2 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-5.5.0.7 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-5.5.0.3 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-5.5.0 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
tauplatform-1.0.3 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
tauplatform-1.0.2 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
tauplatform-1.0.1 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-3.5.1.12 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-3.3.5 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb
rhodes-3.4.2 spec/framework_spec/app/spec/library/stringscanner/getch_spec.rb