@@ -38,7 +38,7 @@ def install
3838 end
3939
4040 test do
41- ( testpath /"Test.java" ) . write <<~EOF
41+ ( testpath /"Test.java" ) . write <<~JAVA
4242 import java.util.*;
4343
4444 public class Test {
@@ -51,74 +51,74 @@ def install
5151 }
5252 }
5353 }
54- EOF
55- expected_out = <<~EOF
56- \\ documentclass{article}
57- \\ usepackage[margin=1in]{geometry}
58- \\ usepackage{color}
59- \\ usepackage{fancyvrb}
60- \\ newcommand{\ \ VerbBar}{|}
61- \\ newcommand{\\ VERB}{\\ Verb[commandchars=\\ \\ \\ { \ \ }]}
62- \\ DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\ \\ \\ { \ \ }}
63- % Add ',fontsize=\\ small' for more characters per line
64- \\ usepackage{framed}
65- \\ definecolor{shadecolor}{RGB}{255,255,255}
66- \\ newenvironment{Shaded}{\\ begin{snugshade}}{\ \ end{snugshade}}
67- \\ newcommand{\\ AlertTok}[1]{\\ textcolor[rgb]{0.75,0.01,0.01}{\\ textbf{\ \ colorbox[rgb]{0.97,0.90,0.90}{#1}}}}
68- \\ newcommand{\\ AnnotationTok}[1]{\ \ textcolor[rgb]{0.79,0.38,0.79}{#1}}
69- \\ newcommand{\\ AttributeTok}[1]{\ \ textcolor[rgb]{0.00,0.34,0.68}{#1}}
70- \\ newcommand{\\ BaseNTok}[1]{\ \ textcolor[rgb]{0.69,0.50,0.00}{#1}}
71- \\ newcommand{\\ BuiltInTok}[1]{\\ textcolor[rgb]{0.39,0.29,0.61}{\ \ textbf{#1}}}
72- \\ newcommand{\\ CharTok}[1]{\ \ textcolor[rgb]{0.57,0.30,0.62}{#1}}
73- \\ newcommand{\\ CommentTok}[1]{\ \ textcolor[rgb]{0.54,0.53,0.53}{#1}}
74- \\ newcommand{\\ CommentVarTok}[1]{\ \ textcolor[rgb]{0.00,0.58,1.00}{#1}}
75- \\ newcommand{\\ ConstantTok}[1]{\ \ textcolor[rgb]{0.67,0.33,0.00}{#1}}
76- \\ newcommand{\\ ControlFlowTok}[1]{\\ textcolor[rgb]{0.12,0.11,0.11}{\ \ textbf{#1}}}
77- \\ newcommand{\\ DataTypeTok}[1]{\ \ textcolor[rgb]{0.00,0.34,0.68}{#1}}
78- \\ newcommand{\\ DecValTok}[1]{\ \ textcolor[rgb]{0.69,0.50,0.00}{#1}}
79- \\ newcommand{\\ DocumentationTok}[1]{\ \ textcolor[rgb]{0.38,0.47,0.50}{#1}}
80- \\ newcommand{\\ ErrorTok}[1]{\\ textcolor[rgb]{0.75,0.01,0.01}{\ \ underline{#1}}}
81- \\ newcommand{\\ ExtensionTok}[1]{\\ textcolor[rgb]{0.00,0.58,1.00}{\ \ textbf{#1}}}
82- \\ newcommand{\\ FloatTok}[1]{\ \ textcolor[rgb]{0.69,0.50,0.00}{#1}}
83- \\ newcommand{\\ FunctionTok}[1]{\ \ textcolor[rgb]{0.39,0.29,0.61}{#1}}
84- \\ newcommand{\\ ImportTok}[1]{\ \ textcolor[rgb]{1.00,0.33,0.00}{#1}}
85- \\ newcommand{\\ InformationTok}[1]{\ \ textcolor[rgb]{0.69,0.50,0.00}{#1}}
86- \\ newcommand{\\ KeywordTok}[1]{\\ textcolor[rgb]{0.12,0.11,0.11}{\ \ textbf{#1}}}
87- \\ newcommand{\\ NormalTok}[1]{\ \ textcolor[rgb]{0.12,0.11,0.11}{#1}}
88- \\ newcommand{\\ OperatorTok}[1]{\ \ textcolor[rgb]{0.12,0.11,0.11}{#1}}
89- \\ newcommand{\\ OtherTok}[1]{\ \ textcolor[rgb]{0.00,0.43,0.16}{#1}}
90- \\ newcommand{\\ PreprocessorTok}[1]{\ \ textcolor[rgb]{0.00,0.43,0.16}{#1}}
91- \\ newcommand{\\ RegionMarkerTok}[1]{\\ textcolor[rgb]{0.00,0.34,0.68}{\ \ colorbox[rgb]{0.88,0.91,0.97}{#1}}}
92- \\ newcommand{\\ SpecialCharTok}[1]{\ \ textcolor[rgb]{0.24,0.68,0.91}{#1}}
93- \\ newcommand{\\ SpecialStringTok}[1]{\ \ textcolor[rgb]{1.00,0.33,0.00}{#1}}
94- \\ newcommand{\\ StringTok}[1]{\ \ textcolor[rgb]{0.75,0.01,0.01}{#1}}
95- \\ newcommand{\\ VariableTok}[1]{\ \ textcolor[rgb]{0.00,0.34,0.68}{#1}}
96- \\ newcommand{\\ VerbatimStringTok}[1]{\ \ textcolor[rgb]{0.75,0.01,0.01}{#1}}
97- \\ newcommand{\\ WarningTok}[1]{\ \ textcolor[rgb]{0.75,0.01,0.01}{#1}}
98- \\ title{#{ testpath / " Test.java" } }
54+ JAVA
55+ expected_out = <<~'LATEX'
56+ \documentclass{article}
57+ \usepackage[margin=1in]{geometry}
58+ \usepackage{color}
59+ \usepackage{fancyvrb}
60+ \newcommand{\VerbBar}{|}
61+ \newcommand{\VERB}{\Verb[commandchars=\\\{ \}]}
62+ \DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{ \}}
63+ % Add ',fontsize=\small' for more characters per line
64+ \usepackage{framed}
65+ \definecolor{shadecolor}{RGB}{255,255,255}
66+ \newenvironment{Shaded}{\begin{snugshade}}{\end{snugshade}}
67+ \newcommand{\AlertTok}[1]{\textcolor[rgb]{0.75,0.01,0.01}{\textbf{\colorbox[rgb]{0.97,0.90,0.90}{#1}}}}
68+ \newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.79,0.38,0.79}{#1}}
69+ \newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.00,0.34,0.68}{#1}}
70+ \newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.69,0.50,0.00}{#1}}
71+ \newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.39,0.29,0.61}{\textbf{#1}}}
72+ \newcommand{\CharTok}[1]{\textcolor[rgb]{0.57,0.30,0.62}{#1}}
73+ \newcommand{\CommentTok}[1]{\textcolor[rgb]{0.54,0.53,0.53}{#1}}
74+ \newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.00,0.58,1.00}{#1}}
75+ \newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.67,0.33,0.00}{#1}}
76+ \newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.12,0.11,0.11}{\textbf{#1}}}
77+ \newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.00,0.34,0.68}{#1}}
78+ \newcommand{\DecValTok}[1]{\textcolor[rgb]{0.69,0.50,0.00}{#1}}
79+ \newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.38,0.47,0.50}{#1}}
80+ \newcommand{\ErrorTok}[1]{\textcolor[rgb]{0.75,0.01,0.01}{\underline{#1}}}
81+ \newcommand{\ExtensionTok}[1]{\textcolor[rgb]{0.00,0.58,1.00}{\textbf{#1}}}
82+ \newcommand{\FloatTok}[1]{\textcolor[rgb]{0.69,0.50,0.00}{#1}}
83+ \newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.39,0.29,0.61}{#1}}
84+ \newcommand{\ImportTok}[1]{\textcolor[rgb]{1.00,0.33,0.00}{#1}}
85+ \newcommand{\InformationTok}[1]{\textcolor[rgb]{0.69,0.50,0.00}{#1}}
86+ \newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.12,0.11,0.11}{\textbf{#1}}}
87+ \newcommand{\NormalTok}[1]{\textcolor[rgb]{0.12,0.11,0.11}{#1}}
88+ \newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.12,0.11,0.11}{#1}}
89+ \newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.43,0.16}{#1}}
90+ \newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.00,0.43,0.16}{#1}}
91+ \newcommand{\RegionMarkerTok}[1]{\textcolor[rgb]{0.00,0.34,0.68}{\colorbox[rgb]{0.88,0.91,0.97}{#1}}}
92+ \newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.24,0.68,0.91}{#1}}
93+ \newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{1.00,0.33,0.00}{#1}}
94+ \newcommand{\StringTok}[1]{\textcolor[rgb]{0.75,0.01,0.01}{#1}}
95+ \newcommand{\VariableTok}[1]{\textcolor[rgb]{0.00,0.34,0.68}{#1}}
96+ \newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.75,0.01,0.01}{#1}}
97+ \newcommand{\WarningTok}[1]{\textcolor[rgb]{0.75,0.01,0.01}{#1}}
98+ \title{Test.java}
9999
100- \\ begin{document}
101- \\ maketitle
102- \\ begin{Shaded}
103- \\ begin{Highlighting}[]
104- \\ KeywordTok{import} \\ ImportTok{java}\\ OperatorTok{.}\\ ImportTok{util}\ \ OperatorTok{.*;}
100+ \begin{document}
101+ \maketitle
102+ \begin{Shaded}
103+ \begin{Highlighting}[]
104+ \KeywordTok{import} \ImportTok{java}\OperatorTok{.}\ImportTok{util}\OperatorTok{.*;}
105105
106- \\ KeywordTok{public} \\ KeywordTok{class}\\ NormalTok{ Test }\\ OperatorTok{\ \ {}
107- \\ KeywordTok{public} \\ DataTypeTok{static} \\ DataTypeTok{void} \\ FunctionTok{main}\\ OperatorTok{(}\\ BuiltInTok{String}\\ OperatorTok{[]}\\ NormalTok{ args}\\ OperatorTok{)} \\ KeywordTok{throws} \\ BuiltInTok{Exception} \\ OperatorTok{\ \ {}
108- \\ DataTypeTok{final} \\ BuiltInTok{ArrayDeque}\\ OperatorTok{\\ textless{}}\\ BuiltInTok{String}\\ OperatorTok{\\ textgreater{}}\\ NormalTok{ argDeque }\\ OperatorTok{=} \\ KeywordTok{new} \\ BuiltInTok{ArrayDeque}\\ OperatorTok{\\ textless{}\\ textgreater{}(}\\ BuiltInTok{Arrays}\\ OperatorTok{.}\\ FunctionTok{asList}\\ OperatorTok{(}\\ NormalTok{args}\ \ OperatorTok{));}
109- \\ ControlFlowTok{for} \\ OperatorTok{(}\\ NormalTok{arg in argDeque}\\ OperatorTok{)} \\ OperatorTok{\ \ {}
110- \\ BuiltInTok{System}\\ OperatorTok{.}\\ FunctionTok{out}\\ OperatorTok{.}\\ FunctionTok{println}\\ OperatorTok{(}\\ NormalTok{arg}\ \ OperatorTok{);}
111- \\ ControlFlowTok{if} \\ OperatorTok{(}\\ NormalTok{arg}\\ OperatorTok{.}\\ FunctionTok{equals}\\ OperatorTok{(}\\ StringTok{"foo"}\ \ OperatorTok{))}
112- \\ ControlFlowTok{throw} \\ KeywordTok{new} \\ BuiltInTok{NoSuchElementException}\ \ OperatorTok{();}
113- \\ OperatorTok{\ \ }}
114- \\ OperatorTok{\ \ }}
115- \\ OperatorTok{\ \ }}
116- \\ end{Highlighting}
117- \\ end{Shaded}
106+ \KeywordTok{public} \KeywordTok{class}\NormalTok{ Test }\OperatorTok{\{}
107+ \KeywordTok{public} \DataTypeTok{static} \DataTypeTok{void} \FunctionTok{main}\OperatorTok{(}\BuiltInTok{String}\OperatorTok{[]}\NormalTok{ args}\OperatorTok{)} \KeywordTok{throws} \BuiltInTok{Exception} \OperatorTok{\{}
108+ \DataTypeTok{final} \BuiltInTok{ArrayDeque}\OperatorTok{\textless{}}\BuiltInTok{String}\OperatorTok{\textgreater{}}\NormalTok{ argDeque }\OperatorTok{=} \KeywordTok{new} \BuiltInTok{ArrayDeque}\OperatorTok{\textless{}\textgreater{}(}\BuiltInTok{Arrays}\OperatorTok{.}\FunctionTok{asList}\OperatorTok{(}\NormalTok{args}\OperatorTok{));}
109+ \ControlFlowTok{for} \OperatorTok{(}\NormalTok{arg in argDeque}\OperatorTok{)} \OperatorTok{\{}
110+ \BuiltInTok{System}\OperatorTok{.}\FunctionTok{out}\OperatorTok{.}\FunctionTok{println}\OperatorTok{(}\NormalTok{arg}\OperatorTok{);}
111+ \ControlFlowTok{if} \OperatorTok{(}\NormalTok{arg}\OperatorTok{.}\FunctionTok{equals}\OperatorTok{(}\StringTok{"foo"}\OperatorTok{))}
112+ \ControlFlowTok{throw} \KeywordTok{new} \BuiltInTok{NoSuchElementException}\OperatorTok{();}
113+ \OperatorTok{\}}
114+ \OperatorTok{\}}
115+ \OperatorTok{\}}
116+ \end{Highlighting}
117+ \end{Shaded}
118118
119- \\ end{document}
120- EOF
121- actual_out = shell_output ( " #{ bin / "skylighting" } -f latex #{ testpath / "Test.java" } " )
122- assert_equal actual_out . strip , expected_out . strip
119+ \end{document}
120+ LATEX
121+
122+ assert_equal expected_out . strip , shell_output ( " #{ bin } /skylighting -f latex Test.java" ) . strip
123123 end
124124end
0 commit comments