1 package org.apache.maven.archetype.ui.generation;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.codehaus.plexus.PlexusTestCase;
23 import org.codehaus.plexus.components.interactivity.Prompter;
24 import org.codehaus.plexus.components.interactivity.PrompterException;
25 import org.easymock.EasyMock;
26
27 import java.util.regex.Pattern;
28
29 public class DefaultArchetypeGenerationQueryerTest
30 extends PlexusTestCase
31 {
32
33 private DefaultArchetypeGenerationQueryer queryer;
34
35 @Override
36 public void setUp()
37 throws Exception
38 {
39 super.setUp();
40
41 queryer = (DefaultArchetypeGenerationQueryer) lookup( ArchetypeGenerationQueryer.class.getName() );
42 }
43
44 public void testPropertyRegexValidationRetry()
45 throws PrompterException
46 {
47 Prompter prompter = EasyMock.createMock( Prompter.class );
48
49 EasyMock.expect(prompter.prompt( EasyMock.<String>anyObject() )).andReturn( "invalid-answer" );
50 EasyMock.expect(prompter.prompt( EasyMock.<String>anyObject() )).andReturn( "valid-answer" );
51
52 EasyMock.replay( prompter );
53 queryer.setPrompter( prompter );
54
55 String value = queryer.getPropertyValue( "custom-property", null, Pattern.compile( "^valid-.*" ) );
56
57 assertEquals( "valid-answer", value );
58
59 }
60
61 }