qfunction 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README CHANGED
@@ -1,3 +1,2 @@
1
1
  == qfunction
2
-
3
- You should document your project here.
2
+ Try it now !!!!
data/Rakefile CHANGED
@@ -12,16 +12,20 @@ require 'rake/testtask'
12
12
 
13
13
  spec = Gem::Specification.new do |s|
14
14
  s.name = 'qfunction'
15
- s.version = '0.1.1'
15
+ s.version = '0.1.2'
16
16
  s.has_rdoc = true
17
17
  s.extra_rdoc_files = ['README', 'LICENSE']
18
18
  s.summary = 'Nice Function'
19
19
  s.description = s.summary
20
20
  s.author = 'QuangMV, Cyworld VietNam, 5th Floor, 447 Lac Long Quan Street, Tay Ho Dist, Ha Noi, VietNam'
21
- s.email = 'quangnnt@gmail.com'
21
+ s.email = 'mr.quangmv@gmail.com'
22
22
  s.files = %w(LICENSE README Rakefile) + Dir.glob("{bin,lib,spec}/**/*")
23
23
  s.require_path = "lib"
24
24
  s.bindir = "bin"
25
+ # s.add_dependency('watir','>=1.6.5')
26
+ s.add_dependency('ocra','>=1.2.0')
27
+ # s.add_dependency('tslmail','>=0.0.1')
28
+ # s.add_dependency('gmail_sender','>=1.1.1')
25
29
  end
26
30
 
27
31
  Rake::GemPackageTask.new(spec) do |p|
@@ -1,5 +1,5 @@
1
1
  #B: HTML
2
- module Qh
2
+ module Qh
3
3
  include Test::Unit::Assertions
4
4
  #Goto url
5
5
  def goto(url)
@@ -88,7 +88,6 @@ include Test::Unit::Assertions
88
88
  #type = 2:value,<br>
89
89
  #type = 3:append<br>
90
90
  def setTextfieldname(text1,text2,type=1)
91
-
92
91
  waitExists($ff.text_field(:name,text1))
93
92
  if type == 1 then
94
93
  $ff.text_field(:name,text1).set(text2)
@@ -105,7 +104,6 @@ include Test::Unit::Assertions
105
104
  #type = 2:value,<br>
106
105
  #type = 3:append<br>
107
106
  def setTextfieldclass(text1,text2,type=1)
108
-
109
107
  waitExists($ff.text_field(:class,text1))
110
108
  if type == 1 then
111
109
  $ff.text_field(:class,text1).set(text2)
@@ -8,7 +8,6 @@ module Qa
8
8
  sleep(1)
9
9
  if i>=waittime then
10
10
  assert($ff.contains_text(text))
11
- # break;
12
11
  end
13
12
  i=i+1
14
13
  end
@@ -21,7 +20,6 @@ module Qa
21
20
  sleep(1)
22
21
  if i>=$timeout then
23
22
  assert_false($ff.contains_text(text))
24
- break;
25
23
  end
26
24
  i=i+1
27
25
  end
@@ -35,7 +33,8 @@ module Qa
35
33
  #type = 5:maxlength<br>
36
34
  def assertEqual(value1,value2,type=1) #0.0.8
37
35
  i = 0
38
- if type == 1 then
36
+ case type
37
+ when 1 then
39
38
  begin
40
39
  assert_equal(value1, value2.text)
41
40
  rescue Exception => e
@@ -45,7 +44,7 @@ module Qa
45
44
  end
46
45
  assert_equal(value1, value2.text)
47
46
  end
48
- elsif type == 2 then
47
+ when 2 then
49
48
  begin
50
49
  assert_equal(value1, value2.title)
51
50
  rescue
@@ -55,7 +54,7 @@ module Qa
55
54
  end
56
55
  assert_equal(value1, value2.title)
57
56
  end
58
- elsif type == 3 then
57
+ when 3 then
59
58
  begin
60
59
  assert_equal(value1, value2.url)
61
60
  rescue
@@ -65,7 +64,7 @@ module Qa
65
64
  end
66
65
  assert_equal(value1, value2.url)
67
66
  end
