15ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski/* 25ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski * Copyright (C) 2013 The Android Open Source Project 35ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski * 45ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski * Licensed under the Apache License, Version 2.0 (the "License"); 55ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski * you may not use this file except in compliance with the License. 65ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski * You may obtain a copy of the License at 75ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski * 85ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski * http://www.apache.org/licenses/LICENSE-2.0 95ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski * 105ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski * Unless required by applicable law or agreed to in writing, software 115ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski * distributed under the License is distributed on an "AS IS" BASIS, 125ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski * See the License for the specific language governing permissions and 145ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski * limitations under the License. 155ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski */ 165ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 175ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewskipackage android.support.v4.content; 185ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 195ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewskiimport static org.junit.Assert.assertEquals; 205ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewskiimport static org.junit.Assert.assertFalse; 215ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewskiimport static org.junit.Assert.assertNull; 225ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewskiimport static org.junit.Assert.assertTrue; 235ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 245ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewskiimport android.support.test.filters.SmallTest; 255ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewskiimport android.support.test.runner.AndroidJUnit4; 265ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewskiimport android.test.MoreAsserts; 275ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 2829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewskiimport junit.framework.Assert; 2929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 305ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewskiimport org.junit.Test; 315ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewskiimport org.junit.runner.RunWith; 325ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 335ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski/** 345ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski * Tests for {@link MimeTypeFilter} 355ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski */ 365ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski@SmallTest 375ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski@RunWith(AndroidJUnit4.class) 385ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewskipublic class MimeTypeFilterTest { 395ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski @Test 405ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski public void matchesBasic() throws Exception { 415ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertTrue(MimeTypeFilter.matches("image/jpeg", "*/*")); 425ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertTrue(MimeTypeFilter.matches("image/jpeg", "image/*")); 435ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertTrue(MimeTypeFilter.matches("image/jpeg", "image/jpeg")); 445ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertTrue(MimeTypeFilter.matches("image/jpeg", "*/jpeg")); 455ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 465ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski // These matchers are case *sensitive*. 475ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertFalse(MimeTypeFilter.matches("ImAgE/JpEg", "iMaGe/*")); 485ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertFalse(MimeTypeFilter.matches("IMAGE/JPEG", "image/jpeg")); 495ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertFalse(MimeTypeFilter.matches("image/jpeg", "IMAGE/JPEG")); 505ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 515ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertFalse(MimeTypeFilter.matches("image/jpeg", "image/png")); 525ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertFalse(MimeTypeFilter.matches("image/jpeg", "video/jpeg")); 535ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 545ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertFalse(MimeTypeFilter.matches((String) null, "*/*")); 555ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertFalse(MimeTypeFilter.matches((String) null, "image/")); 565ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertFalse(MimeTypeFilter.matches((String) null, "image/jpeg")); 575ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 5829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Null and invalid MIME types. 5929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski assertFalse(MimeTypeFilter.matches((String) null, "*/*")); 605ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertFalse(MimeTypeFilter.matches("", "*/*")); 615ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertFalse(MimeTypeFilter.matches("image/", "*/*")); 6229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski assertFalse(MimeTypeFilter.matches("*/", "*/*")); 635ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski } 645ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 655ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski @Test 665ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski public void matchesManyFilters() throws Exception { 675ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertEquals("*/*", MimeTypeFilter.matches("image/jpeg", new String[] {"*/*"})); 685ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertEquals("image/*", MimeTypeFilter.matches("image/jpeg", new String[] {"image/*"})); 695ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertEquals("image/jpeg", MimeTypeFilter.matches( 705ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski "image/jpeg", new String[] {"image/jpeg"})); 715ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 725ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertEquals("*/*", MimeTypeFilter.matches( 735ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski "image/jpeg", new String[] {"not/matching", "*/*"})); 745ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertEquals("image/*", MimeTypeFilter.matches( 755ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski "image/jpeg", new String[] {"image/*", "image/jpeg"})); 765ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertEquals("image/jpeg", MimeTypeFilter.matches( 775ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski "image/jpeg", new String[] {"image/jpeg", "image/png"})); 785ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 795ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertNull(MimeTypeFilter.matches( 805ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski "ImAgE/JpEg", new String[] {"iMaGe/*", "image/*"})); 815ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertEquals("*/jpeg", MimeTypeFilter.matches( 825ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski "image/jpeg", new String[] {"*/png", "*/jpeg"})); 835ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 845ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertNull(MimeTypeFilter.matches("image/jpeg", new String[] {})); 855ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 865ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertNull(MimeTypeFilter.matches("image/jpeg", new String[] {"image/png", "video/jpeg"})); 875ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertNull(MimeTypeFilter.matches("image/jpeg", new String[] {"video/jpeg", "image/png"})); 885ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 895ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertNull(MimeTypeFilter.matches(null, new String[] {"*/*"})); 905ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertNull(MimeTypeFilter.matches(null, new String[] {"image/"})); 915ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski assertNull(MimeTypeFilter.matches(null, new String[] {"image/jpeg"})); 925ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 9329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Null and invalid MIME types. 9429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski assertNull(MimeTypeFilter.matches((String) null, new String[] { "*/*" })); 9529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski assertNull(MimeTypeFilter.matches("", new String[] { "*/*" })); 9629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski assertNull(MimeTypeFilter.matches("image/", new String[] { "*/*" })); 9729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski assertNull(MimeTypeFilter.matches("*/", new String[] { "*/*" })); 985ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski } 995ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 1005ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski @Test 1015ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski public void matchesManyMimeTypes() throws Exception { 1025ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski MoreAsserts.assertEquals(new String[] {"image/jpeg", "image/png"}, 1035ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski MimeTypeFilter.matchesMany(new String[] {"image/jpeg", "image/png"}, "image/*")); 1045ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski MoreAsserts.assertEquals(new String[] {"image/png"}, 1055ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski MimeTypeFilter.matchesMany(new String[] {"image/jpeg", "image/png"}, "image/png")); 1065ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski MoreAsserts.assertEquals(new String[] {}, 1075ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski MimeTypeFilter.matchesMany(new String[] {"image/jpeg", "image/png"}, "*/JpEg")); 1085ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski 1095ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski MoreAsserts.assertEquals(new String[] {}, 11029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matchesMany(new String[] {"*/", "image/"}, "*/*")); 1115ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski MoreAsserts.assertEquals(new String[] {}, 1125ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski MimeTypeFilter.matchesMany(new String[] {}, "*/*")); 1135ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski } 11429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 11529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski @Test 11629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski public void illegalFilters() throws Exception { 11729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 11829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches("image/jpeg", ""); 11929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 12029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 12129395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 12229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 12329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 12429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 12529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches("image/jpeg", "*"); 12629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 12729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 12829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 12929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 13029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 13129395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 13229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches("image/jpeg", "*/"); 13329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 13429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 13529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 13629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 13729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 13829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 13929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches("image/jpeg", "/*"); 14029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 14129395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 14229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 14329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 14429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 14529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 14629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches("image/jpeg", "*/*/*"); 14729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 14829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 14929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 15029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 15129395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 15229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 15329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches(new String[] { "image/jpeg" }, ""); 15429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 15529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 15629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 15729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 15829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 15929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 16029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches(new String[] { "image/jpeg" }, "*"); 16129395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 16229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 16329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 16429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 16529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 16629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 16729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches(new String[] { "image/jpeg" }, "*/"); 16829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 16929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 17029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 17129395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 17229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 17329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 17429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches(new String[] { "image/jpeg" }, "/*"); 17529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 17629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 17729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 17829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 17929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 18029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 18129395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches(new String[] { "image/jpeg" }, "*/*/*"); 18229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 18329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 18429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 18529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 18629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 18729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 18829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches("image/jpeg", new String[] { "" }); 18929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 19029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 19129395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 19229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 19329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 19429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 19529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches("image/jpeg", new String[] { "*" }); 19629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 19729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 19829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 19929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 20029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 20129395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 20229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches("image/jpeg", new String[] { "*/" }); 20329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 20429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 20529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 20629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 20729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 20829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 20929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches("image/jpeg", new String[] { "/*" }); 21029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 21129395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 21229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 21329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 21429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 21529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 21629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matches("image/jpeg", new String[] { "*/*/*" }); 21729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 21829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 21929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 22029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 22129395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 22229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 22329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matchesMany(new String[] { "image/jpeg" }, ""); 22429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 22529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 22629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 22729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 22829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 22929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 23029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matchesMany(new String[] { "image/jpeg" }, "*"); 23129395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 23229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 23329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 23429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 23529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 23629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 23729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matchesMany(new String[] { "image/jpeg" }, "*/"); 23829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 23929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 24029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 24129395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 24229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 24329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 24429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matchesMany(new String[] { "image/jpeg" }, "/*"); 24529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 24629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 24729395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 24829395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 24929395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski 25029395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski try { 25129395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski MimeTypeFilter.matchesMany(new String[] { "image/jpeg" }, "*/*/*"); 25229395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski Assert.fail("Illegal filter, should throw."); 25329395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } catch (IllegalArgumentException e) { 25429395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski // Expected. 25529395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 25629395192292de3a4aa2609b8bc6c5ad59f5369bfTomasz Mikolajewski } 2575ea23bf26200bc88e7876008ffcb6a7a96f7bbdeTomasz Mikolajewski} 258