Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Schempp <fabianschempp@googlemail.com>2021-06-25 08:57:24 +0300
committerFabian Schempp <fabianschempp@googlemail.com>2021-06-25 08:57:24 +0300
commitae085e301c2aac0d6956609bfe93a90a19f0e235 (patch)
tree38b86749807915a6b6d46504a2acb90e41a4a77a /source/blender/blenlib/tests
parent841df831e89dfc4011c323203c2efb8265dc1878 (diff)
Spreadsheet: Dataset region for spreadsheet editor
This patch adds a left aligned sidebar to the spreadsheet editor. This Sidebar can be used to navigate the geometry component types and attribute domains. It also provides a quick overview of domain sizes. It replaces the two dropdowns in the regions header. Next step will be to add the domain cycling shortcut using the CTRL + mouse wheel. Reviewer: Dalai Felinto (dfelinto), Julian Eisel (Severin), Hans Goudey (HooglyBoogly). Differential Revision: https://developer.blender.org/D11046
Diffstat (limited to 'source/blender/blenlib/tests')
-rw-r--r--source/blender/blenlib/tests/BLI_string_test.cc95
1 files changed, 95 insertions, 0 deletions
diff --git a/source/blender/blenlib/tests/BLI_string_test.cc b/source/blender/blenlib/tests/BLI_string_test.cc
index 0b68ee8b93c..ccd2d01be98 100644
--- a/source/blender/blenlib/tests/BLI_string_test.cc
+++ b/source/blender/blenlib/tests/BLI_string_test.cc
@@ -420,6 +420,101 @@ TEST(string, StrFormatByteUnits)
EXPECT_STREQ("-8191.8472 PiB", size_str);
}
+/* BLI_str_format_attribute_domain_size */
+TEST(string, StrFormatAttributeDomainSize)
+{
+ char size_str[7];
+ int size;
+
+ BLI_str_format_attribute_domain_size(size_str, size = 0);
+ EXPECT_STREQ("0", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 1);
+ EXPECT_STREQ("1", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 10);
+ EXPECT_STREQ("10", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 15);
+ EXPECT_STREQ("15", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 100);
+ EXPECT_STREQ("100", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 155);
+ EXPECT_STREQ("155", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 1000);
+ EXPECT_STREQ("1.0K", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 1555);
+ EXPECT_STREQ("1.6K", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 10000);
+ EXPECT_STREQ("10.0K", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 15555);
+ EXPECT_STREQ("15.6K", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 100000);
+ EXPECT_STREQ("100K", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 100000);
+ EXPECT_STREQ("100K", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 155555);
+ EXPECT_STREQ("156K", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 1000000);
+ EXPECT_STREQ("1.0M", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 1555555);
+ EXPECT_STREQ("1.6M", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 10000000);
+ EXPECT_STREQ("10.0M", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 15555555);
+ EXPECT_STREQ("15.6M", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 100000000);
+ EXPECT_STREQ("100M", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 155555555);
+ EXPECT_STREQ("156M", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = 1000000000);
+ EXPECT_STREQ("1.0B", size_str);
+
+ /* Largest possible value. */
+ BLI_str_format_attribute_domain_size(size_str, size = INT32_MAX);
+ EXPECT_STREQ("2.1B", size_str);
+
+ BLI_str_format_attribute_domain_size(size_str, size = -0);
+ EXPECT_STREQ("0", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -1);
+ EXPECT_STREQ("-1", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -10);
+ EXPECT_STREQ("-10", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -15);
+ EXPECT_STREQ("-15", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -100);
+ EXPECT_STREQ("-100", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -155);
+ EXPECT_STREQ("-155", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -1000);
+ EXPECT_STREQ("-1.0K", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -1555);
+ EXPECT_STREQ("-1.6K", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -10000);
+ EXPECT_STREQ("-10.0K", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -15555);
+ EXPECT_STREQ("-15.6K", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -100000);
+ EXPECT_STREQ("-100K", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -155555);
+ EXPECT_STREQ("-156K", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -1000000);
+ EXPECT_STREQ("-1.0M", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -1555555);
+ EXPECT_STREQ("-1.6M", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -10000000);
+ EXPECT_STREQ("-10.0M", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -15555555);
+ EXPECT_STREQ("-15.6M", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -100000000);
+ EXPECT_STREQ("-100M", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -155555555);
+ EXPECT_STREQ("-156M", size_str);
+ BLI_str_format_attribute_domain_size(size_str, size = -1000000000);
+ EXPECT_STREQ("-1.0B", size_str);
+
+ /* Smallest possible value. */
+ BLI_str_format_attribute_domain_size(size_str, size = -INT32_MAX);
+ EXPECT_STREQ("-2.1B", size_str);
+}
+
struct WordInfo {
WordInfo() = default;
WordInfo(int start, int end) : start(start), end(end)