68
- elsif type == 4 then
67
+ when 4 then
69
68
  begin
70
69
  assert_equal(value1, value2.value)
71
70
  rescue
@@ -75,7 +74,7 @@ module Qa
75
74
  end
76
75
  assert_equal(value1, value2.value)
77
76
  end
78
- elsif type == 5 then
77
+ when 5 then
79
78
  begin
80
79
  assert_equal(value1, value2.maxlength)
81
80
  rescue
@@ -87,9 +86,10 @@ module Qa
87
86
  end
88
87
  end
89
88
  end
90
- def assertSpan_Equal(spantype,valuetype,value1,value2)
89
+ def assertSpan_Equal(value1,spantype,value2,valuetype="text")
91
90
  i = 0
92
- if valuetype == "text" then
91
+ case valuetype
92
+ when "text" then
93
93
  begin
94
94
  assert_equal(value1, $ff.span(:"#{spantype}",value2).text)
95
95
  rescue
@@ -99,22 +99,74 @@ module Qa
99
99
  end
100
100
  assert_equal(value1, $ff.span(:"#{spantype}",value2).text)
101
101
  end
102
+ when "id" then
103
+ begin
104
+ assert_equal(value1, $ff.span(:"#{spantype}",value2).id)
105
+ rescue
106
+ sleep(1)
107
+ i += 1
108
+ if i <= $timeout+1 then retry
109
+ end
110
+ assert_equal(value1, $ff.span(:"#{spantype}",value2).id)
111
+ end
112
+ end
113
+ end
114
+ def assertDiv_Equal(value1,divtype,value2,valuetype="text")
115
+ i = 0
116
+ case valuetype
117
+ when "text" then
118
+ begin
119
+ assert_equal(value1, $ff.div(:"#{divtype}",value2).text)
120
+ rescue
121
+ sleep(1)
122
+ i += 1
123
+ if i <= $timeout+1 then retry
124
+ end
125
+ assert_equal(value1, $ff.div(:"#{divtype}",value2).text)
126
+ end
127
+ when "id" then
128
+ begin
129
+ assert_equal(value1, $ff.div(:"#{divtype}",value2).id)
130
+ rescue
131
+ sleep(1)
132
+ i += 1
133
+ if i <= $timeout+1 then retry
134
+ end
135
+ assert_equal(value1, $ff.div(:"#{divtype}",value2).id)
136
+ end
102
137
  end
103
138
  end
104
139
 
105
- def assertImage_Equal(imagetype,valuetype,value1,value2)
140
+ def assertLink_Equal(value1,linktype,value2,valuetype="text")
106
141
  i = 0
107
- if valuetype == "text" then
142
+ case valuetype
143
+ when "text" then
144
+ begin
145
+ assert_equal(value1, $ff.link(:"#{linktype}",value2).text)
146
+ rescue
147
+ sleep(1)
148
+ i += 1
149
+ if i <= $timeout+1 then retry
150
+ end
151
+ assert_equal(value1, $ff.link(:"#{linktype}",value2).text)
152
+ end
153
+ when "id" then
108
154
  begin
109
- assert_equal(value1, $ff.image(:"#{imagetype}",value2).text)
155
+ assert_equal(value1, $ff.link(:"#{linktype}",value2).id)
110
156
  rescue
111
157
  sleep(1)
112
158
  i += 1
113
159
  if i <= $timeout+1 then retry
114
160
  end
115
- assert_equal(value1, $ff.image(:"#{imagetype}",value2).text)
161
+ assert_equal(value1, $ff.link(:"#{linktype}",value2).id)
116
162
  end
117
- elsif valuetype == "src" then
163
+ end
164
+ end
165
+
166
+ def assertImage_Equal(value1,imagetype,value2,valuetype="src")
167
+ i = 0
168
+ case valuetype
169
+ when "src" then
118
170
  begin
119
171
  assert_equal(value1, $ff.image(:"#{imagetype}",value2).src)
120
172
  rescue
@@ -124,7 +176,7 @@ module Qa
124
176
  end
125
177
  assert_equal(value1, $ff.image(:"#{imagetype}",value2).src)
126
178
  end
