2024 年 Clojure 调查问卷! 中分享您的想法。

欢迎!请参阅 关于 页面了解更多有关如何使用该网站的信息。

0
data.xml

这个问题很奇怪,我不确定如何提供可重复出现的例子。但基本来说,当我尝试在 ARM64 上构建 data.xml,当运行测试时,其中两个测试失败了。当我在 X64 架构上进行相同的操作时,没有发生这样的错误。

Testing clojure.data.xml.test-emit

FAIL in (test-indent-str) (test_emit.clj:123)
expected: (= expect (indent-str nested-xml))
actual: (not (= "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<a>\n  <b>\n    <c>\n      <d>foo</d>\n    </c>\n  </b>\n</a>\n" "<?xml version=\"1.0\" encoding=\"UTF-8\"?><a>\n  <b>\n    <c>\n      <d>foo</d>\n    </c>\n  </b>\n</a>\n"))

FAIL in (test-indent) (test_emit.clj:131)
expected: (= expect (.toString sw))
actual: (not (= "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<a>\n  <b>\n    <c>\n      <d>foo</d>\n    </c>\n  </b>\n</a>\n" "<?xml version=\"1.0\" encoding=\"UTF-8\"?><a>\n  <b>\n    <c>\n      <d>foo</d>\n    </c>\n  </b>\n</a>\n"))

Ran 9 tests containing 12 assertions.
2 failures, 0 errors.

在 ARM64 上的缩进差异似乎是 XML 声明后缺少一个换行符

"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<a>\n  <b>\n    <c>\n      <d>foo</d>\n    </c>\n  </b>\n</a>\n"
"<?xml version=\"1.0\" encoding=\"UTF-8\"?><a>\n  <b>\n    <c>\n      <d>foo</d>\n    </c>\n  </b>\n</a>\n"

3 个答案

+1
 
最佳答案

原来我使用的是较旧版本,新版本中没有这个问题。

对其他感兴趣的人来说,我也查看了有什么改变,新版本添加了这一行:[链接](https://github.com/clojure/data.xml/blob/0a26f131658c58d16a20175ca0bba40330ce33c0/src/main/clojure/clojure/data/xml/jvm/pprint.clj#L21),它似乎也解决了 AARCH64 的问题。

非常好的教育性答案。在这个提交中有一个非常有趣的评论。
0

具体的Java版本是什么?

0

您使用的是哪个版本的 data.xml 源代码提交,您对它进行了任何修改吗?使用最新的 data.xml 版本,那些测试看起来应该省略在字符串比较之前出现的第一次 "" 之前的内容,所以报告中将 "" 部分包括在内,这尤其令人困惑。

...