a6429f8c22
Completely removed the html5lib sanitizer. Fixed the string-handling to work in both Ruby 1.8.x and 1.9.2. There are still, inexplicably, two functional tests that fail. But the rest seems to work quite well.
41 lines
1.8 KiB
Ruby
Executable file
41 lines
1.8 KiB
Ruby
Executable file
#!/usr/bin/env ruby
|
|
|
|
require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
|
|
require 'chunks/category'
|
|
|
|
class CategoryTest < Test::Unit::TestCase
|
|
include ChunkMatch
|
|
|
|
def test_single_category
|
|
match(Category, 'category: test', :list => ['test'], :hidden => nil)
|
|
match(Category, 'category : chunk test ', :list => ['chunk test'], :hidden => nil)
|
|
match(Category, ':category: test', :list => ['test'], :hidden => ':')
|
|
end
|
|
|
|
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
|
|
|
|
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
|
|
|
|
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
|
|
|
|
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
|
|
|
|
end
|