samples/exceptions/test/org/apidesign/exceptions/trycatchredo/api/IOManagerTest.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sun, 01 Feb 2009 16:27:41 +0100
changeset 311 cb8db49f9d1c
parent 310 samples/exceptions/test/org/apidesign/exceptions/trycatchredo/IOManagerTest.java@fba31e9504a1
permissions -rw-r--r--
Rearranged to support test as well as interactive modes
jtulach@311
     1
package org.apidesign.exceptions.trycatchredo.api;
jtulach@308
     2
jtulach@308
     3
jtulach@311
     4
import org.apidesign.exceptions.trycatchredo.usage.MemoryURL;
jtulach@308
     5
import java.awt.EventQueue;
jtulach@308
     6
import java.awt.event.ActionEvent;
jtulach@308
     7
import java.net.URL;
jtulach@308
     8
import javax.swing.Action;
jtulach@310
     9
import javax.swing.JOptionPane;
jtulach@311
    10
import org.apidesign.exceptions.trycatchredo.usage.QueryStream;
jtulach@308
    11
import org.junit.After;
jtulach@308
    12
import org.junit.Before;
jtulach@308
    13
import org.junit.Test;
jtulach@308
    14
import static org.junit.Assert.*;
jtulach@308
    15
jtulach@308
    16
/**
jtulach@308
    17
 *
jtulach@308
    18
 * @author Jaroslav Tulach <jtulach@netbeans.org>
jtulach@308
    19
 */
jtulach@308
    20
public class IOManagerTest {
jtulach@308
    21
jtulach@308
    22
    public IOManagerTest() {
jtulach@308
    23
    }
jtulach@308
    24
jtulach@308
    25
    @Before
jtulach@308
    26
    public void setUp() {
jtulach@308
    27
        MemoryURL.initialize();
jtulach@308
    28
    }
jtulach@308
    29
jtulach@308
    30
    @After
jtulach@308
    31
    public void tearDown() {
jtulach@308
    32
    }
jtulach@308
    33
jtulach@308
    34
    @Test
jtulach@308
    35
    public void simpleWrite() throws Exception {
jtulach@308
    36
        URL u = new URL("memory://simpleWrite.txt");
jtulach@308
    37
        MemoryURL.registerURL(u.toExternalForm(), "", null);
jtulach@310
    38
        final Action a = IOManager.createSaveAction(u, "Hello World!");
jtulach@308
    39
        EventQueue.invokeAndWait(new Runnable() {
jtulach@308
    40
            public void run() {
jtulach@308
    41
                a.actionPerformed(new ActionEvent(this, 0, ""));
jtulach@308
    42
            }
jtulach@308
    43
        });
jtulach@310
    44
        String out = MemoryURL.getOutputForURL(u.toExternalForm());
jtulach@310
    45
        assertEquals("Hello World!", out);
jtulach@308
    46
    }
jtulach@310
    47
jtulach@310
    48
    @Test
jtulach@310
    49
    public void writeWithAQuestion() throws Exception {
jtulach@310
    50
        URL u = new URL("memory://queryEncoding.txt");
jtulach@310
    51
jtulach@310
    52
        MemoryURL.registerURL(u.toExternalForm(), "", new QueryStream());
jtulach@310
    53
        final Action a = IOManager.createSaveAction(u, "Ask a Question");
jtulach@311
    54
        // simulate that the user clicks Yes to the reverse question in the dialog
jtulach@311
    55
        IOManager.setVisibleOption = JOptionPane.YES_OPTION;
jtulach@310
    56
        EventQueue.invokeAndWait(new Runnable() {
jtulach@310
    57
            public void run() {
jtulach@310
    58
                a.actionPerformed(new ActionEvent(this, 0, ""));
jtulach@310
    59
            }
jtulach@310
    60
        });
jtulach@310
    61
        String out = MemoryURL.getOutputForURL(u.toExternalForm());
jtulach@310
    62
        assertEquals("Text is reversed", "noitseuQ a ksA", out);
jtulach@310
    63
    }
jtulach@308
    64
}