127
- elsif valuetype == "href" then
179
+ when "href" then
128
180
  begin
129
181
  assert_equal(value1, $ff.image(:"#{imagetype}",value2).href)
130
182
  rescue
@@ -134,10 +186,68 @@ module Qa
134
186
  end
135
187
  assert_equal(value1, $ff.image(:"#{imagetype}",value2).href)
136
188
  end
189
+ when "id" then
190
+ begin
191
+ assert_equal(value1, $ff.image(:"#{imagetype}",value2).id)
192
+ rescue
193
+ sleep(1)
194
+ i += 1
195
+ if i <= $timeout+1 then retry
196
+ end
197
+ assert_equal(value1, $ff.image(:"#{imagetype}",value2).id)
198
+ end
137
199
  end
138
200
  end
139
- def assertBrowser_Equal(valuetype,value)
140
- if valuetype == "title"
201
+
202
+ def assertTextfield_Equal(value1,textfieldtype,value2,valuetype="value")
203
+ i = 0
204
+ case valuetype
205
+ when "value" then
206
+ begin
207
+ assert_equal(value1, $ff.text_field(:"#{textfieldtype}",value2).value)
208
+ rescue
209
+ sleep(1)
210
+ i += 1
211
+ if i <= $timeout+1 then retry
212
+ end
213
+ assert_equal(value1, $ff.text_field(:"#{textfieldtype}",value2).value)
214
+ end
215
+ when "id" then
216
+ begin
217
+ assert_equal(value1, $ff.text_field(:"#{textfieldtype}",value2).id)
218
+ rescue
219
+ sleep(1)
220
+ i += 1
221
+ if i <= $timeout+1 then retry
222
+ end
223
+ assert_equal(value1, $ff.text_field(:"#{textfieldtype}",value2).id)
224
+ end
225
+ when "name" then
226
+ begin
227
+ assert_equal(value1, $ff.text_field(:"#{textfieldtype}",value2).name)
228
+ rescue
229
+ sleep(1)
230
+ i += 1
231
+ if i <= $timeout+1 then retry
232
+ end
233
+ assert_equal(value1, $ff.text_field(:"#{textfieldtype}",value2).name)
234
+ end
235
+ when "maxlength" then
236
+ begin
237
+ assert_equal(value1, $ff.text_field(:"#{textfieldtype}",value2).maxlength)
238
+ rescue
239
+ sleep(1)
240
+ i += 1
241
+ if i <= $timeout+1 then retry
242
+ end
243
+ assert_equal(value1, $ff.text_field(:"#{textfieldtype}",value2).maxlength)
244
+ end
245
+ end
246
+ end
247
+ def assertBrowser_Equal(value,valuetype="title")
248
+ i = 0
249
+ case valuetype
250
+ when "title" then
141
251
  begin
142
252
  assert_equal(value, $ff.title)
143
253
  rescue
@@ -147,6 +257,26 @@ module Qa
147
257
  end
148
258
  assert_equal(value, $ff.title)
149
259
  end
260
+ when "url" then
261
+ begin
262
+ assert_equal(value, $ff.url)
263
+ rescue
264
+ sleep(1)
265
+ i += 1
266
+ if i <= $timeout+1 then retry
267
+ end
268
+ assert_equal(value, $ff.url)
269
+ end
270
+ when "status" then
271
+ begin
272
+ assert_equal(value, $ff.status)
273
+ rescue
274
+ sleep(1)
275
+ i += 1
276
+ if i <= $timeout+1 then retry
277
+ end
278
+ assert_equal(value, $ff.status)
279
+ end
150
280
  end
151
281
  end
152
282
 
@@ -159,7 +289,8 @@ module Qa
159
289
  #type = 4:value<br>
160
290
  def assertfalseEqual(value1,value2,type=1)
161
291
  i = 0
162
- if type == 1 then
292
+ case type
293
+ when 1 then
163
294
  while value2.text == value1 do
164
295
  sleep(1)
165
296
  if i >= $timeout then
@@ -168,7 +299,7 @@ module Qa
168
299
  end
169
300
  i += 1
170
301
  end
171
- elsif type == 2 then
302
+ when 2 then
172
303
  while value2.title == value1 do
