1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.pyyaml;
18
19 import java.io.File;
20 import java.io.FileInputStream;
21 import java.io.IOException;
22 import java.io.InputStream;
23 import java.util.ArrayList;
24 import java.util.List;
25
26 import org.yaml.snakeyaml.events.Event;
27 import org.yaml.snakeyaml.tokens.Token;
28
29
30
31
32 public class PyCanonicalTest extends PyImportTest {
33
34 public void testCanonicalScanner() throws IOException {
35 File[] files = getStreamsByExtension(".canonical");
36 assertTrue("No test files found.", files.length > 0);
37 for (int i = 0; i < files.length; i++) {
38 InputStream input = new FileInputStream(files[i]);
39 List<Token> tokens = canonicalScan(input);
40 input.close();
41 assertFalse(tokens.isEmpty());
42 }
43 }
44
45 private List<Token> canonicalScan(InputStream input) throws IOException {
46 int ch = input.read();
47 StringBuilder buffer = new StringBuilder();
48 while (ch != -1) {
49 buffer.append((char) ch);
50 ch = input.read();
51 }
52 CanonicalScanner scanner = new CanonicalScanner(buffer.toString());
53 List<Token> result = new ArrayList<Token>();
54 while (scanner.peekToken() != null) {
55 result.add(scanner.getToken());
56 }
57 return result;
58 }
59
60 public void testCanonicalParser() throws IOException {
61 File[] files = getStreamsByExtension(".canonical");
62 assertTrue("No test files found.", files.length > 0);
63 for (int i = 0; i < files.length; i++) {
64 InputStream input = new FileInputStream(files[i]);
65 List<Event> tokens = canonicalParse(input);
66 input.close();
67 assertFalse(tokens.isEmpty());
68 }
69 }
70 }