1- using System ;
2- using System . Linq ;
3- using HandlebarsDotNet . Compiler ;
1+ using System . Linq ;
42using Xunit ;
53
64namespace HandlebarsDotNet . Test
@@ -14,10 +12,37 @@ public NumericLiteralTests()
1412 var arr = args . AsEnumerable ( ) . Select ( a => ( object ) int . Parse ( a . ToString ( ) ) ) ;
1513 writer . Write ( arr . Aggregate ( 0 , ( a , i ) => a + ( int ) i ) ) ;
1614 } ) ;
15+
16+ Handlebars . RegisterHelper ( "longAdd" , ( writer , context , args ) =>
17+ {
18+ var arr = args . AsEnumerable ( ) . Select ( a => long . Parse ( a . ToString ( ) ) ) ;
19+ var sum = arr . Sum ( ) ;
20+ writer . Write ( sum ) ;
21+ } ) ;
22+ }
23+
24+ [ Theory ]
25+ [ InlineData ( "{{longAdd 1000000000 9999999999}}" ) ]
26+ [ InlineData ( "{{longAdd 1000000000 9999999999}}" ) ]
27+ [ InlineData ( "{{longAdd 1000000000 9999999999 }}" ) ]
28+ [ InlineData ( "{{longAdd 1000000000 9999999999}}" ) ]
29+ [ InlineData ( "{{longAdd 1000000000 9999999999}}" ) ]
30+ [ InlineData ( "{{longAdd 1000000000 \" 9999999999\" }}" ) ]
31+ [ InlineData ( "{{longAdd 1000000000 \" 9999999999\" }}" ) ]
32+ [ InlineData ( "{{longAdd 1000000000 \" 9999999999\" }}" ) ]
33+ [ InlineData ( "{{longAdd 1000000000 \" 9999999999\" }}" ) ]
34+ [ InlineData ( "{{longAdd \" 1000000000\" 9999999999}}" ) ]
35+ [ InlineData ( "{{longAdd \" 1000000000\" \" 9999999999\" }}" ) ]
36+ public void NumericLiteralLongTests ( string source )
37+ {
38+ var template = Handlebars . Compile ( source ) ;
39+ var data = new { } ;
40+ var result = template ( data ) ;
41+ Assert . Equal ( "10999999999" , result ) ;
1742 }
1843
1944 [ Fact ]
20- public void NumericLiteralTest1 ( )
45+ public void NumericLiteralIntegerTest1 ( )
2146 {
2247 var source = "{{numericLiteralAdd 3 4}}" ;
2348 var template = Handlebars . Compile ( source ) ;
@@ -27,7 +52,7 @@ public void NumericLiteralTest1()
2752 }
2853
2954 [ Fact ]
30- public void NumericLiteralTest2 ( )
55+ public void NumericLiteralIntegerTest2 ( )
3156 {
3257 var source = "{{numericLiteralAdd 3 4}}" ;
3358 var template = Handlebars . Compile ( source ) ;
@@ -37,7 +62,7 @@ public void NumericLiteralTest2()
3762 }
3863
3964 [ Fact ]
40- public void NumericLiteralTest3 ( )
65+ public void NumericLiteralIntegerTest3 ( )
4166 {
4267 var source = "{{numericLiteralAdd 3 4 }}" ;
4368 var template = Handlebars . Compile ( source ) ;
@@ -47,7 +72,7 @@ public void NumericLiteralTest3()
4772 }
4873
4974 [ Fact ]
50- public void NumericLiteralTest4 ( )
75+ public void NumericLiteralIntegerTest4 ( )
5176 {
5277 var source = "{{numericLiteralAdd 3 4 }}" ;
5378 var template = Handlebars . Compile ( source ) ;
@@ -57,7 +82,7 @@ public void NumericLiteralTest4()
5782 }
5883
5984 [ Fact ]
60- public void NumericLiteralTest5 ( )
85+ public void NumericLiteralIntegerTest5 ( )
6186 {
6287 var source = "{{numericLiteralAdd 3 4 }}" ;
6388 var template = Handlebars . Compile ( source ) ;
@@ -67,7 +92,7 @@ public void NumericLiteralTest5()
6792 }
6893
6994 [ Fact ]
70- public void NumericLiteralTest6 ( )
95+ public void NumericLiteralIntegerTest6 ( )
7196 {
7297 var source = "{{numericLiteralAdd 3 \" 4\" }}" ;
7398 var template = Handlebars . Compile ( source ) ;
@@ -77,7 +102,7 @@ public void NumericLiteralTest6()
77102 }
78103
79104 [ Fact ]
80- public void NumericLiteralTest7 ( )
105+ public void NumericLiteralIntegerTest7 ( )
81106 {
82107 var source = "{{numericLiteralAdd 3 \" 4\" }}" ;
83108 var template = Handlebars . Compile ( source ) ;
@@ -87,7 +112,7 @@ public void NumericLiteralTest7()
87112 }
88113
89114 [ Fact ]
90- public void NumericLiteralTest8 ( )
115+ public void NumericLiteralIntegerTest8 ( )
91116 {
92117 var source = "{{numericLiteralAdd 3 \" 4\" }}" ;
93118 var template = Handlebars . Compile ( source ) ;
@@ -97,7 +122,7 @@ public void NumericLiteralTest8()
97122 }
98123
99124 [ Fact ]
100- public void NumericLiteralTest9 ( )
125+ public void NumericLiteralIntegerTest9 ( )
101126 {
102127 var source = "{{numericLiteralAdd 3 \" 4\" }}" ;
103128 var template = Handlebars . Compile ( source ) ;
@@ -107,7 +132,7 @@ public void NumericLiteralTest9()
107132 }
108133
109134 [ Fact ]
110- public void NumericLiteralTest10 ( )
135+ public void NumericLiteralIntegerTest10 ( )
111136 {
112137 var source = "{{numericLiteralAdd \" 3\" 4}}" ;
113138 var template = Handlebars . Compile ( source ) ;
@@ -117,7 +142,7 @@ public void NumericLiteralTest10()
117142 }
118143
119144 [ Fact ]
120- public void NumericLiteralTest11 ( )
145+ public void NumericLiteralIntegerTest11 ( )
121146 {
122147 var source = "{{numericLiteralAdd \" 3\" 4 }}" ;
123148 var template = Handlebars . Compile ( source ) ;
@@ -126,5 +151,4 @@ public void NumericLiteralTest11()
126151 Assert . Equal ( "7" , result ) ;
127152 }
128153 }
129- }
130-
154+ }
0 commit comments