File: join.rb

package info (click to toggle)
dlr-languages 20090805%2Bgit.e6b28d27%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 51,484 kB
  • ctags: 59,257
  • sloc: cs: 298,829; ruby: 159,643; xml: 19,872; python: 2,820; yacc: 1,960; makefile: 96; sh: 65
file content (72 lines) | stat: -rw-r--r-- 1,264 bytes parent folder | download
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
p File.join([])
p File.join([], [])
p File.join([[], []])
p File.join("a", []) 

puts '---'

p File.join("")
p File.join("", "")
p File.join(["", ""])
p File.join("a", "") 

puts '---'

p File.join("", "")  
p File.join("bin")  
p File.join("bin", "")  
p File.join("bin/")     
p File.join("bin/", "") 
p File.join("bin", "/") 
p File.join("bin/", "/")
    
p File.join("x", nil) rescue p $!
p File.join()
p File.join("x")
p File.join("x", "y")
p File.join("x", ["y", [[[["z"]]]]])

a = ["y", "z"]
a[1] = ['a', ['b', a]]
p File.join("x", a)

class C
  def respond_to? name
    puts "? #{name}"
    true
  end

  def to_ary
    ['a','b']
  end
  
  def to_str
    'hello'
  end
end

p File.join([C.new])
p File.join("a/", "b")
p File.join("a/", "/b")
p File.join("a/", "\\b")
p File.join("a\\", "b")
p File.join("a\\", "/b")
p File.join("a\\", "\\b")
p File.join("a///", "///b")
p File.join("a/\\/", "/\\\\\\\/b")
p File.join("//", "/\\/", "/\\\\\\\/b")
p File.join("", "", "/\\\\\\\/b")
p File.join("a/\\\\/", "b")

puts '----'

p File.join("usr",   "", "bin") 
p File.join("usr/",  "", "bin") 
p File.join("usr",   "", "/bin")
p File.join("usr/",  "", "/bin")
    
p File.join("", "b")
p File.join([""], "b")
p File.join([[""],[""]], "b")
p File.join("a", "b")