aboutsummaryrefslogtreecommitdiffstats
path: root/spec/rubyspec/library/uri/fixtures/normalization.rb
blob: cbc26c9b487d447cd7aec9c0d36c1f4299bb6588 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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