5
5
using QRCoderTests . Helpers . XUnitExtenstions ;
6
6
using System . IO ;
7
7
using System . Security . Cryptography ;
8
+ using QRCoderTests . Helpers ;
8
9
#if ! NETCOREAPP1_1
9
10
using System . Drawing ;
10
11
#endif
@@ -27,6 +28,19 @@ private string GetAssemblyPath()
27
28
#endif
28
29
}
29
30
31
+ [ Fact ]
32
+ [ Category ( "QRRenderer/SvgQRCode" ) ]
33
+ public void can_render_svg_qrcode_simple ( )
34
+ {
35
+ //Create QR code
36
+ var gen = new QRCodeGenerator ( ) ;
37
+ var data = gen . CreateQrCode ( "This is a quick test! 123#?" , QRCodeGenerator . ECCLevel . L ) ;
38
+ var svg = new SvgQRCode ( data ) . GetGraphic ( 5 ) ;
39
+
40
+ var result = HelperFunctions . StringToHash ( svg ) ;
41
+ result . ShouldBe ( "5c251275a435a9aed7e591eb9c2e9949" ) ;
42
+ }
43
+
30
44
[ Fact ]
31
45
[ Category ( "QRRenderer/SvgQRCode" ) ]
32
46
public void can_render_svg_qrcode ( )
@@ -36,11 +50,21 @@ public void can_render_svg_qrcode()
36
50
var data = gen . CreateQrCode ( "This is a quick test! 123#?" , QRCodeGenerator . ECCLevel . H ) ;
37
51
var svg = new SvgQRCode ( data ) . GetGraphic ( 10 , Color . Red , Color . White ) ;
38
52
39
- var md5 = new MD5CryptoServiceProvider ( ) ;
40
- var hash = md5 . ComputeHash ( System . Text . Encoding . UTF8 . GetBytes ( svg ) ) ;
41
- var result = BitConverter . ToString ( hash ) . Replace ( "-" , "" ) . ToLower ( ) ;
53
+ var result = HelperFunctions . StringToHash ( svg ) ;
54
+ result . ShouldBe ( "1baa8c6ac3bd8c1eabcd2c5422dd9f78" ) ;
55
+ }
56
+
57
+ [ Fact ]
58
+ [ Category ( "QRRenderer/SvgQRCode" ) ]
59
+ public void can_render_svg_qrcode_viewbox_mode ( )
60
+ {
61
+ //Create QR code
62
+ var gen = new QRCodeGenerator ( ) ;
63
+ var data = gen . CreateQrCode ( "This is a quick test! 123#?" , QRCodeGenerator . ECCLevel . H ) ;
64
+ var svg = new SvgQRCode ( data ) . GetGraphic ( new Size ( 128 , 128 ) ) ;
42
65
43
- result . ShouldBe ( "0ad8bc75675d04ba0caff51c7a89992c" ) ;
66
+ var result = HelperFunctions . StringToHash ( svg ) ;
67
+ result . ShouldBe ( "ec9a13c4484d246e3e2e0574958845c8" ) ;
44
68
}
45
69
46
70
[ Fact ]
@@ -52,11 +76,8 @@ public void can_render_svg_qrcode_without_quietzones()
52
76
var data = gen . CreateQrCode ( "This is a quick test! 123#?" , QRCodeGenerator . ECCLevel . H ) ;
53
77
var svg = new SvgQRCode ( data ) . GetGraphic ( 10 , Color . Red , Color . White , false ) ;
54
78
55
- var md5 = new MD5CryptoServiceProvider ( ) ;
56
- var hash = md5 . ComputeHash ( System . Text . Encoding . UTF8 . GetBytes ( svg ) ) ;
57
- var result = BitConverter . ToString ( hash ) . Replace ( "-" , "" ) . ToLower ( ) ;
58
-
59
- result . ShouldBe ( "24392f47d4c1c2c5097bd6b3f8eefccc" ) ;
79
+ var result = HelperFunctions . StringToHash ( svg ) ;
80
+ result . ShouldBe ( "2a582427d86b51504c08ebcbcf0472bd" ) ;
60
81
}
61
82
62
83
[ Fact ]
@@ -72,12 +93,9 @@ public void can_render_svg_qrcode_with_png_logo()
72
93
var logoObj = new SvgQRCode . SvgLogo ( logoBitmap , 15 ) ;
73
94
74
95
var svg = new SvgQRCode ( data ) . GetGraphic ( 10 , Color . DarkGray , Color . White , logo : logoObj ) ;
75
- File . WriteAllText ( @"C:\Temp\qr_png.svg" , svg ) ;
76
- var md5 = new MD5CryptoServiceProvider ( ) ;
77
- var hash = md5 . ComputeHash ( System . Text . Encoding . UTF8 . GetBytes ( svg ) ) ;
78
- var result = BitConverter . ToString ( hash ) . Replace ( "-" , "" ) . ToLower ( ) ;
79
96
80
- result . ShouldBe ( "4ff45872787f321524cc4d071239c25e" ) ;
97
+ var result = HelperFunctions . StringToHash ( svg ) ;
98
+ result . ShouldBe ( "78e02e8ba415f15817d5ed88c4afca31" ) ;
81
99
}
82
100
83
101
[ Fact ]
@@ -93,12 +111,29 @@ public void can_render_svg_qrcode_with_svg_logo()
93
111
var logoObj = new SvgQRCode . SvgLogo ( logoSvg , 30 ) ;
94
112
95
113
var svg = new SvgQRCode ( data ) . GetGraphic ( 10 , Color . DarkGray , Color . White , logo : logoObj ) ;
96
- File . WriteAllText ( @"C:\Temp\qr_svg.svg" , svg ) ;
97
- var md5 = new MD5CryptoServiceProvider ( ) ;
98
- var hash = md5 . ComputeHash ( System . Text . Encoding . UTF8 . GetBytes ( svg ) ) ;
99
- var result = BitConverter . ToString ( hash ) . Replace ( "-" , "" ) . ToLower ( ) ;
100
114
101
- result . ShouldBe ( "b4ded3964e2e640b6b6c74d1c89d71fa" ) ;
115
+ var result = HelperFunctions . StringToHash ( svg ) ;
116
+ result . ShouldBe ( "71f461136fdbe2ab85902d23ad2d7eb8" ) ;
117
+ }
118
+
119
+ [ Fact ]
120
+ [ Category ( "QRRenderer/SvgQRCode" ) ]
121
+ public void can_instantate_parameterless ( )
122
+ {
123
+ var svgCode = new SvgQRCode ( ) ;
124
+ svgCode . ShouldNotBeNull ( ) ;
125
+ svgCode . ShouldBeOfType < SvgQRCode > ( ) ;
126
+ }
127
+
128
+ [ Fact ]
129
+ [ Category ( "QRRenderer/SvgQRCode" ) ]
130
+ public void can_render_svg_qrcode_from_helper ( )
131
+ {
132
+ //Create QR code
133
+ var svg = SvgQRCodeHelper . GetQRCode ( "A" , 2 , "#000000" , "#ffffff" , QRCodeGenerator . ECCLevel . Q ) ;
134
+
135
+ var result = HelperFunctions . StringToHash ( svg ) ;
136
+ result . ShouldBe ( "f5ec37aa9fb207e3701cc0d86c4a357d" ) ;
102
137
}
103
138
#endif
104
139
}
0 commit comments