module URISpec
  # Not an exhaustive list. Refer to rfc3986
  NORMALIZED_FORMS = [
    { :normalized =>     "http://example.com/",
      :equivalent =>  %w{ hTTp://example.com/
                          http://exaMple.com/
                          http://exa%4dple.com/
                          http://exa%4Dple.com/
                          http://exa%6dple.com/
                          http://exa%6Dple.com/
                          http://@example.com/
                          http://example.com:/
                          http://example.com:80/
                          http://example.com
                        },
      :different =>   %w{ http://example.com/#
                          http://example.com/?
                          http://example.com:8888/
                          http:///example.com
                          http:example.com
                          https://example.com/
                        },
    },
    { :normalized =>     "http://example.com/index.html",
      :equivalent =>  %w{ http://example.com/index.ht%6dl
                          http://example.com/index.ht%6Dl
                        },
     :different =>    %w{ http://example.com/index.hTMl
                          http://example.com/index.ht%4dl
                          http://example.com/index
                          http://example.com/
                          http://example.com/
                        },
    },
    { :normalized =>     "http://example.com/x?y#z",
      :equivalent =>  %w{ http://example.com/x?y#%7a
                          http://example.com/x?y#%7A
                          http://example.com/x?%79#z
                        },
     :different =>    %w{ http://example.com/x?Y#z
                          http://example.com/x?y#Z
                          http://example.com/x?y=#z
                          http://example.com/x?y
                          http://example.com/x#z
                        },
    },
    { :normalized =>     "http://example.com/x?q=a%20b",
      :equivalent =>  %w{
                        },
      :different =>   %w{ http://example.com/x?q=a+b
                        },
    },
  ]
end
