| # |
| # ncad.test -- |
| # nca-073-9 |
| # |
| # Copyright (c) 1996-2000 by Netcetera AG. |
| # Copyright (c) 2001 by Apache Software Foundation. |
| # All rights reserved. |
| # |
| # See the file "license.terms" for information on usage and |
| # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. |
| # |
| # @(#) $Id$ |
| # |
| |
| #------------------------------------------------------------------------------ |
| # tcltest package |
| #------------------------------------------------------------------------------ |
| |
| if {[lsearch [namespace children] ::tcltest] == -1} { |
| package require tcltest |
| namespace import ::tcltest::* |
| } |
| |
| # ----------------------------------------------------------------------------- |
| # errors |
| # ----------------------------------------------------------------------------- |
| test ncad-1.1 {wrong num args} { |
| catch {web::encryptd} msg |
| set msg |
| } {wrong # args: should be "web::encryptd msg"} |
| |
| test ncad-1.2 {missing string} { |
| catch {web::decryptd} msg |
| set msg |
| } {wrong # args: should be "web::decryptd msg"} |
| |
| test ncad-1.3 {too many args} { |
| catch {web::decryptd "a" "b" "c"} msg |
| set msg |
| } {wrong # args: should be "web::decryptd msg"} |
| |
| test ncad-1.4 {unknown type} { |
| set res "" |
| set tmp [catch {set res [web::decryptd "XZnca"]} msg] |
| lappend res $tmp $msg |
| set res |
| ## 3 is TCL_BREAK |
| ## 4 is TCL_CONTINUE --> unknown type |
| } {4 {}} |
| |
| # ----------------------------------------------------------------------------- |
| # normal operation |
| # ----------------------------------------------------------------------------- |
| test ncad-2.1 {set key} { |
| |
| web::cryptdkey |
| set res [web::encryptd "Hello éàè!"] |
| web::cryptdkey 1234567890 |
| lappend res [web::encryptd "Hello éàè!"] |
| web::cryptdkey |
| lappend res [web::encryptd "Hello éàè!"] |
| set res |
| |
| } {XDIVAhkgYnDaThxIKkSwhFLko9Z XD4SyV6uJBYHoare6wH8mUow1GS XDIVAhkgYnDaThxIKkSwhFLko9Z} |
| |
| test ncad-2.2 {normal operation} { |
| |
| web::encryptd "üöä dsds aaaa ääé GHGHGH" |
| |
| } {XDz40BSuEkgYeZJDDTIdbjoPjBCwu2CqjGef2jSNUfClk0lrQzPW} |
| |
| |
| test ncad-2.3 {empty string} { |
| |
| web::encryptd "" |
| |
| } {} |
| |
| test ncad-3.4 {empty string} { |
| |
| catch {web::decryptd ""} |
| |
| } {4} |
| |
| test ncad-2.5 {symmetry} { |
| |
| set msg "This is a international message äüö è \uFF01 \uFFF1" |
| string compare $msg [web::decryptd [web::encryptd $msg]] |
| |
| } {0} |
| |
| test ncad-2.6 {encryptd long string} { |
| |
| set tmp "cmd=test id=0 t=941012649 " |
| append tmp [string repeat "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüéàèÖÄÜÉÀÈ@@#\"*%&+<>-_.,;" 13] |
| web::encryptd $tmp |
| |
| } {XDZuRDLA6ByKztGaqIUXOwKYQNShjVmulMJC9xJ5sA52R7KsqmlK9bP6HAQckLg9BoVEmcyvqIUpKzRaHlfc2HfoZfovAhOpHlxalsrwrRiATLH9FE0qE7LKJ4b8tMP52w7YQazn9bJMT0D4jGhCM8HfcwqUjZrronssci5K6Akv4kAjSL1OJ1gWjs59lnqOZmfpWY0QtwFBTeJgQ6ULwfxqGapFGmKK6UX0y6GunKjQnUD8HOcVCd5dpScpoton4WpdZRX1nd1YmlkZ41lZaNJXgLCsFDYUCBIn01jHiHRKT2ZjFeX860chWTz6HUWqg7WS8xw5F6VhqArUBjpLsuZGPpm4mSeIIolVni2lhMTBwzOIWOOSynZxzomu4mfCaNkRAUdkynUvNQcFPGFKFIXPhqkjocMQnq2B9SxqaMNKJYhQH4RaVHbL6MFAXBMsoifCzPBqzq4E6RkBBmR8eSmha0ATwZz6lDcCcqEM7CMwBvcqJalbm0zxtBRBVE9AHzkrGANLLPv9vJL64CMZSzNoBsbz6dq0fDe1B2BYVkeBQEWdXgodNVs2EY6FM0OvcT7SL1eSdkvxXXY4DO1vaa0Opq71HQ3O6k6vUBRIDAPopKsreVYEC7IjbLkYvVFs0PeO4e7OZTesquq8OXraVSZH2e3xAmmqMeOCDJFUdA1m96RI0szSfnSAe2C7Gkh7bypOKCmpcX16FQQiWvICqdahbCZjq8nO3Zd7ccFu1PKaGubssNK3LFamiahCyoCJXWWT0XIy1hev6XPDcQmSCpxl0kQwPgrGRfdLHZp2KTNfkZJFckw42GlXH1262RdB2rEIdfxfOcTMhJSwqid8tH1elamuk36HFoR6aMeXOmuBcDbgJj6eZQovgkuTjwd4XbnQa1051CTvEFB390mc0BPONQxUFKN30DOph0PDZtdGOGTdI9ay8r0SPdXzEvDICSXWJGdp1GEdiKgBqfHaR5gSbgppNLKov4fXwg4Qpo3v9GrAqSmZ6lzohcMOPtRPC26FDLWkdAYZwdNt29NP6XzPbEOtsxs9QsBbXPVI4uIyCBArOvgpqwsQZ7yby0LBtgn9MS7wNv8s1XUpjMBicS01mf7AHQOeQn80cNINFovpuAnMzTVxQOzch3wAoQ5Kpxucun8JGbiQCpE8LXXb8YKikigoyYRyMRoVEqz6KlStLhtWggfkfarJc60INVFCZZlyw9eL5ijlhDM4ycz5QN53kwlcvVc4wmf8rDvWbOYeSjktbuV8aKaRGcixMvHKvJeA3slVGJT1HTB5Yp1Rcqo62KbwGzu4Bted2w9PPTzVHfh42AKqjGeEbI1HQXlGvmDu4oxHEXRs7j1zt7CI29Zam31Lqi2V8vVmbDmWdgnlHDAchoNDaIQWtq3t5Aj0eEWHmPbOF8qqMT1ylaemlMXyrBaOkeO1AAP9pY1ITFQecyuCStDwrQXF0vKERCCGmwi68ZV3C3uYvpA5nZgxA9ob2hrlxIFcW4J6ymIH0rHINUQeOj2sSB47xUZRGGrOzRRrIEnORlcoQ0dqJPrCUMhro8GRD3S9NMLc9gSjmSPp0RJzOCYWGt17M6muNepXiwulhzFKeNIv08s8VWinl3YEyWXSOs1qhVvqBAslsK7wDlqG6ulCtDtSVGOSETSZFWrEeMaPCWanAh12bxGkbOFxDt3aq1jc6q2fqrqvqLc4O0wouugWuxBA9U1YJgjPMBMnfHgUqJ3goYnXDPqXhktEBMGm1cunhotxhvITiom8dQAtCfwy} |
| |
| test ncad-2.7 {decryptd long string} { |
| |
| web::decryptd XDZuRDLA6ByKztGaqIUXOwKYQNShjVmulMJC9xJ5sA52R7KsqmlK9bP6HAQckLg9BoVEmcyvqIUpKzRaHlfc2HfoZfovAhOpHlxalsrwrRiATLH9FE0qE7LKJ4b8tMP52w7YQazn9bJMT0D4jGhCM8HfcwqUjZrronssci5K6Akv4kAjSL1OJ1gWjs59lnqOZmfpWY0QtwFBTeJgQ6ULwfxqGapFGmKK6UX0y6GunKjQnUD8HOcVCd5dpScpoton4WpdZRX1nd1YmlkZ41lZaNJXgLCsFDYUCBIn01jHiHRKT2ZjFeX860chWTz6HUWqg7WS8xw5F6VhqArUBjpLsuZGPpm4mSeIIolVni2lhMTBwzOIWOOSynZxzomu4mfCaNkRAUdkynUvNQcFPGFKFIXPhqkjocMQnq2B9SxqaMNKJYhQH4RaVHbL6MFAXBMsoifCzPBqzq4E6RkBBmR8eSmha0ATwZz6lDcCcqEM7CMwBvcqJalbm0zxtBRBVE9AHzkrGANLLPv9vJL64CMZSzNoBsbz6dq0fDe1B2BYVkeBQEWdXgodNVs2EY6FM0OvcT7SL1eSdkvxXXY4DO1vaa0Opq71HQ3O6k6vUBRIDAPopKsreVYEC7IjbLkYvVFs0PeO4e7OZTesquq8OXraVSZH2e3xAmmqMeOCDJFUdA1m96RI0szSfnSAe2C7Gkh7bypOKCmpcX16FQQiWvICqdahbCZjq8nO3Zd7ccFu1PKaGubssNK3LFamiahCyoCJXWWT0XIy1hev6XPDcQmSCpxl0kQwPgrGRfdLHZp2KTNfkZJFckw42GlXH1262RdB2rEIdfxfOcTMhJSwqid8tH1elamuk36HFoR6aMeXOmuBcDbgJj6eZQovgkuTjwd4XbnQa1051CTvEFB390mc0BPONQxUFKN30DOph0PDZtdGOGTdI9ay8r0SPdXzEvDICSXWJGdp1GEdiKgBqfHaR5gSbgppNLKov4fXwg4Qpo3v9GrAqSmZ6lzohcMOPtRPC26FDLWkdAYZwdNt29NP6XzPbEOtsxs9QsBbXPVI4uIyCBArOvgpqwsQZ7yby0LBtgn9MS7wNv8s1XUpjMBicS01mf7AHQOeQn80cNINFovpuAnMzTVxQOzch3wAoQ5Kpxucun8JGbiQCpE8LXXb8YKikigoyYRyMRoVEqz6KlStLhtWggfkfarJc60INVFCZZlyw9eL5ijlhDM4ycz5QN53kwlcvVc4wmf8rDvWbOYeSjktbuV8aKaRGcixMvHKvJeA3slVGJT1HTB5Yp1Rcqo62KbwGzu4Bted2w9PPTzVHfh42AKqjGeEbI1HQXlGvmDu4oxHEXRs7j1zt7CI29Zam31Lqi2V8vVmbDmWdgnlHDAchoNDaIQWtq3t5Aj0eEWHmPbOF8qqMT1ylaemlMXyrBaOkeO1AAP9pY1ITFQecyuCStDwrQXF0vKERCCGmwi68ZV3C3uYvpA5nZgxA9ob2hrlxIFcW4J6ymIH0rHINUQeOj2sSB47xUZRGGrOzRRrIEnORlcoQ0dqJPrCUMhro8GRD3S9NMLc9gSjmSPp0RJzOCYWGt17M6muNepXiwulhzFKeNIv08s8VWinl3YEyWXSOs1qhVvqBAslsK7wDlqG6ulCtDtSVGOSETSZFWrEeMaPCWanAh12bxGkbOFxDt3aq1jc6q2fqrqvqLc4O0wouugWuxBA9U1YJgjPMBMnfHgUqJ3goYnXDPqXhktEBMGm1cunhotxhvITiom8dQAtCfwy |
| |
| } {cmd=test id=0 t=941012649 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüéàèÖÄÜÉÀÈ@@#"*%&+<>-_.,;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüéàèÖÄÜÉÀÈ@@#"*%&+<>-_.,;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüéàèÖÄÜÉÀÈ@@#"*%&+<>-_.,;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüéàèÖÄÜÉÀÈ@@#"*%&+<>-_.,;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüéàèÖÄÜÉÀÈ@@#"*%&+<>-_.,;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüéàèÖÄÜÉÀÈ@@#"*%&+<>-_.,;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüéàèÖÄÜÉÀÈ@@#"*%&+<>-_.,;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüéàèÖÄÜÉÀÈ@@#"*%&+<>-_.,;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüéàèÖÄÜÉÀÈ@@#"*%&+<>-_.,;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüéàèÖÄÜÉÀÈ@@#"*%&+<>-_.,;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüéàèÖÄÜÉÀÈ@@#"*%&+<>-_.,;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüéàèÖÄÜÉÀÈ@@#"*%&+<>-_.,;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüéàèÖÄÜÉÀÈ@@#"*%&+<>-_.,;} |
| |
| test ncad-2.8 {decryptd empty string} { |
| |
| web::decryptd "XD" |
| |
| } {} |
| |
| test ncad-2.9 {high unicoded} { |
| |
| set in "\uFF00 \u01FF" |
| string compare $in [web::decryptd [web::encryptd $in]] |
| |
| } {0} |
| |
| test ncad-2.10 {en-/decryptd long string} { |
| |
| set tmp [string repeat "aäböcü\r" 70000] |
| |
| string equal [web::decryptd [web::encryptd $tmp]] $tmp |
| |
| } {1} |
| |
| |
| # ----------------------------------------------------------------------------- |
| # error signals |
| # ----------------------------------------------------------------------------- |
| test ncad-3.1 {error signal 1} { |
| |
| catch {web::decryptd "a"} msg |
| |
| } {4} |
| |
| test ncad-3.2 {error signal 2} { |
| |
| set res [catch {web::decryptd "XDfoo"} msg] |
| lappend res $msg |
| |
| } {1 {checksum mismatch}} |
| |
| |
| # ----------------------------------------------------------------------------- |
| # symmetry |
| # ----------------------------------------------------------------------------- |
| test ncad-4.1 {symmetry} { |
| |
| set in [list {"Bildschirm Eizo 19"" "} a üöä [list [list b d] e]] |
| set res [web::decryptd [web::encryptd $in]] |
| string equal $in $res |
| } {1} |
| |
| # cleanup |
| ::tcltest::cleanupTests |