Changeset 6594
- Timestamp:
- 02/12/08 15:14:41 (10 months ago)
- Location:
- lang/ruby/chokan/branches/citrus
- Files:
-
- 10 modified
-
plugins/always_no_op.rb (modified) (1 diff)
-
plugins/eval.rb (modified) (1 diff)
-
plugins/hatena.rb (modified) (2 diffs)
-
plugins/http.rb (modified) (1 diff)
-
plugins/js_eval.rb (modified) (2 diffs)
-
plugins/plusplus.rb (modified) (1 diff)
-
plugins/simple_reply.rb (modified) (1 diff)
-
plugins/system.rb (modified) (4 diffs)
-
spec/plugin_spec.rb (modified) (1 diff)
-
spec/spec_helper.rb (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/ruby/chokan/branches/citrus/plugins/always_no_op.rb
r6426 r6594 26 26 27 27 it "should reply correctly" do 28 @socket. string = ""28 @socket.clear 29 29 @plugin.on_mode(@prefix, "#test", [ ["o", @core.prefix.nick] ], []) 30 @socket.string.should == "MODE #test -o chokan\r\nPRIVMSG foo :Don't mode +o me.\r\n" 30 @socket.pop.to_s.should == "MODE #test -o chokan\r\n" 31 @socket.pop.to_s.should == "PRIVMSG foo :Don't mode +o me.\r\n" 31 32 end 32 33 end -
lang/ruby/chokan/branches/citrus/plugins/eval.rb
r6586 r6594 63 63 64 64 it "should reply correctly" do 65 @socket. string = ""65 @socket.clear 66 66 @plugin.on_privmsg(@prefix, "#test", "?rb 1") 67 @socket. string.should == "NOTICE #test 1\r\n"67 @socket.pop.to_s.should == "NOTICE #test 1\r\n" 68 68 69 @socket. string = ""69 @socket.clear 70 70 @plugin.on_privmsg(@prefix, "#test", "?rb raise 'foobar'") 71 @socket. string.should == "NOTICE #test :RuntimeError => \"(eval):1:in `safe_eval': foobar\"\r\n"71 @socket.pop.to_s.should == "NOTICE #test :RuntimeError => \"(eval):1:in `safe_eval': foobar\"\r\n" 72 72 end 73 73 end -
lang/ruby/chokan/branches/citrus/plugins/hatena.rb
r6519 r6594 79 79 80 80 it "should reply correctly" do 81 @socket. string = ""81 @socket.clear 82 82 @plugin.on_privmsg(@prefix, "#test", "id:jkondo") 83 @socket. string.should == "NOTICE #test http://d.hatena.ne.jp/jkondo/\r\n"83 @socket.pop.to_s.should == "NOTICE #test http://d.hatena.ne.jp/jkondo/\r\n" 84 84 85 @socket. string = ""85 @socket.clear 86 86 @plugin.on_privmsg(@prefix, "#test", "d:id:jkondo++") 87 @socket. string.should == "NOTICE #test http://d.hatena.ne.jp/jkondo/\r\n"87 @socket.pop.to_s.should == "NOTICE #test http://d.hatena.ne.jp/jkondo/\r\n" 88 88 89 @socket. string = ""89 @socket.clear 90 90 @plugin.on_privmsg(@prefix, "#test", "g:subtech:id:jkondo") 91 @socket. string.should == "NOTICE #test http://subtech.g.hatena.ne.jp/jkondo/\r\n"91 @socket.pop.to_s.should == "NOTICE #test http://subtech.g.hatena.ne.jp/jkondo/\r\n" 92 92 93 @socket. string = ""93 @socket.clear 94 94 @plugin.on_privmsg(@prefix, "#test", "hogehogeid:jitensyaaaaa") 95 @socket.s tring.should == ""95 @socket.should be_empty 96 96 97 97 class Hatena … … 101 101 end 102 102 103 @socket. string = ""103 @socket.clear 104 104 @plugin.on_privmsg(@prefix, "#test", "id:jkondo") 105 @socket. string.should == "NOTICE #test :Hatena status API failed => #<RuntimeError: foobar>\r\n"105 @socket.pop.to_s.should == "NOTICE #test :Hatena status API failed => #<RuntimeError: foobar>\r\n" 106 106 end 107 107 end -
lang/ruby/chokan/branches/citrus/plugins/http.rb
r6477 r6594 126 126 127 127 it "should reply correctly" do 128 Thread.abort_on_exception = true 129 Thread.critical = true 130 @socket.string = "" 128 @socket.clear 131 129 @plugin.on_privmsg(@prefix, "#test", "http://foo/") 132 Thread.pass 133 @socket.string.should == "NOTICE #test :foo foo\r\n" 130 @socket.pop.to_s.should == "NOTICE #test :foo foo\r\n" 134 131 135 132 136 @socket. string = ""133 @socket.clear 137 134 @plugin.on_privmsg(@prefix, "#test", "http://bar/") 138 Thread.pass 139 @socket.string.should == "NOTICE #test :bar bar\r\n" 140 Thread.critical = false 135 @socket.pop.to_s.should == "NOTICE #test :bar bar\r\n" 141 136 142 @socket. string = ""137 @socket.clear 143 138 @plugin.on_privmsg(@prefix, "#test", "http://example.com/") 144 true while @socket.string.empty? 145 @socket.string.should == "NOTICE #test :Example Web Page [text/html; charset=UTF-8]\r\n" 139 @socket.pop.to_s.should == "NOTICE #test :Example Web Page [text/html; charset=UTF-8]\r\n" 146 140 147 @socket. string = ""141 @socket.clear 148 142 @plugin.on_privmsg(@prefix, "#test", "http://www.google.co.jp/intl/ja/about.html") 149 true while @socket.string.empty? 150 @socket.string.should == "NOTICE #test :Google について [text/html]\r\n" 143 @socket.pop.to_s.should == "NOTICE #test :Google について [text/html]\r\n" 151 144 152 @socket. string = ""145 @socket.clear 153 146 @plugin.on_privmsg(@prefix, "#test", "http://localhost/") 154 true while @socket.string.empty? 155 @socket.string.should == "NOTICE #test :#<Net::HTTP::Paranoid::NotAllowedHostError: localhost is not allowed host>\r\n" 147 @socket.pop.to_s.should == "NOTICE #test :#<Net::HTTP::Paranoid::NotAllowedHostError: localhost is not allowed host>\r\n" 156 148 end 157 149 end -
lang/ruby/chokan/branches/citrus/plugins/js_eval.rb
r6404 r6594 79 79 80 80 it "should reply correctly" do 81 @socket. string = ""81 @socket.clear 82 82 @plugin.on_privmsg(@prefix, "#test", "?js 1") 83 @socket. string.should == "NOTICE #test 1\r\n"83 @socket.pop.to_s.should == "NOTICE #test 1\r\n" 84 84 85 @socket. string = ""85 @socket.clear 86 86 @plugin.on_privmsg(@prefix, "#test", "?js for(;;);") 87 @socket. string.should == "NOTICE #test :JS eval timeout\r\n"87 @socket.pop.to_s.should == "NOTICE #test :JS eval timeout\r\n" 88 88 89 89 class JsEval … … 97 97 end 98 98 99 @socket. string = ""99 @socket.clear 100 100 @plugin.on_privmsg(@prefix, "#test", "?js 1") 101 @socket. string.should == "NOTICE #test 1\r\n"101 @socket.pop.to_s.should == "NOTICE #test 1\r\n" 102 102 103 @socket. string = ""103 @socket.clear 104 104 @plugin.on_privmsg(@prefix, "#test", "?js throw 'foobar'") 105 @socket. string.should == "NOTICE #test :#<SpiderMonkey::Error: invalid: uncaught exception: foobar>\r\n"105 @socket.pop.to_s.should == "NOTICE #test :#<SpiderMonkey::Error: invalid: uncaught exception: foobar>\r\n" 106 106 end 107 107 end -
lang/ruby/chokan/branches/citrus/plugins/plusplus.rb
r6454 r6594 73 73 74 74 it "should reply correctly" do 75 @socket. string = ""75 @socket.clear 76 76 @plugin.on_privmsg(@prefix, "#test", "foo++") 77 @socket. string.should == "NOTICE #test :foo: 1 (1++ 0--)\r\n"77 @socket.pop.to_s.should == "NOTICE #test :foo: 1 (1++ 0--)\r\n" 78 78 79 @socket. string = ""79 @socket.clear 80 80 @plugin.on_privmsg(@prefix, "#test", "foo++") 81 @socket. string.should == "NOTICE #test :foo: 2 (2++ 0--)\r\n"81 @socket.pop.to_s.should == "NOTICE #test :foo: 2 (2++ 0--)\r\n" 82 82 83 @socket. string = ""83 @socket.clear 84 84 @plugin.on_privmsg(@prefix, "#test", "foo--") 85 @socket. string.should == "NOTICE #test :foo: 1 (2++ 1--)\r\n"85 @socket.pop.to_s.should == "NOTICE #test :foo: 1 (2++ 1--)\r\n" 86 86 87 @socket. string = ""87 @socket.clear 88 88 @plugin.on_privmsg(@prefix, "#test", "karma for foo") 89 @socket. string.should == "NOTICE #test :foo: 1 (2++ 1--)\r\n"89 @socket.pop.to_s.should == "NOTICE #test :foo: 1 (2++ 1--)\r\n" 90 90 91 @socket. string = ""91 @socket.clear 92 92 @plugin.on_privmsg(@prefix, "#test", "(C++)++") 93 @socket. string.should == "NOTICE #test :C++: 1 (1++ 0--)\r\n"93 @socket.pop.to_s.should == "NOTICE #test :C++: 1 (1++ 0--)\r\n" 94 94 95 @socket. string = ""95 @socket.clear 96 96 @plugin.on_privmsg(@prefix, "#test", "karma for C++") 97 @socket. string.should == "NOTICE #test :C++: 1 (1++ 0--)\r\n"97 @socket.pop.to_s.should == "NOTICE #test :C++: 1 (1++ 0--)\r\n" 98 98 99 @socket. string = ""99 @socket.clear 100 100 @plugin.on_privmsg(@prefix, "#test", "karma for unk") 101 @socket. string.should == "NOTICE #test :don't know unk\r\n"101 @socket.pop.to_s.should == "NOTICE #test :don't know unk\r\n" 102 102 103 @socket. string = ""103 @socket.clear 104 104 @plugin.on_privmsg(@prefix, "#test", "文乃さん++") 105 @socket. string.should == "NOTICE #test :文乃さん: 1 (1++ 0--)\r\n"105 @socket.pop.to_s.should == "NOTICE #test :文乃さん: 1 (1++ 0--)\r\n" 106 106 107 107 end -
lang/ruby/chokan/branches/citrus/plugins/simple_reply.rb
r6479 r6594 32 32 33 33 it "should reply correctly" do 34 @socket. string = ""34 @socket.clear 35 35 @plugin.on_privmsg(@prefix, "#test", "foo") 36 @socket. string.should == "NOTICE #test :Nice boat.\r\n"36 @socket.pop.to_s.should == "NOTICE #test :Nice boat.\r\n" 37 37 38 @socket. string = ""38 @socket.clear 39 39 @plugin.on_privmsg(@prefix, "#test", "bar") 40 @socket. string.should == "NOTICE #test :Nice boat.\r\n"40 @socket.pop.to_s.should == "NOTICE #test :Nice boat.\r\n" 41 41 42 @socket. string = ""42 @socket.clear 43 43 @plugin.on_privmsg(@prefix, "#test", "baz") 44 @socket.s tring.should == ""44 @socket.should be_empty 45 45 46 @socket. string = ""46 @socket.clear 47 47 @plugin.on_privmsg(@prefix, "#test2", "foo") 48 @socket.s tring.should == ""48 @socket.should be_empty 49 49 end 50 50 end -
lang/ruby/chokan/branches/citrus/plugins/system.rb
r6586 r6594 106 106 107 107 it "should response to operator" do 108 @socket. string = ""108 @socket.clear 109 109 @plugin.on_privmsg(@prefix, "#test", "operator?") 110 @socket.s tring.should == ""110 @socket.should be_empty 111 111 112 @socket. string = ""112 @socket.clear 113 113 @plugin.on_privmsg(@prefixop, "#test", "operator?") 114 @socket. string.should == "NOTICE #test :You are an operator for me.\r\n"114 @socket.pop.to_s.should == "NOTICE #test :You are an operator for me.\r\n" 115 115 116 116 @plugin = System.new(@core, { "System" => { … … 118 118 } }) 119 119 120 @socket. string = ""120 @socket.clear 121 121 @plugin.on_privmsg(@prefixop, "#test", "operator?") 122 @socket. string.should == "NOTICE #test :You are an operator for me.\r\n"122 @socket.pop.to_s.should == "NOTICE #test :You are an operator for me.\r\n" 123 123 124 124 @plugin = System.new(@core, { "System" => { … … 126 126 } }) 127 127 128 @socket. string = ""128 @socket.clear 129 129 @plugin.on_privmsg(@prefixop, "#test", "operator?") 130 @socket. string.should == "NOTICE #test :You are an operator for me.\r\n"130 @socket.pop.to_s.should == "NOTICE #test :You are an operator for me.\r\n" 131 131 end 132 132 133 133 it "can reload_plugins" do 134 @socket. string = ""134 @socket.clear 135 135 @plugin.on_privmsg(@prefixop, "#test", "reload") 136 @socket. string.should match(/^NOTICE #test /)136 @socket.pop.to_s.should match(/^NOTICE #test /) 137 137 138 @socket. string = ""138 @socket.clear 139 139 @plugin.on_privmsg(@prefixop, "#test", "reload Foo") 140 @socket. string.should match(/^NOTICE #test /)140 @socket.pop.to_s.should match(/^NOTICE #test /) 141 141 142 @socket. string = ""142 @socket.clear 143 143 @plugin.on_privmsg(@prefixop, "#test", "reload Unknown") 144 @socket. string.should match(/^NOTICE #test /)144 @socket.pop.to_s.should match(/^NOTICE #test /) 145 145 146 146 def @core.reload_config … … 148 148 end 149 149 150 @socket. string = ""150 @socket.clear 151 151 @plugin.on_privmsg(@prefixop, "#test", "reload") 152 @socket. string.should match(/^NOTICE #test /)152 @socket.pop.to_s.should match(/^NOTICE #test /) 153 153 end 154 154 155 155 it "can operate join/part" do 156 @socket. string = ""156 @socket.clear 157 157 @plugin.on_privmsg(@prefixop, "#test", "chokan: part") 158 @socket. string.should match(/^PART #test /)158 @socket.pop.to_s.should match(/^PART #test /) 159 159 160 @socket. string = ""160 @socket.clear 161 161 @plugin.on_privmsg(@prefixop, "#test", "chokan: join to #foobar") 162 @socket. string.should match(/^JOIN #foobar /)162 @socket.pop.to_s.should match(/^JOIN #foobar /) 163 163 164 @socket. string = ""164 @socket.clear 165 165 @plugin.on_privmsg(@prefixop, "#test", "chokan: join to #foobar password") 166 @socket. string.should match(/^JOIN #foobar password/)166 @socket.pop.to_s.should match(/^JOIN #foobar password/) 167 167 end 168 168 169 169 it "can Gem.clear_paths" do 170 @socket. string = ""170 @socket.clear 171 171 @plugin.on_privmsg(@prefixop, "#test", "Gem.clear_paths") 172 @socket. string.should match(/^NOTICE #test :Gem.clear_paths/)172 @socket.pop.to_s.should match(/^NOTICE #test :Gem.clear_paths/) 173 173 end 174 174 end -
lang/ruby/chokan/branches/citrus/spec/plugin_spec.rb
r6401 r6594 14 14 it "has utility post methods" do 15 15 @plugin = Plugin.new(@core, {}) 16 @socket.clear 17 16 18 @plugin.privmsg("#test", "message") 17 19 @plugin.privmsg("#test", "message with space") 18 20 19 @socket.rewind 20 @socket.gets.should == "PRIVMSG #test message\r\n" 21 @socket.gets.should == "PRIVMSG #test :message with space\r\n" 21 @socket.pop.to_s.should == "PRIVMSG #test message\r\n" 22 @socket.pop.to_s.should == "PRIVMSG #test :message with space\r\n" 22 23 end 23 24 -
lang/ruby/chokan/branches/citrus/spec/spec_helper.rb
r6585 r6594 1 1 #!/usr/bin/env ruby 2 3 Thread.abort_on_exception = true 2 4 3 5 require "rubygems" … … 22 24 end 23 25 24 require " stringio"26 require "thread" 25 27 26 28 class DummyCore < Citrus::Core … … 55 57 super(config) 56 58 57 @socket = StringIO.new("")59 @socket = Queue.new 58 60 end 59 61
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)