173
304
  sleep(1)
174
305
  if i >= $timeout then
@@ -177,7 +308,7 @@ module Qa
177
308
  end
178
309
  i += 1
179
310
  end
180
- elsif type == 3 then
311
+ when 3 then
181
312
  while value2.url == value1 do
182
313
  sleep(1)
183
314
  if i >= $timeout then
@@ -186,7 +317,7 @@ module Qa
186
317
  end
187
318
  i += 1
188
319
  end
189
- elsif type == 4 then
320
+ when 4 then
190
321
  while value2.value == value1 do
191
322
  sleep(1)
192
323
  if i >= $timeout then
@@ -196,7 +327,6 @@ module Qa
196
327
  i += 1
197
328
  end
198
329
  end
199
-
200
330
  end
201
331
 
202
332
  #Wait Element show
@@ -224,121 +354,103 @@ module Qa
224
354
  end
225
355
  end
226
356
 
227
- def waitLinks(arg,text) #0.0.9
228
- assert(true)
229
- text.each do |item|
230
- i = 0
231
- while !$ff.link(:"#{arg}",item).exists? do
232
- sleep(1)
233
- i +=1
234
- if i>=$timeout then
235
- assert( $ff.link(:"#{arg}",item).exists? )
236
- break;
237
- end
357
+ #Wait Element none
358
+ def waitfalseExists(text)
359
+ i = 0
360
+ while text.exists? do
361
+ sleep(1)
362
+ if i>=$timeout then
363
+ assert(text.exists?)
364
+ break;
238
365
  end
366
+ i +=1
239
367
  end
240
368
  end
241
- def waitSpans(arg,text) #0.0.9
369
+
370
+ def noLinks(arg,text)
242
371
  text.each do |item|
243
372
  i = 0
244
- while !$ff.span(:"#{arg}",item).exists? do
373
+ while $ff.link(:"#{arg}",item).exists? do
245
374
  sleep(1)
246
375
  i +=1
247
376
  if i>=$timeout then
248
- assert( $ff.span(:"#{arg}",item).exists? )
249
- break;
377
+ assert( !$ff.link(:"#{arg}",item).exists? )
250
378
  end
251
379
  end
252
380
  end
253
381
  end
254
- def waitButtons(arg,text) #0.0.9
382
+
383
+ def noButtons(arg,text)
255
384
  text.each do |item|
256
385
  i = 0
257
- while !$ff.button(:"#{arg}",item).exists? do
386
+ while $ff.button(:"#{arg}",item).exists? do
258
387
  sleep(1)
259
388
  i +=1
260
389
  if i>=$timeout then
261
- assert( $ff.button(:"#{arg}",item).exists? )
262
- break;
390
+ assert( !$ff.button(:"#{arg}",item).exists? )
263
391
  end
264
392
  end
265
393
  end
266
394
  end
267
395
 
268
- def waitImages(arg,text) #0.0.9
396
+ def noSpans(arg,text)
269
397
  text.each do |item|
270
398
  i = 0
271
- while !$ff.image(:"#{arg}",item).exists? do
399
+ while $ff.span(:"#{arg}",item).exists? do
272
400
  sleep(1)
273
401
  i +=1
274
402
  if i>=$timeout then
275
- assert( $ff.image(:"#{arg}",item).exists? )
276
- break;
403
+ assert( !$ff.span(:"#{arg}",item).exists? )
277
404
  end
278
405
  end
279
406
  end
280
407
  end
281
-
282
- #Wait Element none
283
- def waitfalseExists(text)
284
- i = 0
285
- while text.exists? do
286
- sleep(1)
287
- if i>=$timeout then
288
- assert(text.exists?)
289
- break;
290
- end
291
- i +=1
292
- end
293
- end
294
408
 
295
- def noLinks(arg,text)
409
+ def noImages(arg,text)
296
410
  text.each do |item|
297
411
  i = 0
298
- while $ff.link(:"#{arg}",item).exists? do
412
+ while $ff.image(:"#{arg}",item).exists? do
299
413
  sleep(1)
300
414
  i +=1
301
415
  if i>=$timeout then
