Sha256: 765533829625b7fa8de623e5b5e6d54cc2e2ff27d9fa587d4f9fbd97fe79cef5

Contents?: true

Size: 1.85 KB

Versions: 1

Compression:

Stored size: 1.85 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

describe WebIDL::Parser::IDLParser do

  #
  # modules
  #

  it "parses an empty module" do
    parse(fixture("empty_module.idl")).should_not be_nil
  end

  it "parses a module with a typedef" do
    parse(fixture("module_with_typedef.idl")).should_not be_nil
  end

  it "parses modules with extended attributes" do
    parse(fixture("module_with_xattr_ident.idl")).should_not be_nil
    parse(fixture("module_with_xattr_named_args.idl")).should_not be_nil
    parse(fixture("module_with_xattr_no_arg.idl")).should_not be_nil
    parse(fixture("module_with_xattr_scoped.idl")).should_not be_nil
    parse(fixture("module_with_xattr_two_args.idl")).should_not be_nil
  end

  #
  # interfaces
  #

  it "parses an empty interface" do
    parse(fixture("empty_interface.idl")).should_not be_nil
  end

  it "parses a module with several interfaces" do
    result = parse fixture("framework.idl")
    result.should_not be_nil
  end

  it "parses an interface with an attribute" do
    parse(fixture("interface_with_attribute.idl")).should_not be_nil
  end


  #
  # various
  #

  it "parses a known type followed by other characters" do
    str = <<-IDL
      interface Foo { readonly attribute DOMStringMap bar;  };
    IDL

    parse(str).should_not be_nil
  end

  it "parses array types" do
    str = <<-IDL
      interface Bar { readonly attribute short[] foo; };
    IDL

    parse(str).should_not be_nil
  end

  it "parses hex numbers" do
    str = <<-IDL
      interface Bar { const unsigned long NULL = 0x0000; };
    IDL

    parse(str).should_not be_nil
  end

  it "parses the WebSocket interface idl" do
    parse(fixture("websocket.idl")).should_not be_nil
  end

  it "parses the HTML5 DOM interface idl" do
    parse(fixture("html5.idl")).build
    parse(fixture("html5.idl")).should_not be_nil
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
webidl-0.0.7 spec/parser_spec.rb