Sha256: f31cf3988697da458b407d35f2fd54dfbd2eff7e0caeb2e296a07b482b381065

Contents?: true

Size: 1.75 KB

Versions: 1

Compression:

Stored size: 1.75 KB

Contents

require 'rubygems'
require 'spec'
dir = File.dirname(__FILE__)
require File.expand_path("#{dir}/spec_helper")
require File.expand_path("#{dir}/../lib/fjson")

context "String with latin1 character set Json" do
  specify 'should format \b' do
    utf_8_val = [?\b].pack("U")
    JSON.utf8_to_json(utf_8_val).should_eql '\b'
  end

  specify 'should format \t' do
    utf_8_val = [?\t].pack("U")
    JSON.utf8_to_json(utf_8_val).should_eql '\t'
  end

  specify 'should format \n' do
    utf_8_val = [?\n].pack("U")
    JSON.utf8_to_json(utf_8_val).should_eql '\n'
  end

  specify 'should format \f' do
    utf_8_val = [?\f].pack("U")
    JSON.utf8_to_json(utf_8_val).should_eql '\f'
  end

  specify 'should format \r' do
    utf_8_val = [?\r].pack("U")
    JSON.utf8_to_json(utf_8_val).should_eql '\r'
  end

  specify 'should format ?"' do
    utf_8_val = [?"].pack("U")
    JSON.utf8_to_json(utf_8_val).should_eql '\"'
  end

  specify 'should format ?\\' do
    utf_8_val = [?\\].pack("U")
    JSON.utf8_to_json(utf_8_val).should_eql '\\\\'
  end

  specify "should format values between 0x00 and 0x1f" do
    utf_8_val = [0x0f].pack("U")
    JSON.utf8_to_json(utf_8_val).should_eql '\\u000f'
    utf_8_val = [0x1e].pack("U")
    JSON.utf8_to_json(utf_8_val).should_eql '\\u001e'
  end

  specify "should let ordinary text pass through" do
    JSON.utf8_to_json("test").should_eql "test"
    JSON.utf8_to_json('1').should_eql '1'
  end

  specify "should support backslashes" do
    json = '"\\\\.(?i:gif|jpe?g|png)$"'
    data = JSON.parse(json)
    JSON.unparse(data).should_eql json
    json = '"\\""'
    data = JSON.parse(json)
    JSON.unparse(data).should_eql json
    json = '"\/"'
    data = JSON.parse(json)
    data.should_eql '/'
    JSON.unparse(data).should_eql json
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fjson-0.1.1 spec/string_with_latin1_character_set_json_spec.rb