2 var assert = require('assert')
3 var clone = require('../');
5 describe('regexp-clone', function(){
6 function hasEqualSource (a, b) {
8 assert.equal(a.source, b.source);
11 function isInsensitive (a) {
12 assert.ok(a.ignoreCase);
15 function isGlobal (a) {
19 function isMultiline (a) {
20 assert.ok(a.multiline);
23 function insensitiveFlag (a) {
30 function globalFlag (a) {
37 function multilineFlag (a) {
44 describe('literals', function(){
45 it('insensitive flag', function(done){
50 it('global flag', function(done){
55 it('multiline flag', function(done){
60 it('no flags', function(done){
64 assert.ok(!a.insensitive);
69 it('all flags', function(done){
78 describe('instances', function(){
79 it('insensitive flag', function(done){
80 var a = new RegExp('hello', 'i');
84 it('global flag', function(done){
85 var a = new RegExp('hello', 'g');
89 it('multiline flag', function(done){
90 var a = new RegExp('hello', 'm');
94 it('no flags', function(done){
95 var a = new RegExp('hmm');
98 assert.ok(!a.insensitive);
100 assert.ok(!a.global);
103 it('all flags', function(done){
104 var a = new RegExp('hello', 'gim');