@@ -60,6 +60,106 @@ describe('condition', () => {
60
60
} ) ;
61
61
} ) ;
62
62
63
+ test ( 'condition length is 10n + 1 in Fn.conditionAnd' , ( ) => {
64
+ // GIVEN
65
+ const stack = new cdk . Stack ( ) ;
66
+ const expression = cdk . Fn . conditionAnd (
67
+ cdk . Fn . conditionEquals ( 'a' , '1' ) ,
68
+ cdk . Fn . conditionEquals ( 'b' , '2' ) ,
69
+ cdk . Fn . conditionEquals ( 'c' , '3' ) ,
70
+ cdk . Fn . conditionEquals ( 'd' , '4' ) ,
71
+ cdk . Fn . conditionEquals ( 'e' , '5' ) ,
72
+ cdk . Fn . conditionEquals ( 'f' , '6' ) ,
73
+ cdk . Fn . conditionEquals ( 'g' , '7' ) ,
74
+ cdk . Fn . conditionEquals ( 'h' , '8' ) ,
75
+ cdk . Fn . conditionEquals ( 'i' , '9' ) ,
76
+ cdk . Fn . conditionEquals ( 'j' , '10' ) ,
77
+ cdk . Fn . conditionEquals ( 'k' , '11' ) ,
78
+ ) ;
79
+
80
+ // WHEN
81
+ new cdk . CfnCondition ( stack , 'Condition' , { expression } ) ;
82
+
83
+ // THEN
84
+ expect ( toCloudFormation ( stack ) ) . toEqual ( {
85
+ Conditions : {
86
+ Condition : {
87
+ 'Fn::And' : [
88
+ {
89
+ 'Fn::And' : [
90
+ { 'Fn::Equals' : [ 'a' , '1' ] } ,
91
+ { 'Fn::Equals' : [ 'b' , '2' ] } ,
92
+ { 'Fn::Equals' : [ 'c' , '3' ] } ,
93
+ { 'Fn::Equals' : [ 'd' , '4' ] } ,
94
+ { 'Fn::Equals' : [ 'e' , '5' ] } ,
95
+ { 'Fn::Equals' : [ 'f' , '6' ] } ,
96
+ { 'Fn::Equals' : [ 'g' , '7' ] } ,
97
+ { 'Fn::Equals' : [ 'h' , '8' ] } ,
98
+ { 'Fn::Equals' : [ 'i' , '9' ] } ,
99
+ { 'Fn::Equals' : [ 'j' , '10' ] } ,
100
+ ] ,
101
+ } ,
102
+ {
103
+ 'Fn::Equals' : [ 'k' , '11' ] ,
104
+ } ,
105
+ ] ,
106
+ } ,
107
+ } ,
108
+ } ) ;
109
+ } ) ;
110
+
111
+ test ( 'condition length is more than 10 in Fn.conditionAnd' , ( ) => {
112
+ // GIVEN
113
+ const stack = new cdk . Stack ( ) ;
114
+ const expression = cdk . Fn . conditionAnd (
115
+ cdk . Fn . conditionEquals ( 'a' , '1' ) ,
116
+ cdk . Fn . conditionEquals ( 'b' , '2' ) ,
117
+ cdk . Fn . conditionEquals ( 'c' , '3' ) ,
118
+ cdk . Fn . conditionEquals ( 'd' , '4' ) ,
119
+ cdk . Fn . conditionEquals ( 'e' , '5' ) ,
120
+ cdk . Fn . conditionEquals ( 'f' , '6' ) ,
121
+ cdk . Fn . conditionEquals ( 'g' , '7' ) ,
122
+ cdk . Fn . conditionEquals ( 'h' , '8' ) ,
123
+ cdk . Fn . conditionEquals ( 'i' , '9' ) ,
124
+ cdk . Fn . conditionEquals ( 'j' , '10' ) ,
125
+ cdk . Fn . conditionEquals ( 'k' , '11' ) ,
126
+ cdk . Fn . conditionEquals ( 'l' , '12' ) ,
127
+ ) ;
128
+
129
+ // WHEN
130
+ new cdk . CfnCondition ( stack , 'Condition' , { expression } ) ;
131
+
132
+ // THEN
133
+ expect ( toCloudFormation ( stack ) ) . toEqual ( {
134
+ Conditions : {
135
+ Condition : {
136
+ 'Fn::And' : [
137
+ {
138
+ 'Fn::And' : [
139
+ { 'Fn::Equals' : [ 'a' , '1' ] } ,
140
+ { 'Fn::Equals' : [ 'b' , '2' ] } ,
141
+ { 'Fn::Equals' : [ 'c' , '3' ] } ,
142
+ { 'Fn::Equals' : [ 'd' , '4' ] } ,
143
+ { 'Fn::Equals' : [ 'e' , '5' ] } ,
144
+ { 'Fn::Equals' : [ 'f' , '6' ] } ,
145
+ { 'Fn::Equals' : [ 'g' , '7' ] } ,
146
+ { 'Fn::Equals' : [ 'h' , '8' ] } ,
147
+ { 'Fn::Equals' : [ 'i' , '9' ] } ,
148
+ { 'Fn::Equals' : [ 'j' , '10' ] } ,
149
+ ] ,
150
+ } ,
151
+ {
152
+ 'Fn::And' : [
153
+ { 'Fn::Equals' : [ 'k' , '11' ] } ,
154
+ { 'Fn::Equals' : [ 'l' , '12' ] } ,
155
+ ] ,
156
+ } ,
157
+ ] ,
158
+ } ,
159
+ } ,
160
+ } ) ;
161
+ } ) ;
162
+
63
163
test ( 'condition length is 10n + 1 in Fn.conditionOr' , ( ) => {
64
164
// GIVEN
65
165
const stack = new cdk . Stack ( ) ;
0 commit comments