@@ -62,7 +62,7 @@ describe('Page', function () {
62
62
} ,
63
63
] ;
64
64
65
- testDBUtil . generateFixture ( conn , 'Page' , fixture )
65
+ return testDBUtil . generateFixture ( conn , 'Page' , fixture )
66
66
. then ( function ( pages ) {
67
67
done ( ) ;
68
68
} ) ;
@@ -93,6 +93,43 @@ describe('Page', function () {
93
93
} ) ;
94
94
} ) ;
95
95
96
+ describe ( '.isCreatableName' , function ( ) {
97
+
98
+ expect ( Page . isCreatableName ( '/hoge' ) ) . to . be . true ;
99
+
100
+ // edge cases
101
+ expect ( Page . isCreatableName ( '/me' ) ) . to . be . false ;
102
+ expect ( Page . isCreatableName ( '/me/' ) ) . to . be . false ;
103
+ expect ( Page . isCreatableName ( '/me/x' ) ) . to . be . false ;
104
+ expect ( Page . isCreatableName ( '/meeting' ) ) . to . be . true ;
105
+ expect ( Page . isCreatableName ( '/meeting/x' ) ) . to . be . true ;
106
+
107
+ // under score
108
+ expect ( Page . isCreatableName ( '/_' ) ) . to . be . false ;
109
+ expect ( Page . isCreatableName ( '/_r/x' ) ) . to . be . false ;
110
+ expect ( Page . isCreatableName ( '/_api' ) ) . to . be . false ;
111
+ expect ( Page . isCreatableName ( '/_apix' ) ) . to . be . false ;
112
+ expect ( Page . isCreatableName ( '/_api/x' ) ) . to . be . false ;
113
+
114
+ expect ( Page . isCreatableName ( '/hoge/xx.md' ) ) . to . be . false ;
115
+
116
+
117
+ var forbidden = [ 'installer' , 'register' , 'login' , 'logout' , 'admin' , 'files' , 'trash' , 'paste' , 'comments' ] ;
118
+ for ( var i = 0 ; i < forbidden . length ; i ++ ) {
119
+ var pn = forbidden [ i ] ;
120
+ expect ( Page . isCreatableName ( '/' + pn + '' ) ) . to . be . false ;
121
+ expect ( Page . isCreatableName ( '/' + pn + '/' ) ) . to . be . false ;
122
+ expect ( Page . isCreatableName ( '/' + pn + '/abc' ) ) . to . be . false ;
123
+ }
124
+
125
+ var forbidden = [ 'bookmarks' , 'comments' , 'activities' , 'pages' , 'recent-create' , 'recent-edit' ] ;
126
+ for ( var i = 0 ; i < forbidden . length ; i ++ ) {
127
+ var pn = forbidden [ i ] ;
128
+ expect ( Page . isCreatableName ( '/user/aoi/' + pn ) ) . to . be . false ;
129
+ expect ( Page . isCreatableName ( '/user/aoi/x/' + pn ) ) . to . be . true ;
130
+ }
131
+ } ) ;
132
+
96
133
describe ( '.isCreator' , function ( ) {
97
134
context ( 'with creator' , function ( ) {
98
135
it ( 'should return true' , function ( done ) {
0 commit comments