def test_list(self): env = create_env() linter = CMakeLinter(env) info = LintInfo(env) linter._handle_list(info, ["APPEND", "test", "one"]) self.assertEqual(info.var["test"], "one") linter._handle_list(info, ["APPEND", "test", "three"]) self.assertEqual(info.var["test"], "one;three") linter._handle_list(info, ["INSERT", "test", "1", "two"]) self.assertEqual(info.var["test"], "one;two;three") linter._handle_list(info, ["GET", "test", "1", "result"]) self.assertEqual(info.var["result"], "two") linter._handle_list(info, ["GET", "test", "42", "result"]) self.assertEqual(info.var["result"], "") linter._handle_list(info, ["FIND", "test", "none", "result"]) self.assertEqual(info.var["result"], "-1") linter._handle_list(info, ["FIND", "test", "two", "result"]) self.assertEqual(info.var["result"], "1") info.var["test"] = "one;two;three;one;four;five" linter._handle_list(info, ["REMOVE_DUPLICATES", "test"]) self.assertEqual(info.var["test"], "one;two;three;four;five") linter._handle_list(info, ["REMOVE_AT", "test", "15", "0", "4", "2"]) self.assertEqual(info.var["test"], "two;four") linter._handle_list(info, ["APPEND", "test", "two"]) linter._handle_list(info, ["REMOVE_ITEM", "test", "two"]) self.assertEqual(info.var["test"], "four") info.var["test"] = "1;3;2;6;5;4" linter._handle_list(info, ["SORT", "test"]) self.assertEqual(info.var["test"], "1;2;3;4;5;6") linter._handle_list(info, ["REVERSE", "test"]) self.assertEqual(info.var["test"], "6;5;4;3;2;1") info.var["test"] = "one;two;three" linter._handle_list(info, ["UNKNOWN", "test"]) self.assertEqual(info.var["test"], "one;two;three") linter._handle_list(info, []) self.assertEqual(info.var["test"], "one;two;three")
def test_list(self): env = create_env() linter = CMakeLinter(env) info = LintInfo(env) linter._handle_list(info, ["APPEND", "test", "one"]) self.assertEqual(info.var["test"], "one") linter._handle_list(info, ["APPEND", "test", "three"]) self.assertEqual(info.var["test"], "one;three") linter._handle_list(info, ["INSERT", "test", "1", "two"]) self.assertEqual(info.var["test"], "one;two;three") linter._handle_list(info, ["GET", "test", "1", "result"]) self.assertEqual(info.var["result"], "two") linter._handle_list(info, ["GET", "test", "42", "result"]) self.assertEqual(info.var["result"], "") linter._handle_list(info, ["FIND", "test", "none", "result"]) self.assertEqual(info.var["result"], "-1") linter._handle_list(info, ["FIND", "test", "two", "result"]) self.assertEqual(info.var["result"], "1") info.var["test"] = "one;two;three;one;four;five" linter._handle_list(info, ["REMOVE_DUPLICATES", "test"]) self.assertEqual(info.var["test"], "one;two;three;four;five") linter._handle_list(info, ["REMOVE_AT", "test", "15", "0", "4", "2"]) self.assertEqual(info.var["test"], "two;four") linter._handle_list(info, ["APPEND", "test", "two"]) linter._handle_list(info, ["REMOVE_ITEM", "test", "two"]) self.assertEqual(info.var["test"], "four") info.var["test"] = "1;3;2;6;5;4" linter._handle_list(info, ["SORT", "test"]) self.assertEqual(info.var["test"], "1;2;3;4;5;6") linter._handle_list(info, ["REVERSE", "test"]) self.assertEqual(info.var["test"], "6;5;4;3;2;1") info.var["test"] = "one;two;three" linter._handle_list(info, ["UNKNOWN", "test"]) self.assertEqual(info.var["test"], "one;two;three") linter._handle_list(info, []) self.assertEqual(info.var["test"], "one;two;three")
def test_list(self): """Test CMake list handling""" env = create_env() linter = CMakeLinter(env) info = LintInfo(env) linter._handle_list(info, ["APPEND", "test", "one"]) self.assertEqual(info.var["test"], "one") linter._handle_list(info, ["APPEND", "test", "three"]) self.assertEqual(info.var["test"], "one;three") linter._handle_list(info, ["INSERT", "test", "1", "two"]) self.assertEqual(info.var["test"], "one;two;three") linter._handle_list(info, ["GET", "test", "1", "result"]) self.assertEqual(info.var["result"], "two") linter._handle_list(info, ["GET", "test", "42", "result"]) self.assertEqual(info.var["result"], "") linter._handle_list(info, ["FIND", "test", "none", "result"]) self.assertEqual(info.var["result"], "-1") linter._handle_list(info, ["FIND", "test", "two", "result"]) self.assertEqual(info.var["result"], "1") linter._handle_list(info, ["PREPEND", "test", "zero"]) self.assertEqual(info.var["test"], "zero;one;two;three") linter._handle_list(info, ["POP_FRONT", "test"]) self.assertEqual(info.var["test"], "one;two;three") linter._handle_list(info, ["POP_BACK", "test"]) self.assertEqual(info.var["test"], "one;two") info.var["test"] = "one;two;three;four;five" linter._handle_list(info, ["POP_FRONT", "test", "v1", "v2"]) self.assertEqual(info.var["test"], "three;four;five") self.assertEqual(info.var["v1"], "one") self.assertEqual(info.var["v2"], "two") linter._handle_list(info, ["POP_BACK", "test", "v1", "v2"]) self.assertEqual(info.var["test"], "three") self.assertEqual(info.var["v1"], "five") self.assertEqual(info.var["v2"], "four") info.var["test"] = "one;two;three;one;four;five" linter._handle_list(info, ["REMOVE_DUPLICATES", "test"]) self.assertEqual(info.var["test"], "one;two;three;four;five") linter._handle_list(info, ["JOIN", "test", "+", "result"]) self.assertEqual(info.var["result"], "one+two+three+four+five") linter._handle_list(info, ["SUBLIST", "test", "2", "2", "result"]) self.assertEqual(info.var["result"], "three;four") linter._handle_list(info, ["SUBLIST", "test", "-2", "3", "result"]) self.assertEqual(info.var["result"], "four;five") linter._handle_list(info, ["SUBLIST", "test", "0", "-1", "result"]) self.assertEqual(info.var["result"], "one;two;three;four;five") linter._handle_list(info, ["REMOVE_AT", "test", "15", "0", "4", "2"]) self.assertEqual(info.var["test"], "two;four") linter._handle_list(info, ["APPEND", "test", "two"]) linter._handle_list(info, ["REMOVE_ITEM", "test", "two"]) self.assertEqual(info.var["test"], "four") info.var["test"] = "1;3;2;6;5;4" linter._handle_list(info, ["SORT", "test"]) self.assertEqual(info.var["test"], "1;2;3;4;5;6") linter._handle_list(info, ["REVERSE", "test"]) self.assertEqual(info.var["test"], "6;5;4;3;2;1") info.var["test"] = "one;two;three" linter._handle_list(info, ["UNKNOWN", "test"]) self.assertEqual(info.var["test"], "one;two;three") linter._handle_list(info, []) self.assertEqual(info.var["test"], "one;two;three")