X-Git-Url: http://git.nikiroo.be/?p=nikiroo-utils.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2Ftest_code%2FReplaceInputStreamTest.java;fp=src%2Fbe%2Fnikiroo%2Futils%2Ftest_code%2FReplaceInputStreamTest.java;h=efab8c73d62e5f79779a41b6f8c4c889ad8a8f74;hp=d08a91ed779c89502ef8e7d65eca8e47b7fa9ddd;hb=28bee1c360ac061db48395356f36ef62c2923bf1;hpb=b440ca6a9a8d7cc3044e93ff91202fd448362cc6 diff --git a/src/be/nikiroo/utils/test_code/ReplaceInputStreamTest.java b/src/be/nikiroo/utils/test_code/ReplaceInputStreamTest.java index d08a91e..efab8c7 100644 --- a/src/be/nikiroo/utils/test_code/ReplaceInputStreamTest.java +++ b/src/be/nikiroo/utils/test_code/ReplaceInputStreamTest.java @@ -83,33 +83,122 @@ class ReplaceInputStreamTest extends TestLauncher { checkArrays(this, "FIRST", in, "I like blue".getBytes("UTF-8")); - data = "I like blue".getBytes("UTF-8"); + data = "I like blue hammers".getBytes("UTF-8"); in = new ReplaceInputStream(new ByteArrayInputStream(data), "blue", "red"); - checkArrays(this, "FIRST", in, "I like red".getBytes("UTF-8")); + checkArrays(this, "SECOND", in, "I like red hammers".getBytes("UTF-8")); } }); addTest(new TestCase("Multiple replaces") { @Override public void test() throws Exception { - byte[] data = "I like red".getBytes("UTF-8"); + byte[] data = "I like red cabage".getBytes("UTF-8"); ReplaceInputStream in = new ReplaceInputStream( new ByteArrayInputStream(data), // - new String[] {"like", "red"}, // - new String[] {"dislike", "green"} // + new String[] { "red", "like" }, // + new String[] { "green", "very very much like" } // + ); + + String result = new String(IOUtils.toByteArray(in), "UTF-8"); + assertEquals("I very very much like green cabage", result); + } + }); + + addTest(new TestCase("Multiple replaces") { + @Override + public void test() throws Exception { + String str= ("" // + + "\n" // + + "\n" // + + "\n" // + + "\n" // + + "\t\n" // + + "\t\n" // + + "\t${title}\n" // + + "\t\n" // + + "\t\n" // + + "\n" // + + "\n" // + + "\t
\n" // + + "${banner}${content}\t
\n" // + + "\n" // + + "" // + ); + byte[] data = str.getBytes("UTF-8"); + + String title = "Fanfix"; + String banner = ""; + String content = ""; + + InputStream in = new ReplaceInputStream( + new ByteArrayInputStream(data), // + new String[] { "${title}", "${banner}", "${content}" }, // + new String[] { title, banner, content } // ); String result = new String(IOUtils.toByteArray(in), "UTF-8"); - assertEquals("I dislike green", result); + assertEquals(str // + .replace("${title}", title) // + .replace("${banner}", banner) // + .replace("${content}", content) // + , result); } }); + + } static void checkArrays(TestCase test, String prefix, InputStream in, byte[] expected) throws Exception { byte[] actual = IOUtils.toByteArray(in); + +// System.out.println("\nActual:"); +// for(byte byt : actual) { +// System.out.print(byt+" "); +// } +// System.out.println("\nExpected:"); +// for(byte byt : expected) { +// System.out.print(byt+" "); +// } + test.assertEquals("The " + prefix + " resulting array has not the correct number of items", expected.length, actual.length);