require 'test_helper' class PublicSuffixService::RuleListTest < Test::Unit::TestCase def setup @list = PublicSuffixService::RuleList.new end def teardown PublicSuffixService::RuleList.clear end def test_initialize assert_instance_of PublicSuffixService::RuleList, @list assert_equal 0, @list.length end def test_initialize_create_index_when_empty assert_equal({}, @list.indexes) end def test_find__with_index @list = PublicSuffixService::RuleList.parse(<. // Portions created by the Initial Developer are Copyright (C) 2007 // the Initial Developer. All Rights Reserved. // // Contributor(s): // Ruben Arakelyan // Gervase Markham // Pamela Greene // David Triendl // The kind representatives of many TLD registries // // Alternatively, the contents of this file may be used under the terms of // either the GNU General Public License Version 2 or later (the "GPL"), or // the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), // in which case the provisions of the GPL or the LGPL are applicable instead // of those above. If you wish to allow use of your version of this file only // under the terms of either the GPL or the LGPL, and not to allow others to // use your version of this file under the terms of the MPL, indicate your // decision by deleting the provisions above and replace them with the notice // and other provisions required by the GPL or the LGPL. If you do not delete // the provisions above, a recipient may use your version of this file under // the terms of any one of the MPL, the GPL or the LGPL. // // ***** END LICENSE BLOCK ***** // ac : http://en.wikipedia.org/wiki/.ac ac com.ac // ad : http://en.wikipedia.org/wiki/.ad ad // ar : http://en.wikipedia.org/wiki/.ar *.ar !congresodelalengua3.ar EOS expected = [] list = PublicSuffixService::RuleList.parse(input) assert_instance_of PublicSuffixService::RuleList, list assert_equal 5, list.length assert_equal %w(ac com.ac ad *.ar !congresodelalengua3.ar).map { |name| PublicSuffixService::Rule.factory(name) }, list.to_a end end