Sha256: 7ed201d6ef7bfb914b2704138fd42bf153e8b2af6b6a7df3fa116357cb951fd8

Contents?: true

Size: 1.6 KB

Versions: 22

Compression:

Stored size: 1.6 KB

Contents

require 'babelyoda/strings_lexer'
require 'babelyoda/strings_parser'

describe "strings parser" do
  before(:each) do
    @lexer = Babelyoda::StringsLexer.new    
  end
  
  it "can be created" do
    parser = Babelyoda::StringsParser.new(@lexer, :en)
  end
  
  context "parsing" do
    before(:each) do
      @parser = Babelyoda::StringsParser.new(@lexer, :en)
    end
    
    it "should parse simple keys" do
      str = <<-EOF
      /* Some comment */
      "Some key" = "Some translation";
      EOF
      result = []
      @parser.parse(str) do |record|
        result << record
      end
      result.size.should == 1
      result[0].context.should == "Some comment"
      result[0].id.should == "Some key"
      result[0].values.size.should == 1
      result[0].plural?.should == false
      result[0].values[:en].language.should == :en
      result[0].values[:en].status.should == :requires_translation
      result[0].values[:en].text.should == "Some translation"
    end

    it "should parse plural keys" do
      str = <<-EOF
      // Some comment
      "%[one]d organizations" = "%[one]d organizations";
      EOF
      result = []
      @parser.parse(str) do |record|
        result << record
      end
      result.size.should == 1
      result[0].context.should == "Some comment"
      result[0].id.should == "%[plural]d organizations"
      result[0].values.size.should == 1
      result[0].plural?.should == true
      result[0].values[:en].language.should == :en
      result[0].values[:en].status.should == :requires_translation
      result[0].values[:en].text[:one].should == "%d organizations"
    end
  end
  
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
babelyoda-2.2.0 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.20 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.19 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.18 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.17 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.16 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.15 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.14 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.13 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.12 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.11 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.10 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.9 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.8 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.7 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.6 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.5 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.4 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.3 spec/lib/babelyoda/strings_parser_spec.rb
babelyoda-2.1.2 spec/lib/babelyoda/strings_parser_spec.rb