Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: a59ff81acd
Fetching contributors…

Cannot retrieve contributors at this time

61 lines (51 sloc) 1.413 kb
require File.dirname(__FILE__) + '/../spec_helper'
ruby_version_is "1.9" do
describe "Magic comment" do
it "is optional" do
lambda { eval("__ENCODING__") }.should_not raise_error(SyntaxError)
end
it "determines __ENCODING__" do
eval(<<EOS.force_encoding("US-ASCII")).should == Encoding::ASCII_8BIT
# coding: ASCII-8BIT
__ENCODING__
EOS
end
it "is case-insensitive" do
eval(<<EOS.force_encoding("US-ASCII")).should == Encoding::ASCII_8BIT
# CoDiNg: aScIi-8bIt
__ENCODING__
EOS
end
it "must be at the first line" do
eval(<<EOS.force_encoding("US-ASCII")).should == Encoding::US_ASCII
# coding: ASCII-8BIT
__ENCODING__
EOS
end
it "must be at the first of line" do
eval(<<EOS.force_encoding("US-ASCII")).should == Encoding::US_ASCII
1+1 # coding: ASCII-8BIT
__ENCODING__
EOS
end
it "can be after the shebang" do
eval(<<EOS.force_encoding("US-ASCII")).should == Encoding::ASCII_8BIT
#!/usr/bin/ruby -Ku
# coding: ASCII-8BIT
__ENCODING__
EOS
end
it "can take Emacs style" do
eval(<<EOS.force_encoding("US-ASCII")).should == Encoding::ASCII_8BIT
# -*- coding: ascii-8bit -*-
__ENCODING__
EOS
end
it "can take vim style" do
eval(<<EOS.force_encoding("US-ASCII")).should == Encoding::ASCII_8BIT
# vim: filetype=ruby, fileencoding=ascii-8bit, tabsize=3, shiftwidth=3
__ENCODING__
EOS
end
end
end
Jump to Line
Something went wrong with that request. Please try again.