about summary refs log tree commit diff
path: root/__tests__/lib
diff options
context:
space:
mode:
Diffstat (limited to '__tests__/lib')
-rw-r--r--__tests__/lib/link-meta.test.ts104
-rw-r--r--__tests__/lib/string.test.ts14
2 files changed, 10 insertions, 108 deletions
diff --git a/__tests__/lib/link-meta.test.ts b/__tests__/lib/link-meta.test.ts
index f0ca7a9d4..504b11c22 100644
--- a/__tests__/lib/link-meta.test.ts
+++ b/__tests__/lib/link-meta.test.ts
@@ -1,106 +1,4 @@
-import {
-  LikelyType,
-  getLinkMeta,
-  getLikelyType,
-} from '../../src/lib/link-meta/link-meta'
-import {exampleComHtml} from './__mocks__/exampleComHtml'
-import {BskyAgent} from '@atproto/api'
-import {DEFAULT_SERVICE, RootStoreModel} from '../../src/state'
-
-describe('getLinkMeta', () => {
-  let rootStore: RootStoreModel
-
-  beforeEach(() => {
-    rootStore = new RootStoreModel(new BskyAgent({service: DEFAULT_SERVICE}))
-  })
-
-  const inputs = [
-    '',
-    'httpbadurl',
-    'https://example.com',
-    'https://example.com/index.html',
-    'https://example.com/image.png',
-    'https://example.com/video.avi',
-    'https://example.com/audio.ogg',
-    'https://example.com/text.txt',
-    'https://example.com/javascript.js',
-    'https://bsky.app/',
-    'https://bsky.app/index.html',
-  ]
-  const outputs = [
-    {
-      error: 'Invalid URL',
-      likelyType: LikelyType.Other,
-      url: '',
-    },
-    {
-      error: 'Invalid URL',
-      likelyType: LikelyType.Other,
-      url: 'httpbadurl',
-    },
-    {
-      likelyType: LikelyType.HTML,
-      url: 'https://example.com',
-      title: 'Example Domain',
-      description: 'An example website',
-    },
-    {
-      likelyType: LikelyType.HTML,
-      url: 'https://example.com/index.html',
-      title: 'Example Domain',
-      description: 'An example website',
-    },
-    {
-      likelyType: LikelyType.Image,
-      url: 'https://example.com/image.png',
-    },
-    {
-      likelyType: LikelyType.Video,
-      url: 'https://example.com/video.avi',
-    },
-    {
-      likelyType: LikelyType.Audio,
-      url: 'https://example.com/audio.ogg',
-    },
-    {
-      likelyType: LikelyType.Text,
-      url: 'https://example.com/text.txt',
-    },
-    {
-      likelyType: LikelyType.Other,
-      url: 'https://example.com/javascript.js',
-    },
-    {
-      likelyType: LikelyType.AtpData,
-      url: '/',
-    },
-    {
-      likelyType: LikelyType.AtpData,
-      url: '/index.html',
-    },
-    {
-      likelyType: LikelyType.Other,
-      url: '',
-      title: '',
-    },
-  ]
-  it('correctly handles a set of text inputs', async () => {
-    for (let i = 0; i < inputs.length; i++) {
-      global.fetch = jest.fn().mockImplementationOnce(() => {
-        return new Promise((resolve, _reject) => {
-          resolve({
-            ok: true,
-            status: 200,
-            text: () => exampleComHtml,
-          })
-        })
-      })
-      const input = inputs[i]
-      const output = await getLinkMeta(rootStore, input)
-      expect(output).toEqual(outputs[i])
-    }
-  })
-})
+import {LikelyType, getLikelyType} from '../../src/lib/link-meta/link-meta'
 
 describe('getLikelyType', () => {
   it('correctly handles non-parsed url', async () => {
diff --git a/__tests__/lib/string.test.ts b/__tests__/lib/string.test.ts
index f25bd02a7..75d7b8421 100644
--- a/__tests__/lib/string.test.ts
+++ b/__tests__/lib/string.test.ts
@@ -48,7 +48,7 @@ describe('detectLinkables', () => {
     'Classic article https://socket3.wordpress.com/2018/02/03/designing-windows-95s-user-interface/ ',
     'https://foo.com https://bar.com/whatever https://baz.com',
     'punctuation https://foo.com, https://bar.com/whatever; https://baz.com.',
-    'parenthentical (https://foo.com)',
+    'parenthetical (https://foo.com)',
     'except for https://foo.com/thing_(cool)',
   ]
   const outputs = [
@@ -112,7 +112,7 @@ describe('detectLinkables', () => {
       {link: 'https://baz.com'},
       '.',
     ],
-    ['parenthentical (', {link: 'https://foo.com'}, ')'],
+    ['parenthetical (', {link: 'https://foo.com'}, ')'],
     ['except for ', {link: 'https://foo.com/thing_(cool)'}],
   ]
   it('correctly handles a set of text inputs', () => {
@@ -176,16 +176,20 @@ describe('ago', () => {
     new Date().setMinutes(new Date().getMinutes() - 10),
     new Date().setHours(new Date().getHours() - 1),
     new Date().setDate(new Date().getDate() - 1),
+    new Date().setDate(new Date().getDate() - 6),
+    new Date().setDate(new Date().getDate() - 7),
     new Date().setMonth(new Date().getMonth() - 1),
   ]
   const outputs = [
-    new Date(1671461038).toLocaleDateString(),
-    new Date('04 Dec 1995 00:12:00 GMT').toLocaleDateString(),
+    new Date(1671461038).toLocaleDateString('en-us', {year: 'numeric', month: 'short', day: 'numeric'}),
+    new Date('04 Dec 1995 00:12:00 GMT').toLocaleDateString('en-us', {year: 'numeric', month: 'short', day: 'numeric'}),
     '0s',
     '10m',
     '1h',
     '1d',
-    '1mo',
+    '6d',
+    new Date(new Date().setDate(new Date().getDate() - 7)).toLocaleDateString('en-us', {year: 'numeric', month: 'short', day: 'numeric'}),
+    new Date(new Date().setMonth(new Date().getMonth() - 1)).toLocaleDateString('en-us', {year: 'numeric', month: 'short', day: 'numeric'}),
   ]
 
   it('correctly calculates how much time passed, in a string', () => {