| <!DOCTYPE html> |
| <!-- |
| Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <link rel="import" href="/core/filter.html"> |
| <link rel="import" href="/core/test_utils.html"> |
| <link rel="import" href="/base/unittest.html"> |
| |
| <script> |
| 'use strict'; |
| |
| tr.b.unittest.testSuite(function() { |
| var TitleOrCategoryFilter = tr.c.TitleOrCategoryFilter; |
| var ExactTitleFilter = tr.c.ExactTitleFilter; |
| |
| test('titleOrCategoryFilter', function() { |
| assert.throw(function() { |
| new TitleOrCategoryFilter(); |
| }); |
| assert.throw(function() { |
| new TitleOrCategoryFilter(''); |
| }); |
| |
| var s0 = tr.c.test_utils.newSliceCategory('cat', 'a', 1, 3); |
| assert.isTrue(new TitleOrCategoryFilter('a').matchSlice(s0)); |
| assert.isTrue(new TitleOrCategoryFilter('cat').matchSlice(s0)); |
| assert.isTrue(new TitleOrCategoryFilter('at').matchSlice(s0)); |
| assert.isFalse(new TitleOrCategoryFilter('b').matchSlice(s0)); |
| assert.isFalse(new TitleOrCategoryFilter('X').matchSlice(s0)); |
| |
| var s1 = tr.c.test_utils.newSliceCategory('cat', 'abc', 1, 3); |
| assert.isTrue(new TitleOrCategoryFilter('abc').matchSlice(s1)); |
| assert.isTrue(new TitleOrCategoryFilter('Abc').matchSlice(s1)); |
| assert.isTrue(new TitleOrCategoryFilter('cat').matchSlice(s1)); |
| assert.isTrue(new TitleOrCategoryFilter('Cat').matchSlice(s1)); |
| assert.isFalse(new TitleOrCategoryFilter('cat1').matchSlice(s1)); |
| assert.isFalse(new TitleOrCategoryFilter('X').matchSlice(s1)); |
| }); |
| |
| test('exactTitleFilter', function() { |
| assert.throw(function() { |
| new ExactTitleFilter(); |
| }); |
| assert.throw(function() { |
| new ExactTitleFilter(''); |
| }); |
| |
| var s0 = tr.c.test_utils.newSliceNamed('a', 1, 3); |
| assert.isTrue(new ExactTitleFilter('a').matchSlice(s0)); |
| assert.isFalse(new ExactTitleFilter('b').matchSlice(s0)); |
| assert.isFalse(new ExactTitleFilter('A').matchSlice(s0)); |
| |
| var s1 = tr.c.test_utils.newSliceNamed('abc', 1, 3); |
| assert.isTrue(new ExactTitleFilter('abc').matchSlice(s1)); |
| assert.isFalse(new ExactTitleFilter('Abc').matchSlice(s1)); |
| assert.isFalse(new ExactTitleFilter('bc').matchSlice(s1)); |
| assert.isFalse(new ExactTitleFilter('a').matchSlice(s1)); |
| }); |
| }); |
| </script> |