You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: packages/astro-rss/src/index.ts
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -56,7 +56,7 @@ function mapGlobResult(items: GlobResult): Promise<RSSFeedItem[]> {
56
56
returnPromise.all(
57
57
Object.values(items).map(async(getInfo)=>{
58
58
const{ url, frontmatter }=awaitgetInfo();
59
-
if(!Boolean(url)){
59
+
if(url===undefined||url===null){
60
60
thrownewError(
61
61
`[RSS] When passing an import.meta.glob result directly, you can only glob ".md" files within /pages! Consider mapping the result to an array of RSSFeedItems. See the RSS docs for usage examples: https://docs.astro.build/en/guides/rss/#2-list-of-rss-feed-objects`
Copy file name to clipboardExpand all lines: packages/astro-rss/test/rss.test.js
+43-2Lines changed: 43 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,8 @@ const phpFeedItem = {
17
17
};
18
18
19
19
constweb1FeedItem={
20
-
link: '/web1',
20
+
// Should support empty string as a URL (possible for homepage route)
21
+
link: '',
21
22
title: 'Web 1.0',
22
23
pubDate: '1997-05-03',
23
24
description:
@@ -26,7 +27,7 @@ const web1FeedItem = {
26
27
27
28
// note: I spent 30 minutes looking for a nice node-based snapshot tool
28
29
// ...and I gave up. Enjoy big strings!
29
-
constvalidXmlResult=`<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title><![CDATA[My RSS feed]]></title><description><![CDATA[This sure is a nice RSS feed]]></description><link>https://example.com/</link><item><title><![CDATA[Remember PHP?]]></title><link>https://example.com/php/</link><guid>https://example.com/php/</guid><description><![CDATA[PHP is a general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1994.]]></description><pubDate>Tue, 03 May 1994 00:00:00 GMT</pubDate></item><item><title><![CDATA[Web 1.0]]></title><link>https://example.com/web1/</link><guid>https://example.com/web1/</guid><description><![CDATA[Web 1.0 is the term used for the earliest version of the Internet as it emerged from its origins with Defense Advanced Research Projects Agency (DARPA) and became, for the first time, a global network representing the future of digital communications.]]></description><pubDate>Sat, 03 May 1997 00:00:00 GMT</pubDate></item></channel></rss>`;
30
+
constvalidXmlResult=`<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title><![CDATA[My RSS feed]]></title><description><![CDATA[This sure is a nice RSS feed]]></description><link>https://example.com/</link><item><title><![CDATA[Remember PHP?]]></title><link>https://example.com/php/</link><guid>https://example.com/php/</guid><description><![CDATA[PHP is a general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1994.]]></description><pubDate>Tue, 03 May 1994 00:00:00 GMT</pubDate></item><item><title><![CDATA[Web 1.0]]></title><link>https://example.com/</link><guid>https://example.com/</guid><description><![CDATA[Web 1.0 is the term used for the earliest version of the Internet as it emerged from its origins with Defense Advanced Research Projects Agency (DARPA) and became, for the first time, a global network representing the future of digital communications.]]></description><pubDate>Sat, 03 May 1997 00:00:00 GMT</pubDate></item></channel></rss>`;
30
31
31
32
describe('rss',()=>{
32
33
it('should generate on valid RSSFeedItem array',async()=>{
@@ -160,5 +161,45 @@ describe('rss', () => {
160
161
chai.expect(err.message).to.contain('Required field [link] is missing');
161
162
}
162
163
});
164
+
165
+
it('should provide a good error message when passing glob result form outside pages/',async()=>{
0 commit comments