'From SqueakNihongo6.1 of 17 April 2004 [latest update: #0] on 9 May 2004 at 4:00:47 am'! TestCase subclass: #BRegexpTest instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'BRegexp-Tests'! !BRegexpTest methodsFor: 'Running' stamp: 'minami 5/8/2004 16:16'! setUp BRegexp initialize! ! !BRegexpTest methodsFor: 'Running' stamp: 'minami 5/8/2004 16:16'! tearDown BRegexp initialize! ! !BRegexpTest methodsFor: 'Testing' stamp: 'minami 5/8/2004 16:22'! testMatch001 | pattern target reg result | reg := BRegexp default. pattern := 'm/(\d{2})/'. target := 'Smalltalk-80'. [ result := reg match: pattern from: target. self assert: result isMatched. self assert: result asString = '80'. ] ensure: [reg release] ! ! !BRegexpTest methodsFor: 'Testing' stamp: 'minami 5/8/2004 17:32'! testMatch002 | pattern target reg result | reg := BRegexp default. pattern := '/0\d{1,4}-\d{1,4}-\d{4}/'. target := 'Yokohama 045-222-1111'. [ result := reg match: pattern from: target. self assert: result isMatched. self assert: result asString = '045-222-1111'. ] ensure: [reg release] ! ! !BRegexpTest methodsFor: 'Testing' stamp: 'minami 5/9/2004 03:53'! testMatch003 | pattern target reg result1 result2 result3 result4 result5 | reg := BRegexp default. pattern := '/(\d{1,4})-(\d{1,4})-(\d{4})/'. target := '03-765-5678'. "match result" result1 := reg match: pattern from: target. self assert: result1 isMatched. self assert: result1 asString = '03-765-5678'. self assert: (result1 extractSubstringFrom: target) = '03-765-5678'. self assert: reg hasNext. result2 := reg nextResult. self assert: result2 asString = '03'. self assert: (result2 extractSubstringFrom: target) = '03'. self assert: reg hasNext. result3 := reg nextResult. self assert: result3 asString = '765'. self assert: (result3 extractSubstringFrom: target) = '765'. self assert: reg hasNext. result4 := reg nextResult. self assert: result4 asString = '5678'. self assert: (result4 extractSubstringFrom: target) = '5678'. self assert: reg hasNext not. result5 := reg nextResult. self assert: result5 offset = -1. self assert: result5 length = -1. self assert: result5 asString = ''. self assert: (result5 extractSubstringFrom: target) = ''. reg release. ! ! !BRegexpTest methodsFor: 'Testing' stamp: 'minami 5/8/2004 17:41'! testSplit001 | pattern target reg | pattern := '/ *\d{2,3}-\d{3,4}-\d{4} */'. target := 'Yokohama 045-222-1111 Osaka 06-5555-6666 Tokyo 03-1111-9999'. reg := BRegexp default. self assert: (reg split: pattern from: target limit: 0) = 3. self assert: reg hasNext. self assert: (reg nextResult asString) = 'Yokohama'. self assert: reg hasNext. self assert: (reg nextResult asString) = 'Osaka'. self assert: reg hasNext. self assert: (reg nextResult asString) = 'Tokyo'. self assert: reg hasNext not. self assert: (reg nextResult asString) = ''. ! ! !BRegexpTest methodsFor: 'Testing' stamp: 'minami 5/8/2004 16:42'! testSplit002 | pattern target reg | pattern := '/ *\d{2,3}-\d{3,4}-\d{4} */'. target := 'Yokohama 045-222-1111 Osaka 06-5555-6666 Tokyo 03-1111-9999'. reg := BRegexp default. self assert: (reg split: pattern from: target limit: 2) = 2. self assert: reg hasNext. self assert: (reg nextResult asString) = 'Yokohama'. self assert: reg hasNext. self assert: (reg nextResult asString) = 'Osaka 06-5555-6666 Tokyo 03-1111-9999'. self assert: reg hasNext not. self assert: (reg nextResult asString) = ''. ! ! !BRegexpTest methodsFor: 'Testing' stamp: 'minami 5/8/2004 16:43'! testSplit003 | pattern target reg | pattern := '/ *\d{2,3}-\d{3,4}-\d{4} */'. target := 'Yokohama 045-222-1111 Osaka 06-5555-6666 Tokyo 03-1111-9999'. reg := BRegexp default. self assert: (reg split: pattern from: target limit: 1) = 1. self assert: reg hasNext. self assert: (reg nextResult asString) = 'Yokohama 045-222-1111 Osaka 06-5555-6666 Tokyo 03-1111-9999'. self assert: reg hasNext not. self assert: (reg nextResult asString) = ''. ! ! !BRegexpTest methodsFor: 'Testing' stamp: 'minami 5/8/2004 16:46'! testSubstitute001 | pattern target reg result | reg := BRegexp default. pattern := 's/(\d\d)-\d{4}-\d{4}/$1-xxxx-xxxx/'. target := 'Yokohama 045-222-1111 Osaka 06-5555-6666'. result := reg substitute: pattern from: target. self assert: result = 'Yokohama 045-222-1111 Osaka 06-xxxx-xxxx'! ! !BRegexpTest methodsFor: 'Testing' stamp: 'minami 5/8/2004 16:46'! testSubstitute002 | pattern target reg result | reg := BRegexp default. pattern := 's/^([^ ]*) *([^ ]*)/$2 $1/'. target := 'first second thrid'. result := reg substitute: pattern from: target. self assert: result = 'second first thrid'! ! !BRegexpTest methodsFor: 'Testing' stamp: 'minami 5/8/2004 17:32'! testTranslate001 | pattern target reg result | reg := BRegexp default. pattern := 'tr/a-z/A-Z/'. target := 'Smalltalk-80'. result := reg translate: pattern from: target. self assert: result = 'SMALLTALK-80'. reg release! ! !BRegexpTest methodsFor: 'Testing' stamp: 'minami 5/8/2004 17:14'! testTranslate002 | pattern target reg result | reg := BRegexp default. pattern := 'tr/A-Z0-9/a-zx/'. target := 'Yokohama 045-222-1111 Osaka 06-5555-6666'. result := reg translate: pattern from: target. self assert: result = 'yokohama xxx-xxx-xxxx osaka xx-xxxx-xxxx'. reg release.! !