2
0

html2md_test.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package doc2x_test
  2. import (
  3. "testing"
  4. "github.com/labring/aiproxy/core/relay/adaptor/doc2x"
  5. )
  6. func TestHTMLTable2Md(t *testing.T) {
  7. t.Parallel()
  8. tables := []struct {
  9. name string
  10. html string
  11. expected string
  12. }{
  13. {
  14. name: "basic table",
  15. html: `<table><tr><td>sadsa</td><td/><td/></tr><tr><td/><td>sadasdsa</td><td>sad</td></tr><tr><td/><td/><td>dsadsadsa</td></tr><tr><td/><td/><td/></tr></table>`,
  16. expected: `| sadsa | | |
  17. | --- | --- | --- |
  18. | | sadasdsa | sad |
  19. | | | dsadsadsa |
  20. | | | |`,
  21. },
  22. {
  23. name: "simple table",
  24. html: `<table><tr><td>Header 1</td><td>Header 2</td></tr><tr><td>Data 1</td><td>Data 2</td></tr></table>`,
  25. expected: `| Header 1 | Header 2 |
  26. | --- | --- |
  27. | Data 1 | Data 2 |`,
  28. },
  29. {
  30. name: "empty table",
  31. html: `<table><tr><td></td><td></td></tr><tr><td></td><td></td></tr></table>`,
  32. expected: `| | |
  33. | --- | --- |
  34. | | |`,
  35. },
  36. }
  37. for _, tc := range tables {
  38. t.Run(tc.name, func(t *testing.T) {
  39. t.Parallel()
  40. result := doc2x.HTMLTable2Md(tc.html)
  41. if result != tc.expected {
  42. t.Errorf("Expected:\n%s\nGot:\n%s", tc.expected, result)
  43. }
  44. })
  45. }
  46. }
  47. // var htmlImage = `<img
  48. // src="https://cdn.noedgeai.com/01956426-b164-730d-a1fe-8be8972145d6_0.jpg?x=258&y=694&w=1132&h=826"/>`
  49. // func TestInlineMdImage(t *testing.T) {
  50. // t.Parallel()
  51. // result := doc2x.InlineMdImage(context.Background(), htmlImage)
  52. // t.Log(result)
  53. // }