summaryrefslogtreecommitdiff
path: root/spec/ruby/core/string/unpack/comment_spec.rb
blob: e18a53df3c468d5e66b5906bf1bc488f5ce89d9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# -*- encoding: binary -*-
require_relative '../../../spec_helper'
require_relative '../fixtures/classes'

describe "String#unpack" do
  it "ignores directives text from '#' to the first newline" do
    "\x01\x02\x03".unpack("c#this is a comment\nc").should == [1, 2]
  end

  it "ignores directives text from '#' to the end if no newline is present" do
    "\x01\x02\x03".unpack("c#this is a comment c").should == [1]
  end

  it "ignores comments at the start of the directives string" do
    "\x01\x02\x03".unpack("#this is a comment\nc").should == [1]
  end

  it "ignores the entire directive string if it is a comment" do
    "\x01\x02\x03".unpack("#this is a comment c").should == []
  end

  it "ignores multiple comments" do
    "\x01\x02\x03".unpack("c#comment\nc#comment\nc#c").should == [1, 2, 3]
  end
end