2007-01-22 14:43:50 +01:00
|
|
|
#!/usr/bin/env ruby
|
|
|
|
|
2009-11-30 23:28:18 +01:00
|
|
|
require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
|
2007-01-22 14:43:50 +01:00
|
|
|
require 'chunks/category'
|
|
|
|
|
|
|
|
class CategoryTest < Test::Unit::TestCase
|
|
|
|
include ChunkMatch
|
|
|
|
|
|
|
|
def test_single_category
|
2010-05-27 07:27:49 +02:00
|
|
|
match(Category, 'category: test', :list => ['test'], :hidden => nil, :unmask_text =>
|
2010-05-27 08:17:24 +02:00
|
|
|
"<div class=\"property\"> category: <a class=\"category_link\" href=\"/wiki1/list/test\">test</a></div>")
|
2010-05-27 07:27:49 +02:00
|
|
|
match(Category, 'category : chunk test ', :list => ['chunk test'], :hidden => nil, :unmask_text =>
|
2010-05-27 08:17:24 +02:00
|
|
|
"<div class=\"property\"> category: <a class=\"category_link\" href=\"/wiki1/list/chunk+test\">chunk test</a></div>")
|
2007-01-22 14:43:50 +01:00
|
|
|
match(Category, ':category: test', :list => ['test'], :hidden => ':')
|
|
|
|
end
|
|
|
|
|
2009-09-08 03:38:09 +02:00
|
|
|
def test_no_category
|
|
|
|
match(Category, 'category: ', :list => [], :hidden => nil)
|
|
|
|
match(Category, 'category : chunk test , ', :list => ['chunk test'], :hidden => nil)
|
|
|
|
match(Category, ':category:', :list => [], :hidden => ':')
|
|
|
|
end
|
|
|
|
|
2007-01-22 14:43:50 +01:00
|
|
|
def test_multiple_categories
|
|
|
|
match(Category, 'category: test, multiple', :list => ['test', 'multiple'], :hidden => nil)
|
|
|
|
match(Category, 'category : chunk test , multi category,regression test case ',
|
|
|
|
:list => ['chunk test','multi category','regression test case'], :hidden => nil
|
|
|
|
)
|
|
|
|
end
|
|
|
|
|
2007-09-23 07:03:58 +02:00
|
|
|
def test_multiple_categories_sanitized
|
|
|
|
match(Category, 'category: test, multiple,<span>a & b</span> <script>alert("XSS!");</script>', :list => ['test', 'multiple', '<span>a & b</span> <script>alert("XSS!");</script>'], :hidden => nil)
|
|
|
|
match(Category, 'category : chunk test , multi category,<span>a & b</span> <script>alert("XSS!");</script>',
|
|
|
|
:list => ['chunk test','multi category','<span>a & b</span> <script>alert("XSS!");</script>'], :hidden => nil
|
|
|
|
)
|
|
|
|
end
|
|
|
|
|
2009-09-08 03:38:09 +02:00
|
|
|
def test_multiple_categories_invalid_utf8
|
|
|
|
match(Category, "category: test, multiple,\000egg", :list => ['test', 'multiple', 'egg'], :hidden => nil)
|
|
|
|
match(Category, "category : chunk test , multi category,,e\000gg", :list => ['chunk test', 'multi category', 'egg'], :hidden => nil)
|
|
|
|
end
|
|
|
|
|
2007-01-22 14:43:50 +01:00
|
|
|
end
|