Units testing framework for Javascript and Node.JS Units testing framework for javascript

Asserter regexp()

regexp() behavior

Does not contains assertions from the assertions containers.

test
 .value(test.regexp(new RegExp()).hasHeader)
 .isUndefined()
 .value(test.regexp(new RegExp()).hasMessage)
 .isUndefined()
 .value(test.regexp(new RegExp()).isInfinite)
 .isUndefined()
 ;

Assert that the tested value is an instance of RegExp.

test
 .regexp(/foobar/)
 .regexp(new RegExp('foo', 'i'))
 .case('Test failure', function(){
 test
 .exception(function(){
 test.regexp({});
 })
 .exception(function(){
 test.regexp([]);
 })
 .exception(function(){
 test.regexp('');
 })
 .exception(function(){
 test.regexp();
 })
 .exception(function(){
 test.regexp(undefined);
 })
 .exception(function(){
 test.regexp(null);
 })
 .exception(function(){
 test.regexp(true);
 })
 .exception(function(){
 test.regexp(false);
 })
 .exception(function(){
 test.regexp(0);
 })
 .exception(function(){
 test.regexp(1);
 })
 .exception(function(){
 test.regexp('[a-z]');
 })
 .exception(function(){
 test.regexp('/foobar/');
 })
 .exception(function(){
 test.regexp(RegExp);
 })
 .exception(function(){
 test.regexp(new Date());
 })
 ;
 })
 ;

Assertions of regexp()

is(expected).

var regexp = new RegExp(/[a-z]/);
 test
 .regexp(regexp)
 .is(new RegExp(/[a-z]/))
 .exception(function(){
 test.regexp(regexp).is(/A-Z/);
 })
 ;

isNot(expected).

var regexp = new RegExp(/[a-z]/);
 test
 .regexp(regexp)
 .isNot(new RegExp(/[A-Z]/))
 .exception(function(){
 test.regexp(regexp).isNot(/[a-z]/);
 })
 ;

isIdenticalTo(expected).

var
 regexp = new RegExp(/[a-z]/),
 ref = regexp
 ;
 test
 .regexp(regexp)
 .isIdenticalTo(ref)
 .exception(function(){
 test.regexp(regexp).isIdenticalTo(/[a-z]/);
 })
 ;

isNotIdenticalTo(expected).

var regexp = new RegExp(/[a-z]/);
 test
 .regexp(regexp)
 .isNotIdenticalTo(new RegExp(/[a-z]/))
 .exception(function(){
 test.regexp(regexp).isNotIdenticalTo(regexp);
 })
 ;

isEqualTo(expected).

var
 regexp = new RegExp(/[a-z]/),
 ref = regexp
 ;
 test
 .regexp(regexp)
 .isEqualTo(ref)
 .exception(function(){
 test.regexp(regexp).isEqualTo(/[a-z]/);
 })
 ;

isNotEqualTo(expected).

var regexp = new RegExp(/[a-z]/);
 test
 .regexp(regexp)
 .isNotEqualTo(new RegExp(/[a-z]/))
 .exception(function(){
 test.regexp(regexp).isNotEqualTo(regexp);
 })
 ;

match(expected).

var
 regexp = new RegExp(/[a-z]/),
 ref = regexp
 ;
 test
 .regexp(regexp)
 .match(function(reg){
 return reg === ref;
 })
 .exception(function(){
 test.regexp(regexp).match(function(actual){
 return actual.source == '[A-Z]';
 });
 })
 ;

notMatch(expected).

var
 regexp = new RegExp(/[a-z]/),
 ref = regexp
 ;
 test
 .regexp(regexp)
 .notMatch(function(actual){
 var reg = new RegExp(/[a-z]/);
 return reg === ref || reg === actual;
 })
 .exception(function(){
 test.regexp(regexp).notMatch(function(actual){
 return actual.source == '[a-z]';
 });
 })
 ;

isValid(expected).

var
 regexp = new RegExp(/[a-z]/),
 ref = regexp
 ;
 test
 .regexp(regexp)
 .isValid(function(reg){
 return reg === ref;
 })
 .exception(function(){
 test.regexp(regexp).isValid(function(actual){
 return actual.source == '[A-Z]';
 });
 })
 ;

isNotValid(expected).

var
 regexp = new RegExp(/[a-z]/),
 ref = regexp
 ;
 test
 .regexp(regexp)
 .isNotValid(function(actual){
 var reg = new RegExp(/[a-z]/);
 return reg === ref || reg === actual;
 })
 .exception(function(){
 test.regexp(regexp).isNotValid(function(actual){
 return actual.source == '[a-z]';
 });
 })
 ;

isEnumerable(property).

var regexp = new RegExp(/[a-z]/);
 // define an enumerable property
 Object.defineProperty(regexp, 'myCustom', {
 enumerable: true, value: 'static'
 });
 test
 .regexp(regexp)
 .isEnumerable('myCustom')
 .exception(function(){
 test.regexp(regexp).isEnumerable('ignoreCase');
 })
 ;

isNotEnumerable(property).

var regexp = new RegExp(/[a-z]/);
 // define an enumerable property
 Object.defineProperty(regexp, 'myCustom', {
 enumerable: true, value: 'static'
 });
 test
 .regexp(regexp)
 .isNotEnumerable('lastIndex')
 .isNotEnumerable('ignoreCase')
 .isNotEnumerable('multiline')
 .exception(function(){
 test.regexp(regexp).isNotEnumerable('myCustom');
 })
 ;

isFrozen.

var regexp = new RegExp(/[a-z]/);
 Object.freeze(regexp);
 test
 .regexp(regexp)
 .isFrozen()
 .exception(function(){
 test.regexp(/[a-z]/).isFrozen();
 })
 ;

isNotFrozen.

var
 regexp = new RegExp(/[a-z]/),
 regexpFrozen = new RegExp(/[a-z]/)
 ;
 Object.freeze(regexpFrozen);
 test
 .regexp(regexp)
 .isNotFrozen()
 .exception(function(){
 test.regexp(regexpFrozen).isNotFrozen();
 })
 ;

hasProperty(property [, value]).

test
 .regexp(/[a-z]/)
 .hasProperty('lastIndex')
 .hasProperty('constructor')
 .exception(function(){
 test.regexp(/[a-z]/).hasProperty('foo');
 })
 ;

hasNotProperty(property [, value]).

test
 .regexp(/[a-z]/)
 .hasNotProperty('foobar')
 .exception(function(){
 test.regexp(/[a-z]/).hasNotProperty('lastIndex');
 })
;

hasOwnProperty(property [, value]).

test
 .regexp(/[a-z]/)
 .hasOwnProperty('lastIndex')
 .exception(function(){
 test.regexp(/[a-z]/).hasOwnProperty('constructor');
 })
;

hasNotOwnProperty(property [, value]).

test
 .regexp(/[a-z]/)
 .hasNotOwnProperty('constructor')
 .exception(function(){
 test.regexp(/[a-z]/).hasNotOwnProperty('lastIndex');
 })
;

hasKey(key [,value ]).

test
 .regexp(/[a-z]/)
 .hasKey('lastIndex')
 .hasKey('constructor')
 .exception(function(){
 test.regexp(/[a-z]/).hasKey('foo');
 })
;

notHasKey(key [,value]).

test
 .regexp(/[a-z]/)
 .notHasKey('foobar')
 .exception(function(){
 test.regexp(/[a-z]/).notHasKey('lastIndex');
 })
;

AltStyle によって変換されたページ (->オリジナル) /