302
- assert( !$ff.link(:"#{arg}",item).exists? )
416
+ assert( !$ff.image(:"#{arg}",item).exists? )
303
417
  end
304
418
  end
305
419
  end
306
420
  end
307
421
 
308
- def noButtons(arg,text)
422
+ def noTables(arg,text)
309
423
  text.each do |item|
310
424
  i = 0
311
- while $ff.button(:"#{arg}",item).exists? do
425
+ while $ff.table(:"#{arg}",item).exists? do
312
426
  sleep(1)
313
427
  i +=1
314
428
  if i>=$timeout then
315
- assert( !$ff.button(:"#{arg}",item).exists? )
429
+ assert( !$ff.table(:"#{arg}",item).exists? )
316
430
  end
317
431
  end
318
432
  end
319
433
  end
320
-
321
- def noSpans(arg,text)
434
+ def noDivs(arg,text)
322
435
  text.each do |item|
323
436
  i = 0
324
- while $ff.span(:"#{arg}",item).exists? do
437
+ while $ff.div(:"#{arg}",item).exists? do
325
438
  sleep(1)
326
439
  i +=1
327
440
  if i>=$timeout then
328
- assert( !$ff.span(:"#{arg}",item).exists? )
441
+ assert( !$ff.div(:"#{arg}",item).exists? )
329
442
  end
330
443
  end
331
444
  end
332
445
  end
333
-
334
- def noImages(arg,text)
446
+ def noTextfields(arg,text)
335
447
  text.each do |item|
336
448
  i = 0
337
- while $ff.image(:"#{arg}",item).exists? do
449
+ while $ff.text_field(:"#{arg}",item).exists? do
338
450
  sleep(1)
339
451
  i +=1
340
452
  if i>=$timeout then
341
- assert( !$ff.image(:"#{arg}",item).exists? )
453
+ assert( !$ff.text_field(:"#{arg}",item).exists? )
342
454
  end
343
455
  end
344
456
  end
@@ -350,8 +462,9 @@ module Qa
350
462
  #tags = 4: Textfield<br>
351
463
  #tags = 5: Div<br>
352
464
  def falseExistsid(text,tags=1)
353
- if tags == 1 then
354
- i = 0
465
+ i = 0
466
+ case tags
467
+ when 1 then
355
468
  while $ff.link(:id,text).exists? do
356
469
  sleep(1)
357
470
  i +=1
@@ -359,9 +472,7 @@ module Qa
359
472
  assert(!$ff.link(:id,text).exists?)
360
473
  end
361
474
  end
362
-
363
- elsif tags == 2 then
364
- i = 0
475
+ when 2 then
365
476
  while $ff.button(:id,text).exists? do
366
477
  sleep(1)
367
478
  i +=1
@@ -369,8 +480,7 @@ module Qa
369
480
  assert(!$ff.button(:id,text).exists?)
370
481
  end
371
482
  end
372
- elsif tags == 3 then
373
- i = 0
483
+ when 3 then
374
484
  while $ff.table(:id,text).exists? do
375
485
  sleep(1)
376
486
  i +=1
@@ -378,8 +488,7 @@ module Qa
378
488
  assert(!$ff.table(:id,text).exists?)
379
489
  end
380
490
  end
381
- elsif tags == 4 then
382
- i = 0
491
+ when 4 then
383
492
  while $ff.text_field(:id,text).exists? do
384
493
  sleep(1)
385
494
  i +=1
@@ -387,10 +496,16 @@ module Qa
387
496
  assert(!$ff.text_field(:id,text).exists?)
388
497
  end
389
498
  end
499
+ when 5 then
500
+ while $ff.div(:id,text).exists? do
501
+ sleep(1)
502
+ i +=1
503
+ if i>=10 then
504
+ assert(!$ff.div(:id,text).exists?)
505
+ end
506
+ end
390
507
  end
391
-
392
508
  end
393
-
394
509
  #tags = 1: Link(d)
395
510
  def falseExiststext(text,tags=1)
396
511
  if tags == 1 then
@@ -1,150 +1,150 @@
1
1
  module Qs
