source: EcnlProtoTool/trunk/mrbgems/mruby-env/test/env_test.rb@ 331

Last change on this file since 331 was 331, checked in by coas-nagasima, 6 years ago

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-ruby
File size: 2.4 KB
Line 
1##
2# ENV test
3#
4
5if Object.const_defined?(:MTest)
6 class ENVTest < MTest::Unit::TestCase
7 def test_env_class
8 assert_equal(Object, ENV.class)
9 end
10
11 def setup
12 @env_hash = ENV.to_hash
13 ENV.clear
14 end
15
16 def teardown
17 ENV.clear
18 @env_hash.each do |k, v|
19 ENV[k] = v
20 end
21 end
22
23 def set_dummy_env
24 ENV['FOO'] = 'bar'
25 end
26
27 def test_size_empty
28 assert_equal(0, ENV.size)
29 end
30
31 def test_keys_empty
32 assert_empty(ENV.keys)
33 end
34
35 def test_values_empty
36 assert_empty(ENV.values)
37 end
38
39 def test_env_to_s_empty
40 assert_equal("ENV", ENV.to_s)
41 end
42
43 def test_env_inspect_empty
44 assert_equal("{}", ENV.inspect)
45 end
46
47 def test_env_to_hash_empty
48 assert_equal({}, ENV.to_hash)
49 end
50
51 def test_env_get_val
52 set_dummy_env
53 assert_equal('bar', ENV['FOO'])
54 end
55
56 def test_env_keys
57 set_dummy_env
58 assert_equal(['FOO'], ENV.keys)
59 end
60
61 def test_env_values
62 set_dummy_env
63 assert_equal(['bar'], ENV.values)
64 end
65
66 def test_env_to_s
67 set_dummy_env
68 assert_equal("ENV", ENV.to_s)
69 end
70
71 def test_env_has_key
72 set_dummy_env
73 assert_true ENV.has_key?("FOO")
74 assert_false ENV.has_key?("BAR")
75 end
76
77 def test_env_inspect
78 set_dummy_env
79 assert_equal("{\"FOO\"=>\"bar\"}", ENV.inspect)
80 end
81
82 def test_env_delete
83 set_dummy_env
84 old = ENV['FOO']
85 ret = ENV.delete('FOO')
86 assert_equal(0, ENV.size)
87 assert_equal(old, ret)
88 assert_equal(nil, ENV.delete('nosuchenv'))
89 end
90
91 def test_env_fetch
92 set_dummy_env
93 assert_equal 'bar', ENV.fetch('FOO')
94 assert_equal 'val', ENV.fetch('BAR', 'val')
95 assert_equal 'val2', ENV.fetch('BAR') { |key| 'val2' }
96 assert_raise(KeyError) do
97 ENV.fetch('BAR')
98 end
99 end
100
101 def test_env_subst_nil
102 set_dummy_env
103 ENV['FOO'] = nil
104 assert_equal(0, ENV.size)
105 end
106
107 def test_env_store
108 ENV['a'] = 'b'
109 assert_equal 'b', ENV['a']
110
111 ENV['a'] = 'c'
112 assert_equal 'c', ENV['a']
113
114 ENV['a'] = nil
115 assert_equal nil, ENV['a']
116
117 ENV['b'] = nil
118 assert_equal nil, ENV['b']
119 assert_equal 0, ENV.size
120 end
121 end
122
123 if $ok_test
124 MTest::Unit.new.mrbtest
125 else
126 MTest::Unit.new.run
127 end
128else
129 $asserts << "test skip of mruby-env/test/env_test.rb" if $asserts
130end
131
Note: See TracBrowser for help on using the repository browser.