1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 package org.apache.myfaces.view.facelets.impl; 20 21 import java.util.Set; 22 import java.util.TreeSet; 23 24 import org.apache.myfaces.test.base.junit4.AbstractJsfTestCase; 25 import org.junit.Test; 26 import org.testng.Assert; 27 28 public class SectionUniqueIdCounterTest extends AbstractJsfTestCase 29 { 30 @Test 31 public void testSimpleCounter() 32 { 33 Set<String> idSet = new TreeSet<String>(); 34 SectionUniqueIdCounter counter = new SectionUniqueIdCounter(); 35 36 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 37 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 38 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 39 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 40 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 41 Assert.assertTrue(idSet.add(counter.startUniqueIdSection())); 42 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 43 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 44 Assert.assertTrue(idSet.add(counter.startUniqueIdSection())); 45 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 46 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 47 counter.endUniqueIdSection(); 48 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 49 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 50 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 51 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 52 counter.endUniqueIdSection(); 53 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 54 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 55 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 56 Assert.assertTrue(idSet.add(counter.generateUniqueId())); 57 58 /* 59 SectionUniqueIdCounter counter = new SectionUniqueIdCounter("_"); 60 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 61 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 62 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 63 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 64 counter.startUniqueIdSection(); 65 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 66 counter.startUniqueIdSection(); 67 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 68 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 69 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 70 counter.endUniqueIdSection(); 71 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 72 counter.endUniqueIdSection(); 73 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 74 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 75 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 76 77 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 78 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 79 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 80 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 81 counter.startUniqueIdSection(); 82 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 83 counter.startUniqueIdSection(); 84 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 85 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 86 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 87 counter.endUniqueIdSection(); 88 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 89 counter.endUniqueIdSection(); 90 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 91 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 92 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 93 94 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 95 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 96 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 97 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 98 counter.startUniqueIdSection(); 99 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 100 counter.startUniqueIdSection(); 101 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 102 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 103 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 104 counter.endUniqueIdSection(); 105 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 106 counter.endUniqueIdSection(); 107 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 108 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 109 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 110 111 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 112 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 113 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 114 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 115 counter.startUniqueIdSection(); 116 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 117 counter.startUniqueIdSection(); 118 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 119 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 120 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 121 counter.endUniqueIdSection(); 122 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 123 counter.endUniqueIdSection(); 124 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 125 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 126 System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId()); 127 */ 128 } 129 130 @Test 131 public void testCachedCounter() 132 { 133 String[] cache = SectionUniqueIdCounter.generateUniqueIdCache("_", 10); 134 135 SectionUniqueIdCounter counter = new SectionUniqueIdCounter("_", cache); 136 SectionUniqueIdCounter counterOrig = new SectionUniqueIdCounter("_"); 137 138 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId()); 139 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId()); 140 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId()); 141 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId()); 142 143 counterOrig.startUniqueIdSection(); 144 counter.startUniqueIdSection(); 145 146 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId()); 147 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId()); 148 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId()); 149 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId()); 150 151 counterOrig.endUniqueIdSection(); 152 counter.endUniqueIdSection(); 153 154 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId()); 155 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId()); 156 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId()); 157 Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId()); 158 } 159 160 }