2
- include Test::Unit::Assertions
3
- def decoder(n)
4
- str = [" ","!","\"","#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";",
5
- "<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
6
- "[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x",
7
- "y","z","{","|","}","~" ]
8
- for i in 32..126
9
- if n == i then return "#{str[i-32]}"
10
- end
11
- end
12
- end
13
-
14
- #i=1: 0-9,a-z,A-Z<br>
15
- #i=2: -_ <br>
16
- #i=3: a-z,A-Z<br>
17
- #i=4: 0-9<br>
18
- #i=41: 0-9 <br>
19
- #i=5: @domain<br>
20
- #i=10: Ho va Ten<br>
21
- def getRandomString(n,i)
22
- str = ""
23
-
24
- str1 = ["0","1","2","3","4","5","6","7","8","9",
25
- "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
26
- "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x",
27
- "y","z"]
28
-
29
- str2 = ["-","","_",""]
30
-
31
- str3 = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
32
- "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
33
-
34
- str4 = ["0","1","2","3","4","5","6","7","8","9"]
35
- str41 = ["0","1","2","3","4","5","6","7","8","9","","","","","","","","","",""]
36
-
37
- str5 = ["@yahoo.com.vn","@gmail.com","@yahoo.com","@msn.com","@hotmail.com","@zing.vn","@google.com.vn","@dantri.com",
38
- "@vnexpress.net","@mail.com","@abc.com","@live.com"]
39
-
40
- strHo = ["Nguyen","Dinh","Dang","Huynh","Mai","Tran","Le","Hoang","Pham","Phan","Vu","Bui","Do","Ho","Ngo",
41
- "Duong","Ly","Vuong","Trinh","Truong","Dinh","Doan","Lam","Phung"]
42
-
43
- strTenDem = ["Thi","Hong","Van","","Duc","Thuy","Ngoc","Ly","Bac","Hien"]
44
-
45
- strTen = ["Trai","Xi","Truc","Tu","Bat","Thanh","Luong","Khuong","Quyen","Quang",
46
- "Hoang","Ky","Thai","Chinh","Trinh","Kien","Hao","Hung","Quynh","Phuong","Hoa","Hop","Dung","Thang","Van","Tu","Ninh","Vinh","Loc","Khanh","Thuy","Ha",
47
- "Hang","Lam","Hai","Vu","Na","Duyen","Minh","Tuan","Hien","Anh","An","Be","Binh","Canh"]
48
-
49
- if i == 1 then
50
- for i in 1..n
51
- str = "#{str}#{str1[rand(str1.length)]}"
52
- end
53
- return str
54
- elsif i == 2 then
55
- for i in 1..n
56
- str = "#{str}#{str2[rand(str2.length)]}"
57
- end
58
- return str
59
- elsif i == 3 then
60
- for i in 1..n
61
- str = "#{str}#{str3[rand(str3.length)]}"
62
- end
63
- return str
64
- elsif i == 4 then
65
- for i in 1..n
66
- str = "#{str}#{str4[rand(10)]}"
67
- end
68
- return str
69
- elsif i == 41 then
70
- for i in 1..n
71
- str = "#{str}#{str41[rand(str41.length)]}"
72
- end
73
- return str
74
- elsif i == 5 then
75
- for i in 1..n
76
- str = "#{str}#{str5[rand(str5.length)]}"
77
- end
78
- return str
79
- elsif i == 10 then
80
- str = "#{strHo[rand(strHo.length)]} #{strTenDem[rand(strTenDem.length)]} #{strTen[rand(strTen.length)]}"
81
- return str
82
- end
83
- end
84
-
85
- def randfromto(a,b)
86
- x = rand(b)
87
- while x < a do
88
- x = rand(b)
89
- end
90
- return x
91
- end
92
-
93
- def cutEndline(text) #0.0.8
94
- if RUBY_VERSION <= '1.8.6' then
95
- if text[text.length - 1] < 32 then
96
- return text[0,text.length - 1]
97
- else return text[0,text.length]
98
- end
99
- else
100
- if text[text.length - 1] < ' ' then
101
- return text[0,text.length - 1]
102
- else return text[0,text.length]
103
- end
104
- end
105
- end
106
-
107
- def readExcel(dir,sheet=1)
108
- $excel = WIN32OLE.new("excel.application")
109
- $excel.visible = true
110
- $workbook = $excel.workbooks.open(dir)
111
- $ws=$workbook.worksheets(sheet)
112
- $workbook = $excel.ActiveWorkbook
113
- end
114
-
115
- def saveExcel
116
- $workbook.Save
117
- $workbook.Close
118
- $excel.Quit
119
- end
120
-
121
- def getFile(name)
122
- if File.exist?(name) then return true
123
- else return false
124
- end
125
- end
126
-
127
- def getPathExe(default_dir)
128
- if ENV['OCRA_EXECUTABLE'].nil?
129
- root_dir = File.dirname(default_dir).gsub('/', '\\') #0.0.7
130
- else
131
- root_dir = File.expand_path(File.dirname(ENV['OCRA_EXECUTABLE'])).gsub('/', '\\')
132
- end
133
- return root_dir + "\\"
134
- end
135
-
136
- def getDir(file,type = 1)
137
- if type == 1 then
138
- return File.dirname(file).gsub('/', '\\') + "\\"
139
- else return File.dirname(file).gsub('/', '\\')
140
- end
141
- end
142
-
143
- def send_Mail_on_Gmail(nickname,pass,to,subject,content)
144
- g = GmailSender.new(nickname, pass)
145
- g.send(:to => to,
146
- :subject => subject,
147
- :content => content,
148
- :content_type => 'text/html')
149
- end
2
+ include Test::Unit::Assertions
3
+ def decoder(n)
4
+ str = [" ","!","\"","#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";",
5
+ "<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
6
+ "[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x",
7
+ "y","z","{","|","}","~" ]
8
+ for i in 32..126
9
+ if n == i then return "#{str[i-32]}"
10
+ end
11
+ end
12
+ end
13
+
14
+ #i=1: 0-9,a-z,A-Z<br>
15
+ #i=2: -_ <br>
16
+ #i=3: a-z,A-Z<br>
17
+ #i=4: 0-9<br>
18
+ #i=41: 0-9 <br>
19
+ #i=5: @domain<br>
20
+ #i=10: Ho va Ten<br>
21
+ def getRandomString(n,i)
22
+ str = ""
23
+
24
+ str1 = ["0","1","2","3","4","5","6","7","8","9",
25
+ "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
26
+ "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x",
27
+ "y","z"]
28
+
29
+ str2 = ["-","","_",""]
30
+
31
+ str3 = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
32
+ "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
33
+
34
+ str4 = ["0","1","2","3","4","5","6","7","8","9"]
35
+ str41 = ["0","1","2","3","4","5","6","7","8","9","","","","","","","","","",""]
36
+
37
+ str5 = ["@yahoo.com.vn","@gmail.com","@yahoo.com","@msn.com","@hotmail.com","@zing.vn","@google.com.vn","@dantri.com",
38
+ "@vnexpress.net","@mail.com","@abc.com","@live.com","@mailinator.com"]
39
+
40
+ strHo = ["Nguyen","Dinh","Dang","Huynh","Mai","Tran","Le","Hoang","Pham","Phan","Vu","Bui","Do","Ho","Ngo",
41
+ "Duong","Ly","Vuong","Trinh","Truong","Dinh","Doan","Lam","Phung"]
42
+
43
+ strTenDem = ["Thi","Hong","Van","","Duc","Thuy","Ngoc","Ly","Bac","Hien"]
44
+
45
+ strTen = ["Trai","Xi","Truc","Tu","Bat","Thanh","Luong","Khuong","Quyen","Quang",
46
+ "Hoang","Ky","Thai","Chinh","Trinh","Kien","Hao","Hung","Quynh","Phuong","Hoa","Hop","Dung","Thang","Van","Tu","Ninh","Vinh","Loc","Khanh","Thuy","Ha",
47
+ "Hang","Lam","Hai","Vu","Na","Duyen","Minh","Tuan","Hien","Anh","An","Be","Binh","Canh"]
48
+ case i
49
+ when i == 1 then
50
+ for i in 1..n
51
+ str = "#{str}#{str1[rand(str1.length)]}"
52
+ end
53
+ return str
54
+ when i == 2 then
55
+ for i in 1..n
56
+ str = "#{str}#{str2[rand(str2.length)]}"
57
+ end
58
+ return str
59
+ when i == 3 then
60
+ for i in 1..n
61
+ str = "#{str}#{str3[rand(str3.length)]}"
62
+ end
63
+ return str
64
+ when i == 4 then
65
+ for i in 1..n
66
+ str = "#{str}#{str4[rand(10)]}"
67
+ end
68
+ return str
69
+ when i == 41 then
70
+ for i in 1..n
71
+ str = "#{str}#{str41[rand(str41.length)]}"
72
+ end
73
+ return str
74
+ when i == 5 then
75
+ for i in 1..n
76
+ str = "#{str}#{str5[rand(str5.length)]}"
77
+ end
78
+ return str
79
+ when i == 10 then
80
+ str = "#{strHo[rand(strHo.length)]} #{strTenDem[rand(strTenDem.length)]} #{strTen[rand(strTen.length)]}"
81
+ return str
82
+ end
83
+ end
84
+
85
+ def randfromto(a,b)
86
+ x = rand(b)
87
+ while x < a do
88
+ x = rand(b)
89
+ end
90
+ return x
91
+ end
92
+
93
+ def cutEndline(text) #0.0.8
94
+ if RUBY_VERSION <= '1.8.6' then
95
+ if text[text.length - 1] < 32 then
96
+ return text[0,text.length - 1]
97
+ else return text[0,text.length]
98
+ end
99
+ else
100
+ if text[text.length - 1] < ' ' then
101
+ return text[0,text.length - 1]
102
+ else return text[0,text.length]
103
+ end
104
+ end
105
+ end
106
+
107
+ def readExcel(dir,sheet=1)
108
+ $excel = WIN32OLE.new("excel.application")
109
+ $excel.visible = true
110
+ $workbook = $excel.workbooks.open(dir)
111
+ $ws=$workbook.worksheets(sheet)
112
+ $workbook = $excel.ActiveWorkbook
113
+ end
114
+
115
+ def saveExcel
116
+ $workbook.Save
117
+ $workbook.Close
118
+ $excel.Quit
119
+ end
120
+
121
+ def getFile(name)
122
+ if File.exist?(name) then return true
123
+ else return false
124
+ end
125
+ end
126
+
127
+ def getPathExe(default_dir)
128
+ if ENV['OCRA_EXECUTABLE'].nil?
129
+ root_dir = File.dirname(default_dir).gsub('/', '\\') #0.0.7
130
+ else
131
+ root_dir = File.expand_path(File.dirname(ENV['OCRA_EXECUTABLE'])).gsub('/', '\\')
132
+ end
133
+ return root_dir + "\\"
134
+ end
135
+
136
+ def getDir(file,type = 1)
137
+ if type == 1 then
138
+ return File.dirname(file).gsub('/', '\\') + "\\"
139
+ else return File.dirname(file).gsub('/', '\\')
140
+ end
141
+ end
142
+
143
+ def send_Mail_on_Gmail(nickname,pass,to,subject,content)
144
+ g = GmailSender.new(nickname, pass)
145
+ g.send(:to => to,
146
+ :subject => subject,
147
+ :content => content,
148
+ :content_type => 'text/html')
149
+ end
150
150
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 1
9
- version: 0.1.1
8
+ - 2
9
+ version: 0.1.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - QuangMV, Cyworld VietNam, 5th Floor, 447 Lac Long Quan Street, Tay Ho Dist, Ha Noi, VietNam
@@ -14,12 +14,26 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-11-19 00:00:00 +01:00
17
+ date: 2010-11-22 00:00:00 +01:00
18
18
  default_executable:
19
- dependencies: []
20
-
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: ocra
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 1
30
+ - 2
31
+ - 0
32
+ version: 1.2.0
33
+ type: :runtime
34
+ version_requirements: *id001
21
35
  description: Nice Function
22
- email: quangnnt@gmail.com
36
+ email: mr.quangmv@gmail.com
23
37
  executables: []
24
38
 
25
39
  extensions: []