Patrick Rein uploaded a new version of NetworkTests to project The Trunk:
http://source.squeak.org/trunk/NetworkTests-pre.56.mcz ==================== Summary ==================== Name: NetworkTests-pre.56 Author: pre Time: 2 May 2019, 3:06:57.095906 pm UUID: 8dd29edd-d8bf-3e48-a545-24d210b58774 Ancestors: NetworkTests-pre.55 Recategorizes some test methods and expected failure methods. =============== Diff against NetworkTests-pre.55 =============== Item was changed: + ----- Method: FileUrlTest>>testAsString (in category 'tests') ----- - ----- Method: FileUrlTest>>testAsString (in category 'testing') ----- testAsString | target url | target := 'file://localhost/etc/rc.conf'. url := target asUrl. self assert: url asString = target. ! Item was changed: + ----- Method: GenericUrlTest>>testAsString (in category 'tests') ----- - ----- Method: GenericUrlTest>>testAsString (in category 'testing') ----- testAsString | url | url := GenericUrl new schemeName: 'sip' locator: 'foo@bar'. self assert: url asString = 'sip:foo@bar'.! Item was changed: + ----- Method: HierarchicalUrlTest>>testAsString (in category 'tests') ----- - ----- Method: HierarchicalUrlTest>>testAsString (in category 'testing') ----- testAsString | url | url := HierarchicalUrl new schemeName: 'ftp' authority: 'localhost' path: #('path' 'to' 'file') query: 'aQuery'. self assert: url asString = 'ftp://localhost/path/to/file?aQuery'.! Item was changed: + ----- Method: HttpUrlTest>>testHttps (in category 'tests') ----- - ----- Method: HttpUrlTest>>testHttps (in category 'as yet unclassified') ----- testHttps self assert: 'https://encrypted.google.com' asUrl class == HttpUrl! Item was changed: + ----- Method: MIMEDocumentTest>>testUtf8Text (in category 'tests') ----- - ----- Method: MIMEDocumentTest>>testUtf8Text (in category 'as yet unclassified') ----- testUtf8Text | document | document := MIMEDocument contentType: 'text/plain; charset="utf8"' content: self utf8String. self assert: self utf8String utf8ToSqueak equals: document content ! Item was changed: + ----- Method: MIMEDocumentTest>>utf8String (in category 'fixtures') ----- - ----- Method: MIMEDocumentTest>>utf8String (in category 'as yet unclassified') ----- utf8String ^ #[199 161 84 83 67 72] asString! Item was changed: + ----- Method: MailDateAndTimeTest>>testBasicDate (in category 'tests') ----- - ----- Method: MailDateAndTimeTest>>testBasicDate (in category 'as yet unclassified') ----- testBasicDate | date | date := DateAndTime year: 2017 month: 2 day: 3 hour: 0 minute: 0 second: 0 offset: (Duration hours: 0). self assert: 'Fri, 03 Feb 2017 00:00:00 +0000' equals: date asMailMessageString! Item was changed: + ----- Method: MailDateAndTimeTest>>testBasicDateAndTime (in category 'tests') ----- - ----- Method: MailDateAndTimeTest>>testBasicDateAndTime (in category 'as yet unclassified') ----- testBasicDateAndTime | date | date := DateAndTime year: 2000 month: 6 day: 22 hour: 14 minute: 17 second: 47 offset: (Duration days: 0 hours: -5 minutes: 0 seconds: 0 nanoSeconds:0). self assert: 'Thu, 22 Jun 2000 14:17:47 -0500' equals: date asMailMessageString ! Item was changed: + ----- Method: MailMessageTest>>testAttachmentsGetTheirOwnContentType (in category 'tests') ----- - ----- Method: MailMessageTest>>testAttachmentsGetTheirOwnContentType (in category 'testing') ----- testAttachmentsGetTheirOwnContentType | message contentType | message := MailMessage empty addAttachmentFrom: 'abcxxx' readStream withName: 'aTestingAttachment.pdf'; body: ((MIMEDocument contentType: 'application/foo' content: 'This is the main text' squeakToUtf8) charset: 'utf-8'; yourself). self assert: message attachments size equals: 1. contentType := (message attachments first fieldNamed: 'content-type' ifAbsent: [self fail]) mainValue. self assert: contentType equals: 'application/pdf'. ! Item was changed: + ----- Method: MailMessageTest>>testAttachmentsReturnsTheAttachments (in category 'tests') ----- - ----- Method: MailMessageTest>>testAttachmentsReturnsTheAttachments (in category 'testing') ----- testAttachmentsReturnsTheAttachments | fileName message | message := MailMessage empty addAttachmentFrom: 'abcxxx' readStream withName: 'aTestingAttachment'; body: ((MIMEDocument contentType: 'application/foo' content: 'This is the main text' squeakToUtf8) charset: 'utf-8'; yourself). self assert: 1 equals: message attachments size. fileName := (message attachments first fieldNamed: 'content-disposition' ifAbsent: [self fail]) parameterAt: 'filename' ifAbsent: ['']. self assert: fileName equals: '"aTestingAttachment"'. fileName := (message attachments first fieldNamed: 'content-type' ifAbsent: [self fail]) parameterAt: 'name' ifAbsent: ['']. self assert: fileName equals: '"aTestingAttachment"'.! Item was changed: + ----- Method: MailMessageTest>>testAttachmentsWorkWithVeryLongFilenames (in category 'tests') ----- - ----- Method: MailMessageTest>>testAttachmentsWorkWithVeryLongFilenames (in category 'testing') ----- testAttachmentsWorkWithVeryLongFilenames | fileName message | message := MailMessage empty addAttachmentFrom: 'abcxxx' readStream withName: 'aTestingAttachmentWithAVeryVeryVeryVeryVeryVeryVeryVeryLongName.file'; body: ((MIMEDocument contentType: 'application/foo' content: 'This is the main text' squeakToUtf8) charset: 'utf-8'; yourself). self assert: message attachments size equals: 1. fileName := (message attachments first fieldNamed: 'content-disposition' ifAbsent: [self fail]) parameterAt: 'filename' ifAbsent: ['']. self assert: '"aTestingAttachmentWithAVeryVeryVeryVeryVeryVeryVeryVeryLongName.file"' equals: fileName ! Item was changed: + ----- Method: MailMessageTest>>testCreateAReplyForFrom (in category 'tests') ----- - ----- Method: MailMessageTest>>testCreateAReplyForFrom (in category 'testing') ----- testCreateAReplyForFrom | replyMail | replyMail := MailMessage replyFor: self fixtureMail. self assert: self fixtureSenderMail equals: replyMail to.! Item was changed: + ----- Method: MailMessageTest>>testCreateAReplyForReplyTo (in category 'tests') ----- - ----- Method: MailMessageTest>>testCreateAReplyForReplyTo (in category 'testing') ----- testCreateAReplyForReplyTo | replyMail startMail | startMail := self fixtureMail setField: 'reply-to' toString: '[hidden email]'; yourself. replyMail := MailMessage replyFor: startMail. self assert: '[hidden email]' equals: replyMail to.! Item was changed: + ----- Method: MailMessageTest>>testCreateAReplyForReplyTos (in category 'tests') ----- - ----- Method: MailMessageTest>>testCreateAReplyForReplyTos (in category 'testing') ----- testCreateAReplyForReplyTos | replyMail startMail | startMail := self fixtureMail setField: 'reply-to' toString: '[hidden email], [hidden email]'; yourself. replyMail := MailMessage replyFor: startMail. self assert: {'[hidden email]' . '[hidden email]'} asSet equals: ((replyMail to findTokens: ',') collect: [:e | e withBlanksTrimmed]) asSet.! Item was changed: + ----- Method: MailMessageTest>>testCreateAReplyHasANewSubject (in category 'tests') ----- - ----- Method: MailMessageTest>>testCreateAReplyHasANewSubject (in category 'testing') ----- testCreateAReplyHasANewSubject | replyMail | replyMail := MailMessage replyFor: self fixtureMail. self assert: 'Re: ' , self fixtureSubject equals: replyMail subject.! Item was changed: + ----- Method: MailMessageTest>>testCreateMailMessage (in category 'tests') ----- - ----- Method: MailMessageTest>>testCreateMailMessage (in category 'testing') ----- testCreateMailMessage | newMail | newMail := MailMessage from: 'From: Al Gore <[hidden email]> To: White House Transportation Coordinator <[hidden email]> Subject: [Map of a country] there is a country map in this mail somewhere'. self assert: '[Map of a country]' equals: newMail subject! Item was changed: + ----- Method: MailMessageTest>>testDateAndDateString (in category 'tests') ----- - ----- Method: MailMessageTest>>testDateAndDateString (in category 'testing') ----- testDateAndDateString | newMail | newMail := MailMessage from: 'From: Al Gore <[hidden email]> To: White House Transportation Coordinator <[hidden email]> Subject: [Map of a country] Date: Mon, 12 Aug 2002 17:42:00 +0000 there is a country map in this mail somewhere'. self assert: (DateAndTime year: 2002 month: 8 day: 12 hour: 17 minute: 42) equals: newMail date. self assert: '8/12/02' equals: newMail dateString.! Item was changed: + ----- Method: MailMessageTest>>testDateStampFractionalSecondFormatting (in category 'tests') ----- - ----- Method: MailMessageTest>>testDateStampFractionalSecondFormatting (in category 'testing') ----- testDateStampFractionalSecondFormatting self assert: (MailMessage dateStamp: (DateAndTime fromSeconds: 1.234)) = 'Tue, 1 Jan 1901 00:00:01' description: 'RFC822 (and RFC2822) forbids non-integer seconds in dates'! Item was changed: + ----- Method: MailMessageTest>>testReplyContainsInReplyTo (in category 'tests') ----- - ----- Method: MailMessageTest>>testReplyContainsInReplyTo (in category 'testing') ----- testReplyContainsInReplyTo | replyMail | replyMail := MailMessage replyFor: self fixtureMail. self assert: self fixtureMessageId equals: (replyMail fieldNamed: 'in-reply-to' ifAbsent: [self fail]) mainValue.! Item was changed: + ----- Method: MailMessageTest>>testReplyContainsReferences (in category 'tests') ----- - ----- Method: MailMessageTest>>testReplyContainsReferences (in category 'testing') ----- testReplyContainsReferences | replyMail lastReply | replyMail := MailMessage replyFor: self fixtureMail. replyMail setField: 'message-id' toString: 'abc'; from: '[hidden email]'. lastReply := MailMessage replyFor: replyMail. self assert: self fixtureMessageId , ', abc' equals: (lastReply fieldNamed: 'references' ifAbsent: [self fail]) mainValue.! Item was changed: + ----- Method: MailMessageTest>>testSendableVersionHasCorrectLineBreaks (in category 'tests') ----- - ----- Method: MailMessageTest>>testSendableVersionHasCorrectLineBreaks (in category 'testing') ----- testSendableVersionHasCorrectLineBreaks | newMail longContent | "To create a string which is too long to very old recommendations of the mail message format, which is about 70 characters." longContent := ((1 to: 80) do: [:i | i asString]) joinSeparatedBy: ''. newMail := self fixtureMail. newMail body: ((MIMEDocument contentType: MIMEDocument contentTypePlainText content: longContent) charset: 'UTF-8'; yourself). newMail := MailMessage from: newMail asSendableText. self assert: (newMail bodyTextFormatted asString includesSubstring: longContent)! Item was changed: + ----- Method: SMTPClientTest>>testMailFrom (in category 'tests') ----- - ----- Method: SMTPClientTest>>testMailFrom (in category 'testing') ----- testMailFrom smtp mailFrom: '[hidden email]'. self assert: socket outStream contents = ('MAIL FROM: <[hidden email]>', String crlf). socket resetOutStream. smtp mailFrom: '<[hidden email]>'. self assert: socket outStream contents = ('MAIL FROM: <[hidden email]>', String crlf). socket resetOutStream. smtp mailFrom: 'Frank <[hidden email]>'. self assert: socket outStream contents = ('MAIL FROM: <[hidden email]>', String crlf).! Item was changed: + ----- Method: SocketStreamTest>>setUp (in category 'running') ----- - ----- Method: SocketStreamTest>>setUp (in category 'setup') ----- setUp | listener clientSocket serverSocket | listener := Socket newTCP. [listener listenOn: 0 backlogSize: 4. clientSocket := Socket newTCP. clientSocket connectTo: #[127 0 0 1] port: listener localPort. clientSocket waitForConnectionFor: 1. self assert: clientSocket isConnected. serverSocket := listener waitForAcceptFor: 1. self assert: serverSocket isConnected. ] ensure:[listener destroy]. clientStream := SocketStream on: clientSocket. serverStream := SocketStream on: serverSocket. ! Item was changed: + ----- Method: SocketStreamTest>>tearDown (in category 'running') ----- - ----- Method: SocketStreamTest>>tearDown (in category 'setup') ----- tearDown clientStream ifNotNil:[clientStream destroy]. serverStream ifNotNil:[serverStream destroy].! Item was changed: + ----- Method: SocketStreamTest>>testNextIntoClose (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testNextIntoClose (in category 'stream protocol') ----- testNextIntoClose "Ensure that #next:into: will function properly when the connection is closed" clientStream nextPutAll:'A line of text'; flush. [(Delay forMilliseconds: 100) wait. clientStream close] fork. self assert: (serverStream next: 100 into: (String new: 100) startingAt: 1) equals: 'A line of text'. ! Item was changed: + ----- Method: SocketStreamTest>>testNextIntoCloseNonSignaling (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testNextIntoCloseNonSignaling (in category 'stream protocol') ----- testNextIntoCloseNonSignaling "Ensure that #next:into: will function properly when the connection is closed" serverStream shouldSignal: false. clientStream nextPutAll:'A line of text'; flush. [(Delay forMilliseconds: 100) wait. clientStream close] fork. self assert: (serverStream next: 100 into: (String new: 100) startingAt: 1) equals: 'A line of text'. ! Item was changed: + ----- Method: SocketStreamTest>>testUpTo (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpTo (in category 'stream protocol') ----- testUpTo "Tests correct behavior of #upTo:" clientStream nextPutAll:'A line of text', String cr, 'with more text'; flush. self assert: (serverStream upTo: Character cr) = 'A line of text'. [(Delay forSeconds: 1) wait. clientStream nextPutAll: String cr; flush] fork. self assert: (serverStream upTo: Character cr) = 'with more text'. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAfterCloseNonSignaling (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAfterCloseNonSignaling (in category 'stream protocol') ----- testUpToAfterCloseNonSignaling "Tests correct behavior of #upToAll" | resp | clientStream nextPutAll: 'A line of text'. clientStream close. serverStream shouldSignal: false. self shouldnt: [resp := serverStream upTo: Character cr] raise: ConnectionClosed. self assert: resp = 'A line of text'.! Item was changed: + ----- Method: SocketStreamTest>>testUpToAfterCloseSignaling (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAfterCloseSignaling (in category 'stream protocol') ----- testUpToAfterCloseSignaling "Tests correct behavior of #upToAll" clientStream nextPutAll:'A line of text'. clientStream close. self should: [serverStream upTo: Character cr] raise: ConnectionClosed. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAll (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAll (in category 'stream protocol') ----- testUpToAll "Tests correct behavior of #upToAll" clientStream nextPutAll:'A line of text', String crlf, 'with more text'; flush. self assert: (serverStream upToAll: String crlf) = 'A line of text'. [(Delay forSeconds: 1) wait. clientStream nextPutAll: String crlf; flush] fork. self assert: (serverStream upToAll: String crlf) = 'with more text'. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllAfterCloseNonSignaling (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllAfterCloseNonSignaling (in category 'stream protocol') ----- testUpToAllAfterCloseNonSignaling "Tests correct behavior of #upToAll" | resp | clientStream nextPutAll: 'A line of text'. clientStream close. serverStream shouldSignal: false. self shouldnt: [resp := serverStream upToAll: String crlf] raise: ConnectionClosed. self assert: resp = 'A line of text'.! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllAfterCloseSignaling (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllAfterCloseSignaling (in category 'stream protocol') ----- testUpToAllAfterCloseSignaling "Tests correct behavior of #upToAll" clientStream nextPutAll:'A line of text'. clientStream close. self should: [serverStream upToAll: String crlf] raise: ConnectionClosed. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllAsciiVsBinary (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllAsciiVsBinary (in category 'stream protocol') ----- testUpToAllAsciiVsBinary "Tests correct behavior of #upToAll" serverStream ascii. clientStream nextPutAll:'A line of text', String crlf, 'with more text'; flush. self assert: (serverStream upToAll: #[13 10]) = 'A line of text'. serverStream binary. clientStream nextPutAll: String crlf; flush. self assert: (serverStream upToAll: String crlf) asString = 'with more text'. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllCrlfAscii (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllCrlfAscii (in category 'stream protocol') ----- testUpToAllCrlfAscii "Tests correct behavior of #upToAll with a two-byte delimiter in ascii mode" self testUpToAllDelimiter: String crlf input: 'A header', String crlf, 'and a body' expected: {'A header'. 'and a body'} binary: false. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllCrlfBinary (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllCrlfBinary (in category 'stream protocol') ----- testUpToAllCrlfBinary "Tests correct behavior of #upToAll with a two-byte delimiter in binary mode" self testUpToAllDelimiter: String crlf input: 'A header', String crlf, 'and a body' expected: {'A header'. 'and a body'} binary: true. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllCrlfCrlfAscii (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllCrlfCrlfAscii (in category 'stream protocol') ----- testUpToAllCrlfCrlfAscii "Tests correct behavior of #upToAll with a four-byte delimiter in ascii mode" self testUpToAllDelimiter: String crlfcrlf input: 'A header', String crlfcrlf, 'and a body' expected: {'A header'. 'and a body'} binary: false. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllCrlfCrlfBinary (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllCrlfCrlfBinary (in category 'stream protocol') ----- testUpToAllCrlfCrlfBinary "Tests correct behavior of #upToAll with a four-byte delimiter in binary mode" self testUpToAllDelimiter: String crlfcrlf input: 'A header', String crlfcrlf, 'and a body' expected: {'A header'. 'and a body'} binary: true. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllDelimiter:input:expected:binary: (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllDelimiter:input:expected:binary: (in category 'stream protocol') ----- testUpToAllDelimiter: delimiter input: input expected: aCollection binary: useBinary "General test of #upToAll." clientStream nextPutAll: input; close. serverStream shouldSignal: false. useBinary ifTrue: [serverStream binary] ifFalse: [serverStream ascii]. aCollection do: [:expected | | actual | actual := (serverStream upToAll: delimiter) asString. self assert: actual = expected]. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllEmptyPatternAscii (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllEmptyPatternAscii (in category 'stream protocol') ----- testUpToAllEmptyPatternAscii "Tests correct behavior of #upToAll with an empty delimiter string, in ascii mode" self testUpToAllDelimiter: '' input: 'xaxbxc' expected: {'xaxbxc'} binary: false. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllEmptyPatternBinary (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllEmptyPatternBinary (in category 'stream protocol') ----- testUpToAllEmptyPatternBinary "Tests correct behavior of #upToAll with an empty delimiter string, in binary mode" self testUpToAllDelimiter: '' input: 'xaxbxc' expected: {'xaxbxc'} binary: true. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllLimit (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllLimit (in category 'stream protocol') ----- testUpToAllLimit "Tests correct behavior of #upToAll:limit:" clientStream nextPutAll:'A line of text'; flush. self assert: (serverStream upToAll: String crlf limit: 5) = 'A line of text'.! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllLongPatternAscii (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllLongPatternAscii (in category 'stream protocol') ----- testUpToAllLongPatternAscii "Tests correct behavior of #upToAll with a long delimiter string, in ascii mode" self testUpToAllDelimiter: 'xxxxx' input: 'xxxxxaxxxxbxxxxxc' expected: {''. 'axxxxb'. 'c'} binary: false. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllLongPatternBinary (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllLongPatternBinary (in category 'stream protocol') ----- testUpToAllLongPatternBinary "Tests correct behavior of #upToAll with a long delimiter string, in binary mode" self testUpToAllDelimiter: 'xxxxx' input: 'xxxxxaxxxxbxxxxxc' expected: {''. 'axxxxb'. 'c'} binary: true. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllMediumPatternAscii (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllMediumPatternAscii (in category 'stream protocol') ----- testUpToAllMediumPatternAscii "Tests correct behavior of #upToAll with a two-character delimiter string, in ascii mode" self testUpToAllDelimiter: 'xx' input: 'xxaxbxxc' expected: {''. 'axb'. 'c'} binary: false. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllMediumPatternBinary (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllMediumPatternBinary (in category 'stream protocol') ----- testUpToAllMediumPatternBinary "Tests correct behavior of #upToAll with a two-character delimiter string, in binary mode" self testUpToAllDelimiter: 'xx' input: 'xxaxbxxc' expected: {''. 'axb'. 'c'} binary: true. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllShortPatternAscii (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllShortPatternAscii (in category 'stream protocol') ----- testUpToAllShortPatternAscii "Tests correct behavior of #upToAll with a short delimiter string, in ascii mode" self testUpToAllDelimiter: 'x' input: 'xaxbxc' expected: {''. 'a'. 'b'. 'c'} binary: false. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllShortPatternAscii2 (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllShortPatternAscii2 (in category 'stream protocol') ----- testUpToAllShortPatternAscii2 "Tests correct behavior of #upToAll with a short delimiter string, in ascii mode" self testUpToAllDelimiter: 'x' input: 'axbxcx' expected: {'a'. 'b'. 'c'. ''} binary: false. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllShortPatternBinary (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllShortPatternBinary (in category 'stream protocol') ----- testUpToAllShortPatternBinary "Tests correct behavior of #upToAll with a short delimiter string, in binary mode" self testUpToAllDelimiter: 'x' input: 'xaxbxc' expected: {''. 'a'. 'b'. 'c'} binary: true. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllShortPatternBinary2 (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllShortPatternBinary2 (in category 'stream protocol') ----- testUpToAllShortPatternBinary2 "Tests correct behavior of #upToAll with a short delimiter string, in binary mode" self testUpToAllDelimiter: 'x' input: 'axbxcx' expected: {'a'. 'b'. 'c'. ''} binary: true. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAllTimeout (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAllTimeout (in category 'stream protocol') ----- testUpToAllTimeout "Tests correct behavior of #upToAll" clientStream nextPutAll: 'A line of text'. serverStream timeout: 1. self should: [serverStream upToAll: String crlf] raise: ConnectionTimedOut. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToAsciiVsBinary (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToAsciiVsBinary (in category 'stream protocol') ----- testUpToAsciiVsBinary "Tests correct behavior of #upTo:" serverStream ascii. clientStream nextPutAll:'A line of text', String cr, 'with more text'; flush. self assert: (serverStream upTo: 13) = 'A line of text'. serverStream binary. clientStream nextPutAll: String cr; flush. self assert: (serverStream upTo: Character cr) asString = 'with more text'. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToEndClose (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToEndClose (in category 'stream protocol') ----- testUpToEndClose "Ensure that #upToEnd will function properly when the connection is closed" clientStream nextPutAll:'A line of text'; flush. [(Delay forMilliseconds: 100) wait. clientStream close] fork. self assert: (serverStream upToEnd) equals: 'A line of text'. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToEndCloseNonSignaling (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToEndCloseNonSignaling (in category 'stream protocol') ----- testUpToEndCloseNonSignaling "Ensure that #upToEnd will function properly when the connection is closed" serverStream shouldSignal: false. clientStream nextPutAll:'A line of text'; flush. [(Delay forMilliseconds: 100) wait. clientStream close] fork. self assert: (serverStream upToEnd) equals: 'A line of text'. ! Item was changed: + ----- Method: SocketStreamTest>>testUpToMax (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToMax (in category 'stream protocol') ----- testUpToMax "Tests correct behavior of #upToAll:max:" clientStream nextPutAll:'A line of text'; flush. self assert: (serverStream upTo: Character cr limit: 5) = 'A line of text'.! Item was changed: + ----- Method: SocketStreamTest>>testUpToTimeout (in category 'tests - stream protocol') ----- - ----- Method: SocketStreamTest>>testUpToTimeout (in category 'stream protocol') ----- testUpToTimeout "Tests correct behavior of #upToAll" clientStream nextPutAll: 'A line of text'. serverStream timeout: 1. self should: [serverStream upTo: Character cr] raise: ConnectionTimedOut. ! Item was changed: + ----- Method: SocketTest>>expectedFailures (in category 'failures') ----- - ----- Method: SocketTest>>expectedFailures (in category 'setup') ----- expectedFailures ^ Smalltalk platformName = 'Win32' ifTrue: [#(testSocketReuse)] ifFalse: [#()]! Item was changed: + ----- Method: SocketTest>>listenerAddress (in category 'fixtures') ----- - ----- Method: SocketTest>>listenerAddress (in category 'setup') ----- listenerAddress ^NetNameResolver addressForName: 'localhost' ! Item was changed: + ----- Method: SocketTest>>listenerPort (in category 'fixtures') ----- - ----- Method: SocketTest>>listenerPort (in category 'setup') ----- listenerPort ^42324 ! Item was changed: + ----- Method: SocketTest>>setUp (in category 'running') ----- - ----- Method: SocketTest>>setUp (in category 'setup') ----- setUp listenerSocket := Socket newTCP listenOn: self listenerPort backlogSize: 4 interface: self listenerAddress. ! Item was changed: + ----- Method: SocketTest>>tearDown (in category 'running') ----- - ----- Method: SocketTest>>tearDown (in category 'setup') ----- tearDown listenerSocket ifNotNil:[listenerSocket destroy]. clientSocket ifNotNil:[clientSocket destroy]. serverSocket ifNotNil:[serverSocket destroy]. ! Item was changed: + ----- Method: TestURI>>testDefaultDirRoundtrip (in category 'tests - file') ----- - ----- Method: TestURI>>testDefaultDirRoundtrip (in category 'running file') ----- testDefaultDirRoundtrip | defaultDir defaultURI uriDir | defaultDir := FileDirectory default. defaultURI := defaultDir uri. uriDir := FileDirectory uri: defaultURI. self should: [defaultDir fullName = uriDir fullName]! Item was changed: + ----- Method: TestURI>>testDirWithHash (in category 'tests - file') ----- - ----- Method: TestURI>>testDirWithHash (in category 'running file') ----- testDirWithHash "Tests proper escaping of directories with hash mark" | uriDir origPath origDir dirURI | origPath := FileDirectory default pathName, '#123'. origDir := FileDirectory on: origPath. self assert: origDir pathName = origPath. dirURI := origDir uri. uriDir := FileDirectory uri: dirURI. self assert: origDir fullName = uriDir fullName.! Item was changed: + ----- Method: TestURI>>testDirectoryRoot (in category 'tests - file') ----- - ----- Method: TestURI>>testDirectoryRoot (in category 'running file') ----- testDirectoryRoot | rootDir uriRoot uriDir | rootDir := FileDirectory root. uriRoot := 'file:///' asURI. uriDir := FileDirectory uri: uriRoot. self should: [rootDir fullName = uriDir fullName]! Item was changed: + ----- Method: TestURI>>testResolveAbnormal1 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal1 (in category 'running resolving') ----- testResolveAbnormal1 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '../../../g'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/../g']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal10 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal10 (in category 'running resolving') ----- testResolveAbnormal10 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := './g/.'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g/']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal11 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal11 (in category 'running resolving') ----- testResolveAbnormal11 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g/./h'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g/h']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal12 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal12 (in category 'running resolving') ----- testResolveAbnormal12 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g/../h'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/h']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal13 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal13 (in category 'running resolving') ----- testResolveAbnormal13 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g;x=1/./y'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g;x=1/y']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal14 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal14 (in category 'running resolving') ----- testResolveAbnormal14 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g;x=1/../y'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/y']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal15 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal15 (in category 'running resolving') ----- testResolveAbnormal15 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g?y/./x'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g?y/./x']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal16 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal16 (in category 'running resolving') ----- testResolveAbnormal16 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g?y/../x'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g?y/../x']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal17 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal17 (in category 'running resolving') ----- testResolveAbnormal17 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g#s/./x'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g#s/./x']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal18 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal18 (in category 'running resolving') ----- testResolveAbnormal18 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g#s/../x'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g#s/../x']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal2 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal2 (in category 'running resolving') ----- testResolveAbnormal2 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '../../../../g'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/../../g']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal3 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal3 (in category 'running resolving') ----- testResolveAbnormal3 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '/./g'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/./g']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal4 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal4 (in category 'running resolving') ----- testResolveAbnormal4 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '/../g'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/../g']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal5 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal5 (in category 'running resolving') ----- testResolveAbnormal5 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g.'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g.']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal6 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal6 (in category 'running resolving') ----- testResolveAbnormal6 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '.g'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/.g']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal7 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal7 (in category 'running resolving') ----- testResolveAbnormal7 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g..'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g..']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal8 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal8 (in category 'running resolving') ----- testResolveAbnormal8 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '..g'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/..g']. ! Item was changed: + ----- Method: TestURI>>testResolveAbnormal9 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveAbnormal9 (in category 'running resolving') ----- testResolveAbnormal9 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := './../g'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/g']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal1 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal1 (in category 'running resolving') ----- testResolveNormal1 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g:h'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'g:h']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal10 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal10 (in category 'running resolving') ----- testResolveNormal10 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g?y#s'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g?y#s']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal11 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal11 (in category 'running resolving') ----- testResolveNormal11 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := ';x'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/;x']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal12 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal12 (in category 'running resolving') ----- testResolveNormal12 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g;x'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g;x']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal13 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal13 (in category 'running resolving') ----- testResolveNormal13 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g;x?y#s'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g;x?y#s']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal14 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal14 (in category 'running resolving') ----- testResolveNormal14 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '.'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal15 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal15 (in category 'running resolving') ----- testResolveNormal15 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := './'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal16 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal16 (in category 'running resolving') ----- testResolveNormal16 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '..'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal17 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal17 (in category 'running resolving') ----- testResolveNormal17 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '../'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal18 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal18 (in category 'running resolving') ----- testResolveNormal18 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '../g'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/g']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal19 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal19 (in category 'running resolving') ----- testResolveNormal19 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '../..'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal2 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal2 (in category 'running resolving') ----- testResolveNormal2 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal20 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal20 (in category 'running resolving') ----- testResolveNormal20 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '../../'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal21 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal21 (in category 'running resolving') ----- testResolveNormal21 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '../../g'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/g']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal3 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal3 (in category 'running resolving') ----- testResolveNormal3 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := './g'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal4 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal4 (in category 'running resolving') ----- testResolveNormal4 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g/'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g/']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal5 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal5 (in category 'running resolving') ----- testResolveNormal5 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '/g'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/g']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal6 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal6 (in category 'running resolving') ----- testResolveNormal6 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '//g'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://g']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal7 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal7 (in category 'running resolving') ----- testResolveNormal7 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := '?y'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/?y']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal8 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal8 (in category 'running resolving') ----- testResolveNormal8 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g?y'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g?y']. ! Item was changed: + ----- Method: TestURI>>testResolveNormal9 (in category 'tests - resolving') ----- - ----- Method: TestURI>>testResolveNormal9 (in category 'running resolving') ----- testResolveNormal9 | baseURI relURI resolvedURI | baseURI := 'http://a/b/c/d;p?q' asURI. relURI := 'g#s'. resolvedURI := baseURI resolveRelativeURI: relURI. self should: [resolvedURI asString = 'http://a/b/c/g#s']. ! Item was changed: + ----- Method: TestURI>>testSchemeAbsoluteFail1 (in category 'tests - parsing') ----- - ----- Method: TestURI>>testSchemeAbsoluteFail1 (in category 'running parsing') ----- testSchemeAbsoluteFail1 self should: [URI fromString: 'http:'] raise: IllegalURIException! Item was changed: + ----- Method: TestURI>>testSchemeAbsolutePass1 (in category 'tests - parsing') ----- - ----- Method: TestURI>>testSchemeAbsolutePass1 (in category 'running parsing') ----- testSchemeAbsolutePass1 | uri | uri := URI fromString: 'http://www.squeakland.org'. self should: [uri scheme = 'http']. self should: [uri isAbsolute]. self shouldnt: [uri isOpaque]. self shouldnt: [uri isRelative]! Item was changed: + ----- Method: TestURI>>testSchemeAbsolutePass2 (in category 'tests - parsing') ----- - ----- Method: TestURI>>testSchemeAbsolutePass2 (in category 'running parsing') ----- testSchemeAbsolutePass2 | uri | uri := URI fromString: 'mailto:[hidden email]'. self should: [uri scheme = 'mailto']. self should: [uri isAbsolute]. self should: [uri isOpaque]. self shouldnt: [uri isRelative]! Item was changed: + ----- Method: TestURI>>testSchemeAbsolutePass3 (in category 'tests - parsing') ----- - ----- Method: TestURI>>testSchemeAbsolutePass3 (in category 'running parsing') ----- testSchemeAbsolutePass3 | uri | uri := URI fromString: 'ftp://[hidden email]'. self should: [uri scheme = 'ftp']. self should: [uri isAbsolute]. self shouldnt: [uri isOpaque]. self shouldnt: [uri isRelative]. self should: [uri userInfo = 'ftp']. self should: [uri host = 'squeak.org']. self should: [uri port isNil]. ! Item was changed: + ----- Method: TestURI>>testSchemeAbsolutePass4 (in category 'tests - parsing') ----- - ----- Method: TestURI>>testSchemeAbsolutePass4 (in category 'running parsing') ----- testSchemeAbsolutePass4 | uri | uri := URI fromString: 'mailto:[hidden email]#fragment'. self should: [uri scheme = 'mailto']. self should: [uri isAbsolute]. self should: [uri isOpaque]. self shouldnt: [uri isRelative]. self should: [uri fragment = 'fragment']. ! Item was changed: + ----- Method: TestURI>>testSchemeAbsolutePass5 (in category 'tests - parsing') ----- - ----- Method: TestURI>>testSchemeAbsolutePass5 (in category 'running parsing') ----- testSchemeAbsolutePass5 | uri | uri := URI fromString: 'http://www.squeakland.org#fragment'. self should: [uri scheme = 'http']. self should: [uri isAbsolute]. self shouldnt: [uri isOpaque]. self shouldnt: [uri isRelative]. self should: [uri fragment = 'fragment']. ! Item was changed: + ----- Method: UUIDTest>>testComparison (in category 'tests') ----- - ----- Method: UUIDTest>>testComparison (in category 'as yet unclassified') ----- testComparison "Test if the comparison operators define a total sort function." #( #[3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] #[2 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0] #[0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1] #[0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4] #[2 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0] #[3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] #[0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4] #[0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1] #[0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4] #[0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4] ) pairsDo: [ :x :y | | a b c d | a := UUID newFrom: x. b := UUID newFrom: y. c := x asString. d := y asString. "Check if the comparison is lexicographical, just like strings'." #(< > <= >= = ~=) do: [ :operation | self assert: (a perform: operation with: b) = (c perform: operation with: d) ]. "And a few more" self assert: (a < b) = (a >= b) not; assert: (a > b) = (a <= b) not; assert: (a = b) = (a ~= b) not; assert: (a < b) = (b > a); assert: (a > b) = (b < a); assert: (a >= b) = (b <= a); assert: (a <= b) = (b >= a); assert: (a = b) = (b = a); assert: (a ~= b) = (b ~= a); assert: (a > b) = ((a >= b) & (a ~= b)); assert: (a < b) = ((a <= b) & (a ~= b)); assert: (a >= b) = ((a = b) | (a > b)); assert: (a <= b) = ((a = b) | (a < b)); assert: (a ~= b) = ((a < b) | (a > b)); assert: (a <= b) & (b <= a) = (a = b); assert: (a >= b) & (b >= a) = (a = b); assert: (a <= b) | (b <= a); assert: (a = b) asBit + (a < b) asBit + (b < a) asBit = 1 ]! Item was changed: + ----- Method: UrlTest>>testFromFileNameOrUrlString (in category 'tests') ----- - ----- Method: UrlTest>>testFromFileNameOrUrlString (in category 'testing') ----- testFromFileNameOrUrlString url := Url absoluteFromFileNameOrUrlString: 'asdf'. self assert: url schemeName = 'file'. self assert: url fragment isNil. self assert: url class = FileUrl. url := Url absoluteFromFileNameOrUrlString: 'http://209.143.91.36/super/SuperSwikiProj/AAEmptyTest.001.pr'. self assert: url schemeName = 'http'. self assert: url fragment isNil. self assert: url class = HttpUrl.! |
Free forum by Nabble | Edit this page |