File tree Expand file tree Collapse file tree 2 files changed +23
-2
lines changed Expand file tree Collapse file tree 2 files changed +23
-2
lines changed Original file line number Diff line number Diff line change 3
3
const common = require ( './common' ) ;
4
4
const Promise = require ( 'bluebird' ) ;
5
5
const yfm = require ( 'hexo-front-matter' ) ;
6
- const { extname } = require ( 'path' ) ;
6
+ const { extname, relative } = require ( 'path' ) ;
7
7
const { Pattern } = require ( 'hexo-util' ) ;
8
8
9
9
module . exports = ctx => {
@@ -84,7 +84,7 @@ module.exports = ctx => {
84
84
}
85
85
86
86
function processAsset ( file ) {
87
- const id = file . source . substring ( ctx . base_dir . length ) . replace ( / \\ / g, '/' ) ;
87
+ const id = relative ( ctx . base_dir , file . source ) . replace ( / \\ / g, '/' ) ;
88
88
const Asset = ctx . model ( 'Asset' ) ;
89
89
const doc = Asset . findById ( id ) ;
90
90
Original file line number Diff line number Diff line change @@ -83,7 +83,28 @@ describe('asset', () => {
83
83
return asset . remove ( ) ;
84
84
} ) . finally ( ( ) => fs . unlink ( file . source ) ) ;
85
85
} ) ;
86
+ it ( 'asset - type: create (when source path is configed to parent directory)' , ( ) => {
87
+ const file = newFile ( {
88
+ path : '../../source/foo.jpg' ,
89
+ type : 'create' ,
90
+ renderable : false
91
+ } ) ;
92
+
93
+ return fs . writeFile ( file . source , 'foo' ) . then ( ( ) => process ( file ) ) . then ( ( ) => {
94
+ const id = '../source/foo.jpg' ; // The id should a relative path,because the 'lib/models/assets.js' use asset path by joining base path with "_id" directly.
95
+ const asset = Asset . findById ( id ) ;
96
+
97
+ asset . _id . should . eql ( id ) ;
98
+ asset . path . should . eql ( file . path ) ;
99
+ asset . modified . should . be . true ;
100
+ asset . renderable . should . be . false ;
86
101
102
+ return asset . remove ( ) ;
103
+ } ) . finally ( ( ) => {
104
+ fs . unlink ( file . source ) ;
105
+ fs . rmdir ( pathFn . dirname ( file . source ) ) ;
106
+ } ) ;
107
+ } ) ;
87
108
it ( 'asset - type: update' , ( ) => {
88
109
const file = newFile ( {
89
110
path : 'foo.jpg' ,
You can’t perform that action at this time.
0 commit comments